X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=security%2Fcommoncap.c;h=3976613db829044ab435ee21b7a6ad2161a6441c;hb=1f8f5cf6e4f038552a3e47b66085452c08556d71;hp=e4c4b3fc0c04e49e553610a8bd4d433e55e9212a;hpb=5cd9c58fbe9ec92b45b27e131719af4f2bd9eb40;p=safe%2Fjmp%2Flinux-2.6 diff --git a/security/commoncap.c b/security/commoncap.c index e4c4b3f..3976613 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -279,10 +279,10 @@ static int get_file_caps(struct linux_binprm *bprm) struct vfs_cap_data vcaps; struct inode *inode; - if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID) { - bprm_clear_caps(bprm); + bprm_clear_caps(bprm); + + if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID) return 0; - } dentry = dget(bprm->file->f_dentry); inode = dentry->d_inode; @@ -541,7 +541,7 @@ int cap_task_post_setuid (uid_t old_ruid, uid_t old_euid, uid_t old_suid, * yet with increased caps. * So we check for increased caps on the target process. */ -static inline int cap_safe_nice(struct task_struct *p) +static int cap_safe_nice(struct task_struct *p) { if (!cap_issubset(p->cap_permitted, current->cap_permitted) && !capable(CAP_SYS_NICE))