aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-12-28 09:27:07 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2015-01-25 23:16:27 -0500
commitf4a4a8b1252a08b60cde66a6622bbca4a7f4af2e (patch)
tree883f53870ed0ad1c9a3529e7cbfd009e2189e27f /kernel
parent5e9e2040247ac19a46d6627736ece726c46f1fdf (diff)
file->f_path.dentry is pinned down for as long as the file is open...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/auditsc.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 072566dd0caf..55f82fce2526 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -2405,7 +2405,6 @@ int __audit_log_bprm_fcaps(struct linux_binprm *bprm,
2405 struct audit_aux_data_bprm_fcaps *ax; 2405 struct audit_aux_data_bprm_fcaps *ax;
2406 struct audit_context *context = current->audit_context; 2406 struct audit_context *context = current->audit_context;
2407 struct cpu_vfs_cap_data vcaps; 2407 struct cpu_vfs_cap_data vcaps;
2408 struct dentry *dentry;
2409 2408
2410 ax = kmalloc(sizeof(*ax), GFP_KERNEL); 2409 ax = kmalloc(sizeof(*ax), GFP_KERNEL);
2411 if (!ax) 2410 if (!ax)
@@ -2415,9 +2414,7 @@ int __audit_log_bprm_fcaps(struct linux_binprm *bprm,
2415 ax->d.next = context->aux; 2414 ax->d.next = context->aux;
2416 context->aux = (void *)ax; 2415 context->aux = (void *)ax;
2417 2416
2418 dentry = dget(bprm->file->f_path.dentry); 2417 get_vfs_caps_from_disk(bprm->file->f_path.dentry, &vcaps);
2419 get_vfs_caps_from_disk(dentry, &vcaps);
2420 dput(dentry);
2421 2418
2422 ax->fcap.permitted = vcaps.permitted; 2419 ax->fcap.permitted = vcaps.permitted;
2423 ax->fcap.inheritable = vcaps.inheritable; 2420 ax->fcap.inheritable = vcaps.inheritable;