aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-10-31 01:22:04 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2014-11-19 13:01:25 -0500
commitb583043e99bc6d91e98fae32bd9eff6a5958240a (patch)
tree8f2f9a4d28ae16c7d452808ff400bb1f31fb09c8
parent30e46aba8f1010b03178f04c0c56be299c063df2 (diff)
kill f_dentry uses
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--drivers/block/drbd/drbd_debugfs.c6
-rw-r--r--drivers/scsi/lpfc/lpfc_debugfs.c4
-rw-r--r--drivers/staging/lustre/lustre/llite/file.c12
-rw-r--r--fs/ceph/dir.c6
-rw-r--r--fs/ceph/file.c2
-rw-r--r--fs/cifs/readdir.c2
-rw-r--r--fs/ecryptfs/crypto.c2
-rw-r--r--fs/ecryptfs/mmap.c2
-rw-r--r--fs/efivarfs/file.c4
-rw-r--r--fs/sync.c2
-rw-r--r--include/linux/cgroup.h4
-rw-r--r--kernel/auditsc.c2
-rw-r--r--kernel/events/core.c2
-rw-r--r--kernel/taskstats.c2
-rw-r--r--mm/memcontrol.c4
-rw-r--r--security/commoncap.c2
-rw-r--r--security/integrity/ima/ima_api.c4
-rw-r--r--security/integrity/ima/ima_appraise.c4
-rw-r--r--security/integrity/ima/ima_template_lib.c2
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. :-( */
425static inline int debugfs_positive(struct dentry *dentry) 425static 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
1011lpfc_debugfs_dif_err_read(struct file *file, char __user *buf, 1011lpfc_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
1052lpfc_debugfs_dif_err_write(struct file *file, const char __user *buf, 1052lpfc_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
2631int ll_fsync(struct file *file, loff_t start, loff_t end, int datasync) 2625int 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:
1373int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode) 1373int 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));
diff --git a/fs/sync.c b/fs/sync.c
index bdc729d80e5e..01d9f18a70b5 100644
--- a/fs/sync.c
+++ b/fs/sync.c
@@ -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 */
290void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file) 290void 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 /*