diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2014-10-31 01:22:04 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-11-19 13:01:25 -0500 |
| commit | b583043e99bc6d91e98fae32bd9eff6a5958240a (patch) | |
| tree | 8f2f9a4d28ae16c7d452808ff400bb1f31fb09c8 | |
| parent | 30e46aba8f1010b03178f04c0c56be299c063df2 (diff) | |
kill f_dentry uses
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| -rw-r--r-- | drivers/block/drbd/drbd_debugfs.c | 6 | ||||
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_debugfs.c | 4 | ||||
| -rw-r--r-- | drivers/staging/lustre/lustre/llite/file.c | 12 | ||||
| -rw-r--r-- | fs/ceph/dir.c | 6 | ||||
| -rw-r--r-- | fs/ceph/file.c | 2 | ||||
| -rw-r--r-- | fs/cifs/readdir.c | 2 | ||||
| -rw-r--r-- | fs/ecryptfs/crypto.c | 2 | ||||
| -rw-r--r-- | fs/ecryptfs/mmap.c | 2 | ||||
| -rw-r--r-- | fs/efivarfs/file.c | 4 | ||||
| -rw-r--r-- | fs/sync.c | 2 | ||||
| -rw-r--r-- | include/linux/cgroup.h | 4 | ||||
| -rw-r--r-- | kernel/auditsc.c | 2 | ||||
| -rw-r--r-- | kernel/events/core.c | 2 | ||||
| -rw-r--r-- | kernel/taskstats.c | 2 | ||||
| -rw-r--r-- | mm/memcontrol.c | 4 | ||||
| -rw-r--r-- | security/commoncap.c | 2 | ||||
| -rw-r--r-- | security/integrity/ima/ima_api.c | 4 | ||||
| -rw-r--r-- | security/integrity/ima/ima_appraise.c | 4 | ||||
| -rw-r--r-- | security/integrity/ima/ima_template_lib.c | 2 |
19 files changed, 31 insertions, 37 deletions
diff --git a/drivers/block/drbd/drbd_debugfs.c b/drivers/block/drbd/drbd_debugfs.c index 900d4d3272d1..9a950022ff88 100644 --- a/drivers/block/drbd/drbd_debugfs.c +++ b/drivers/block/drbd/drbd_debugfs.c | |||
| @@ -419,7 +419,7 @@ static int in_flight_summary_show(struct seq_file *m, void *pos) | |||
| 419 | return 0; | 419 | return 0; |
| 420 | } | 420 | } |
| 421 | 421 | ||
| 422 | /* simple_positive(file->f_dentry) respectively debugfs_positive(), | 422 | /* simple_positive(file->f_path.dentry) respectively debugfs_positive(), |
| 423 | * but neither is "reachable" from here. | 423 | * but neither is "reachable" from here. |
| 424 | * So we have our own inline version of it above. :-( */ | 424 | * So we have our own inline version of it above. :-( */ |
| 425 | static inline int debugfs_positive(struct dentry *dentry) | 425 | static inline int debugfs_positive(struct dentry *dentry) |
| @@ -437,14 +437,14 @@ static int drbd_single_open(struct file *file, int (*show)(struct seq_file *, vo | |||
| 437 | 437 | ||
| 438 | /* Are we still linked, | 438 | /* Are we still linked, |
| 439 | * or has debugfs_remove() already been called? */ | 439 | * or has debugfs_remove() already been called? */ |
| 440 | parent = file->f_dentry->d_parent; | 440 | parent = file->f_path.dentry->d_parent; |
| 441 | /* not sure if this can happen: */ | 441 | /* not sure if this can happen: */ |
| 442 | if (!parent || !parent->d_inode) | 442 | if (!parent || !parent->d_inode) |
| 443 | goto out; | 443 | goto out; |
| 444 | /* serialize with d_delete() */ | 444 | /* serialize with d_delete() */ |
| 445 | mutex_lock(&parent->d_inode->i_mutex); | 445 | mutex_lock(&parent->d_inode->i_mutex); |
| 446 | /* Make sure the object is still alive */ | 446 | /* Make sure the object is still alive */ |
| 447 | if (debugfs_positive(file->f_dentry) | 447 | if (debugfs_positive(file->f_path.dentry) |
| 448 | && kref_get_unless_zero(kref)) | 448 | && kref_get_unless_zero(kref)) |
| 449 | ret = 0; | 449 | ret = 0; |
| 450 | mutex_unlock(&parent->d_inode->i_mutex); | 450 | mutex_unlock(&parent->d_inode->i_mutex); |
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c index 1311ab15243e..5633e7dadc08 100644 --- a/drivers/scsi/lpfc/lpfc_debugfs.c +++ b/drivers/scsi/lpfc/lpfc_debugfs.c | |||
| @@ -1011,7 +1011,7 @@ static ssize_t | |||
| 1011 | lpfc_debugfs_dif_err_read(struct file *file, char __user *buf, | 1011 | lpfc_debugfs_dif_err_read(struct file *file, char __user *buf, |
| 1012 | size_t nbytes, loff_t *ppos) | 1012 | size_t nbytes, loff_t *ppos) |
| 1013 | { | 1013 | { |
| 1014 | struct dentry *dent = file->f_dentry; | 1014 | struct dentry *dent = file->f_path.dentry; |
| 1015 | struct lpfc_hba *phba = file->private_data; | 1015 | struct lpfc_hba *phba = file->private_data; |
| 1016 | char cbuf[32]; | 1016 | char cbuf[32]; |
| 1017 | uint64_t tmp = 0; | 1017 | uint64_t tmp = 0; |
| @@ -1052,7 +1052,7 @@ static ssize_t | |||
| 1052 | lpfc_debugfs_dif_err_write(struct file *file, const char __user *buf, | 1052 | lpfc_debugfs_dif_err_write(struct file *file, const char __user *buf, |
| 1053 | size_t nbytes, loff_t *ppos) | 1053 | size_t nbytes, loff_t *ppos) |
| 1054 | { | 1054 | { |
| 1055 | struct dentry *dent = file->f_dentry; | 1055 | struct dentry *dent = file->f_path.dentry; |
| 1056 | struct lpfc_hba *phba = file->private_data; | 1056 | struct lpfc_hba *phba = file->private_data; |
| 1057 | char dstbuf[32]; | 1057 | char dstbuf[32]; |
| 1058 | uint64_t tmp = 0; | 1058 | uint64_t tmp = 0; |
diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c index c99b74117152..08e77492da8f 100644 --- a/drivers/staging/lustre/lustre/llite/file.c +++ b/drivers/staging/lustre/lustre/llite/file.c | |||
| @@ -2092,7 +2092,7 @@ putgl: | |||
| 2092 | rc = 0; | 2092 | rc = 0; |
| 2093 | if (llss->ia2.ia_valid != 0) { | 2093 | if (llss->ia2.ia_valid != 0) { |
| 2094 | mutex_lock(&llss->inode1->i_mutex); | 2094 | mutex_lock(&llss->inode1->i_mutex); |
| 2095 | rc = ll_setattr(file1->f_dentry, &llss->ia2); | 2095 | rc = ll_setattr(file1->f_path.dentry, &llss->ia2); |
| 2096 | mutex_unlock(&llss->inode1->i_mutex); | 2096 | mutex_unlock(&llss->inode1->i_mutex); |
| 2097 | } | 2097 | } |
| 2098 | 2098 | ||
| @@ -2100,7 +2100,7 @@ putgl: | |||
| 2100 | int rc1; | 2100 | int rc1; |
| 2101 | 2101 | ||
| 2102 | mutex_lock(&llss->inode2->i_mutex); | 2102 | mutex_lock(&llss->inode2->i_mutex); |
| 2103 | rc1 = ll_setattr(file2->f_dentry, &llss->ia1); | 2103 | rc1 = ll_setattr(file2->f_path.dentry, &llss->ia1); |
| 2104 | mutex_unlock(&llss->inode2->i_mutex); | 2104 | mutex_unlock(&llss->inode2->i_mutex); |
| 2105 | if (rc == 0) | 2105 | if (rc == 0) |
| 2106 | rc = rc1; | 2106 | rc = rc1; |
| @@ -2185,7 +2185,7 @@ static int ll_hsm_import(struct inode *inode, struct file *file, | |||
| 2185 | 2185 | ||
| 2186 | mutex_lock(&inode->i_mutex); | 2186 | mutex_lock(&inode->i_mutex); |
| 2187 | 2187 | ||
| 2188 | rc = ll_setattr_raw(file->f_dentry, attr, true); | 2188 | rc = ll_setattr_raw(file->f_path.dentry, attr, true); |
| 2189 | if (rc == -ENODATA) | 2189 | if (rc == -ENODATA) |
| 2190 | rc = 0; | 2190 | rc = 0; |
| 2191 | 2191 | ||
| @@ -2622,12 +2622,6 @@ int cl_sync_file_range(struct inode *inode, loff_t start, loff_t end, | |||
| 2622 | return result; | 2622 | return result; |
| 2623 | } | 2623 | } |
| 2624 | 2624 | ||
| 2625 | /* | ||
| 2626 | * When dentry is provided (the 'else' case), *file->f_dentry may be | ||
| 2627 | * null and dentry must be used directly rather than pulled from | ||
| 2628 | * *file->f_dentry as is done otherwise. | ||
| 2629 | */ | ||
| 2630 | |||
| 2631 | int ll_fsync(struct file *file, loff_t start, loff_t end, int datasync) | 2625 | int ll_fsync(struct file *file, loff_t start, loff_t end, int datasync) |
| 2632 | { | 2626 | { |
| 2633 | struct dentry *dentry = file->f_dentry; | 2627 | struct dentry *dentry = file->f_dentry; |
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 766ec35f988e..681a8537b64f 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c | |||
| @@ -123,7 +123,7 @@ static int __dcache_readdir(struct file *file, struct dir_context *ctx, | |||
| 123 | u32 shared_gen) | 123 | u32 shared_gen) |
| 124 | { | 124 | { |
| 125 | struct ceph_file_info *fi = file->private_data; | 125 | struct ceph_file_info *fi = file->private_data; |
| 126 | struct dentry *parent = file->f_dentry; | 126 | struct dentry *parent = file->f_path.dentry; |
| 127 | struct inode *dir = parent->d_inode; | 127 | struct inode *dir = parent->d_inode; |
| 128 | struct list_head *p; | 128 | struct list_head *p; |
| 129 | struct dentry *dentry, *last; | 129 | struct dentry *dentry, *last; |
| @@ -274,7 +274,7 @@ static int ceph_readdir(struct file *file, struct dir_context *ctx) | |||
| 274 | off = 1; | 274 | off = 1; |
| 275 | } | 275 | } |
| 276 | if (ctx->pos == 1) { | 276 | if (ctx->pos == 1) { |
| 277 | ino_t ino = parent_ino(file->f_dentry); | 277 | ino_t ino = parent_ino(file->f_path.dentry); |
| 278 | dout("readdir off 1 -> '..'\n"); | 278 | dout("readdir off 1 -> '..'\n"); |
| 279 | if (!dir_emit(ctx, "..", 2, | 279 | if (!dir_emit(ctx, "..", 2, |
| 280 | ceph_translate_ino(inode->i_sb, ino), | 280 | ceph_translate_ino(inode->i_sb, ino), |
| @@ -337,7 +337,7 @@ more: | |||
| 337 | } | 337 | } |
| 338 | req->r_inode = inode; | 338 | req->r_inode = inode; |
| 339 | ihold(inode); | 339 | ihold(inode); |
| 340 | req->r_dentry = dget(file->f_dentry); | 340 | req->r_dentry = dget(file->f_path.dentry); |
| 341 | /* hints to request -> mds selection code */ | 341 | /* hints to request -> mds selection code */ |
| 342 | req->r_direct_mode = USE_AUTH_MDS; | 342 | req->r_direct_mode = USE_AUTH_MDS; |
| 343 | req->r_direct_hash = ceph_frag_value(frag); | 343 | req->r_direct_hash = ceph_frag_value(frag); |
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index db2c967950f7..9f8e3572040e 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c | |||
| @@ -211,7 +211,7 @@ int ceph_open(struct inode *inode, struct file *file) | |||
| 211 | 211 | ||
| 212 | req->r_num_caps = 1; | 212 | req->r_num_caps = 1; |
| 213 | if (flags & O_CREAT) | 213 | if (flags & O_CREAT) |
| 214 | parent_inode = ceph_get_dentry_parent_inode(file->f_dentry); | 214 | parent_inode = ceph_get_dentry_parent_inode(file->f_path.dentry); |
| 215 | err = ceph_mdsc_do_request(mdsc, parent_inode, req); | 215 | err = ceph_mdsc_do_request(mdsc, parent_inode, req); |
| 216 | iput(parent_inode); | 216 | iput(parent_inode); |
| 217 | if (!err) | 217 | if (!err) |
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index d19f1996a6ea..d116ca8ce4c0 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c | |||
| @@ -753,7 +753,7 @@ static int cifs_filldir(char *find_entry, struct file *file, | |||
| 753 | */ | 753 | */ |
| 754 | fattr.cf_flags |= CIFS_FATTR_NEED_REVAL; | 754 | fattr.cf_flags |= CIFS_FATTR_NEED_REVAL; |
| 755 | 755 | ||
| 756 | cifs_prime_dcache(file->f_dentry, &name, &fattr); | 756 | cifs_prime_dcache(file->f_path.dentry, &name, &fattr); |
| 757 | 757 | ||
| 758 | ino = cifs_uniqueid_to_ino_t(fattr.cf_uniqueid); | 758 | ino = cifs_uniqueid_to_ino_t(fattr.cf_uniqueid); |
| 759 | return !dir_emit(ctx, name.name, name.len, ino, fattr.cf_dtype); | 759 | return !dir_emit(ctx, name.name, name.len, ino, fattr.cf_dtype); |
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 2f6735dbf1a9..c2d6604667b0 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c | |||
| @@ -1373,7 +1373,7 @@ out: | |||
| 1373 | int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode) | 1373 | int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode) |
| 1374 | { | 1374 | { |
| 1375 | struct dentry *lower_dentry = | 1375 | struct dentry *lower_dentry = |
| 1376 | ecryptfs_inode_to_private(ecryptfs_inode)->lower_file->f_dentry; | 1376 | ecryptfs_inode_to_private(ecryptfs_inode)->lower_file->f_path.dentry; |
| 1377 | ssize_t size; | 1377 | ssize_t size; |
| 1378 | int rc = 0; | 1378 | int rc = 0; |
| 1379 | 1379 | ||
diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c index 564a1fa34b99..4626976794e7 100644 --- a/fs/ecryptfs/mmap.c +++ b/fs/ecryptfs/mmap.c | |||
| @@ -419,7 +419,7 @@ static int ecryptfs_write_inode_size_to_xattr(struct inode *ecryptfs_inode) | |||
| 419 | ssize_t size; | 419 | ssize_t size; |
| 420 | void *xattr_virt; | 420 | void *xattr_virt; |
| 421 | struct dentry *lower_dentry = | 421 | struct dentry *lower_dentry = |
| 422 | ecryptfs_inode_to_private(ecryptfs_inode)->lower_file->f_dentry; | 422 | ecryptfs_inode_to_private(ecryptfs_inode)->lower_file->f_path.dentry; |
| 423 | struct inode *lower_inode = lower_dentry->d_inode; | 423 | struct inode *lower_inode = lower_dentry->d_inode; |
| 424 | int rc; | 424 | int rc; |
| 425 | 425 | ||
diff --git a/fs/efivarfs/file.c b/fs/efivarfs/file.c index cdb2971192a5..90001da9abfd 100644 --- a/fs/efivarfs/file.c +++ b/fs/efivarfs/file.c | |||
| @@ -47,8 +47,8 @@ static ssize_t efivarfs_file_write(struct file *file, | |||
| 47 | 47 | ||
| 48 | if (bytes == -ENOENT) { | 48 | if (bytes == -ENOENT) { |
| 49 | drop_nlink(inode); | 49 | drop_nlink(inode); |
| 50 | d_delete(file->f_dentry); | 50 | d_delete(file->f_path.dentry); |
| 51 | dput(file->f_dentry); | 51 | dput(file->f_path.dentry); |
| 52 | } else { | 52 | } else { |
| 53 | mutex_lock(&inode->i_mutex); | 53 | mutex_lock(&inode->i_mutex); |
| 54 | i_size_write(inode, datasize + sizeof(attributes)); | 54 | i_size_write(inode, datasize + sizeof(attributes)); |
| @@ -154,7 +154,7 @@ SYSCALL_DEFINE1(syncfs, int, fd) | |||
| 154 | 154 | ||
| 155 | if (!f.file) | 155 | if (!f.file) |
| 156 | return -EBADF; | 156 | return -EBADF; |
| 157 | sb = f.file->f_dentry->d_sb; | 157 | sb = f.file->f_path.dentry->d_sb; |
| 158 | 158 | ||
| 159 | down_read(&sb->s_umount); | 159 | down_read(&sb->s_umount); |
| 160 | ret = sync_filesystem(sb); | 160 | ret = sync_filesystem(sb); |
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 1d5196889048..27b0c9105da5 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
| @@ -367,8 +367,8 @@ struct css_set { | |||
| 367 | * struct cftype: handler definitions for cgroup control files | 367 | * struct cftype: handler definitions for cgroup control files |
| 368 | * | 368 | * |
| 369 | * When reading/writing to a file: | 369 | * When reading/writing to a file: |
| 370 | * - the cgroup to use is file->f_dentry->d_parent->d_fsdata | 370 | * - the cgroup to use is file->f_path.dentry->d_parent->d_fsdata |
| 371 | * - the 'cftype' of the file is file->f_dentry->d_fsdata | 371 | * - the 'cftype' of the file is file->f_path.dentry->d_fsdata |
| 372 | */ | 372 | */ |
| 373 | 373 | ||
| 374 | /* cftype->flags */ | 374 | /* cftype->flags */ |
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index e420a0c41b5f..06820657c8ca 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
| @@ -2373,7 +2373,7 @@ int __audit_log_bprm_fcaps(struct linux_binprm *bprm, | |||
| 2373 | ax->d.next = context->aux; | 2373 | ax->d.next = context->aux; |
| 2374 | context->aux = (void *)ax; | 2374 | context->aux = (void *)ax; |
| 2375 | 2375 | ||
| 2376 | dentry = dget(bprm->file->f_dentry); | 2376 | dentry = dget(bprm->file->f_path.dentry); |
| 2377 | get_vfs_caps_from_disk(dentry, &vcaps); | 2377 | get_vfs_caps_from_disk(dentry, &vcaps); |
| 2378 | dput(dentry); | 2378 | dput(dentry); |
| 2379 | 2379 | ||
diff --git a/kernel/events/core.c b/kernel/events/core.c index 1425d07018de..446fbeefad1c 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
| @@ -614,7 +614,7 @@ static inline int perf_cgroup_connect(int fd, struct perf_event *event, | |||
| 614 | if (!f.file) | 614 | if (!f.file) |
| 615 | return -EBADF; | 615 | return -EBADF; |
| 616 | 616 | ||
| 617 | css = css_tryget_online_from_dir(f.file->f_dentry, | 617 | css = css_tryget_online_from_dir(f.file->f_path.dentry, |
| 618 | &perf_event_cgrp_subsys); | 618 | &perf_event_cgrp_subsys); |
| 619 | if (IS_ERR(css)) { | 619 | if (IS_ERR(css)) { |
| 620 | ret = PTR_ERR(css); | 620 | ret = PTR_ERR(css); |
diff --git a/kernel/taskstats.c b/kernel/taskstats.c index b312fcc73024..670fff88a961 100644 --- a/kernel/taskstats.c +++ b/kernel/taskstats.c | |||
| @@ -459,7 +459,7 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info) | |||
| 459 | stats = nla_data(na); | 459 | stats = nla_data(na); |
| 460 | memset(stats, 0, sizeof(*stats)); | 460 | memset(stats, 0, sizeof(*stats)); |
| 461 | 461 | ||
| 462 | rc = cgroupstats_build(stats, f.file->f_dentry); | 462 | rc = cgroupstats_build(stats, f.file->f_path.dentry); |
| 463 | if (rc < 0) { | 463 | if (rc < 0) { |
| 464 | nlmsg_free(rep_skb); | 464 | nlmsg_free(rep_skb); |
| 465 | goto err; | 465 | goto err; |
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 23976fd885fd..8c3385181b16 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
| @@ -5055,7 +5055,7 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of, | |||
| 5055 | * | 5055 | * |
| 5056 | * DO NOT ADD NEW FILES. | 5056 | * DO NOT ADD NEW FILES. |
| 5057 | */ | 5057 | */ |
| 5058 | name = cfile.file->f_dentry->d_name.name; | 5058 | name = cfile.file->f_path.dentry->d_name.name; |
| 5059 | 5059 | ||
| 5060 | if (!strcmp(name, "memory.usage_in_bytes")) { | 5060 | if (!strcmp(name, "memory.usage_in_bytes")) { |
| 5061 | event->register_event = mem_cgroup_usage_register_event; | 5061 | event->register_event = mem_cgroup_usage_register_event; |
| @@ -5079,7 +5079,7 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of, | |||
| 5079 | * automatically removed on cgroup destruction but the removal is | 5079 | * automatically removed on cgroup destruction but the removal is |
| 5080 | * asynchronous, so take an extra ref on @css. | 5080 | * asynchronous, so take an extra ref on @css. |
| 5081 | */ | 5081 | */ |
| 5082 | cfile_css = css_tryget_online_from_dir(cfile.file->f_dentry->d_parent, | 5082 | cfile_css = css_tryget_online_from_dir(cfile.file->f_path.dentry->d_parent, |
| 5083 | &memory_cgrp_subsys); | 5083 | &memory_cgrp_subsys); |
| 5084 | ret = -EINVAL; | 5084 | ret = -EINVAL; |
| 5085 | if (IS_ERR(cfile_css)) | 5085 | if (IS_ERR(cfile_css)) |
diff --git a/security/commoncap.c b/security/commoncap.c index bab0611afc1e..2915d8503054 100644 --- a/security/commoncap.c +++ b/security/commoncap.c | |||
| @@ -446,7 +446,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) | 446 | if (bprm->file->f_path.mnt->mnt_flags & MNT_NOSUID) |
| 447 | return 0; | 447 | return 0; |
| 448 | 448 | ||
| 449 | dentry = dget(bprm->file->f_dentry); | 449 | dentry = dget(bprm->file->f_path.dentry); |
| 450 | 450 | ||
| 451 | rc = get_vfs_caps_from_disk(dentry, &vcaps); | 451 | rc = get_vfs_caps_from_disk(dentry, &vcaps); |
| 452 | if (rc < 0) { | 452 | if (rc < 0) { |
diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c index 86885979918c..f92be1b14089 100644 --- a/security/integrity/ima/ima_api.c +++ b/security/integrity/ima/ima_api.c | |||
| @@ -196,7 +196,7 @@ int ima_collect_measurement(struct integrity_iint_cache *iint, | |||
| 196 | { | 196 | { |
| 197 | const char *audit_cause = "failed"; | 197 | const char *audit_cause = "failed"; |
| 198 | struct inode *inode = file_inode(file); | 198 | struct inode *inode = file_inode(file); |
| 199 | const char *filename = file->f_dentry->d_name.name; | 199 | const char *filename = file->f_path.dentry->d_name.name; |
| 200 | int result = 0; | 200 | int result = 0; |
| 201 | struct { | 201 | struct { |
| 202 | struct ima_digest_data hdr; | 202 | struct ima_digest_data hdr; |
| @@ -204,7 +204,7 @@ int ima_collect_measurement(struct integrity_iint_cache *iint, | |||
| 204 | } hash; | 204 | } hash; |
| 205 | 205 | ||
| 206 | if (xattr_value) | 206 | if (xattr_value) |
| 207 | *xattr_len = ima_read_xattr(file->f_dentry, xattr_value); | 207 | *xattr_len = ima_read_xattr(file->f_path.dentry, xattr_value); |
| 208 | 208 | ||
| 209 | if (!(iint->flags & IMA_COLLECTED)) { | 209 | if (!(iint->flags & IMA_COLLECTED)) { |
| 210 | u64 i_version = file_inode(file)->i_version; | 210 | u64 i_version = file_inode(file)->i_version; |
diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c index 922685483bd3..c2f203accbd1 100644 --- a/security/integrity/ima/ima_appraise.c +++ b/security/integrity/ima/ima_appraise.c | |||
| @@ -189,7 +189,7 @@ int ima_appraise_measurement(int func, struct integrity_iint_cache *iint, | |||
| 189 | { | 189 | { |
| 190 | static const char op[] = "appraise_data"; | 190 | static const char op[] = "appraise_data"; |
| 191 | char *cause = "unknown"; | 191 | char *cause = "unknown"; |
| 192 | struct dentry *dentry = file->f_dentry; | 192 | struct dentry *dentry = file->f_path.dentry; |
| 193 | struct inode *inode = dentry->d_inode; | 193 | struct inode *inode = dentry->d_inode; |
| 194 | enum integrity_status status = INTEGRITY_UNKNOWN; | 194 | enum integrity_status status = INTEGRITY_UNKNOWN; |
| 195 | int rc = xattr_len, hash_start = 0; | 195 | int rc = xattr_len, hash_start = 0; |
| @@ -289,7 +289,7 @@ out: | |||
| 289 | */ | 289 | */ |
| 290 | void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file) | 290 | void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file) |
| 291 | { | 291 | { |
| 292 | struct dentry *dentry = file->f_dentry; | 292 | struct dentry *dentry = file->f_path.dentry; |
| 293 | int rc = 0; | 293 | int rc = 0; |
| 294 | 294 | ||
| 295 | /* do not collect and update hash for digital signatures */ | 295 | /* do not collect and update hash for digital signatures */ |
diff --git a/security/integrity/ima/ima_template_lib.c b/security/integrity/ima/ima_template_lib.c index 1506f0248572..bcfc36cbde6a 100644 --- a/security/integrity/ima/ima_template_lib.c +++ b/security/integrity/ima/ima_template_lib.c | |||
| @@ -284,7 +284,7 @@ static int ima_eventname_init_common(struct integrity_iint_cache *iint, | |||
| 284 | } | 284 | } |
| 285 | 285 | ||
| 286 | if (file) { | 286 | if (file) { |
| 287 | cur_filename = file->f_dentry->d_name.name; | 287 | cur_filename = file->f_path.dentry->d_name.name; |
| 288 | cur_filename_len = strlen(cur_filename); | 288 | cur_filename_len = strlen(cur_filename); |
| 289 | } else | 289 | } else |
| 290 | /* | 290 | /* |
