diff options
Diffstat (limited to 'security/commoncap.c')
-rw-r--r-- | security/commoncap.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/security/commoncap.c b/security/commoncap.c index 2915d8503054..f66713bd7450 100644 --- a/security/commoncap.c +++ b/security/commoncap.c | |||
@@ -434,7 +434,6 @@ int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data | |||
434 | */ | 434 | */ |
435 | static int get_file_caps(struct linux_binprm *bprm, bool *effective, bool *has_cap) | 435 | static int get_file_caps(struct linux_binprm *bprm, bool *effective, bool *has_cap) |
436 | { | 436 | { |
437 | struct dentry *dentry; | ||
438 | int rc = 0; | 437 | int rc = 0; |
439 | struct cpu_vfs_cap_data vcaps; | 438 | struct cpu_vfs_cap_data vcaps; |
440 | 439 | ||
@@ -446,9 +445,7 @@ static int get_file_caps(struct linux_binprm *bprm, bool *effective, bool *has_c | |||
446 | if (bprm->file->f_path.mnt->mnt_flags & MNT_NOSUID) | 445 | if (bprm->file->f_path.mnt->mnt_flags & MNT_NOSUID) |
447 | return 0; | 446 | return 0; |
448 | 447 | ||
449 | dentry = dget(bprm->file->f_path.dentry); | 448 | rc = get_vfs_caps_from_disk(bprm->file->f_path.dentry, &vcaps); |
450 | |||
451 | rc = get_vfs_caps_from_disk(dentry, &vcaps); | ||
452 | if (rc < 0) { | 449 | if (rc < 0) { |
453 | if (rc == -EINVAL) | 450 | if (rc == -EINVAL) |
454 | printk(KERN_NOTICE "%s: get_vfs_caps_from_disk returned %d for %s\n", | 451 | printk(KERN_NOTICE "%s: get_vfs_caps_from_disk returned %d for %s\n", |
@@ -464,7 +461,6 @@ static int get_file_caps(struct linux_binprm *bprm, bool *effective, bool *has_c | |||
464 | __func__, rc, bprm->filename); | 461 | __func__, rc, bprm->filename); |
465 | 462 | ||
466 | out: | 463 | out: |
467 | dput(dentry); | ||
468 | if (rc) | 464 | if (rc) |
469 | bprm_clear_caps(bprm); | 465 | bprm_clear_caps(bprm); |
470 | 466 | ||