--- a/fs/readdir.c +++ b/fs/readdir.c @@ -25,7 +25,7 @@ int iterate_dir(struct file *file, struct dir_context *ctx) struct inode *inode = file_inode(file); int res = -ENOTDIR; if (!file->f_op || - (!file->f_op->readdir && !(file->f_mode & FMODE_KABI_ITERATE))) + (!file->f_op->readdir && !(file->f_op->iterate))) goto out; res = security_file_permission(file, MAY_READ); @@ -38,7 +38,7 @@ int iterate_dir(struct file *file, struct dir_context *ctx) res = -ENOENT; if (!IS_DEADDIR(inode)) { - if (file->f_mode & FMODE_KABI_ITERATE) { + if (file->f_op->iterate) { ctx->pos = file->f_pos; res = file->f_op->iterate(file, ctx); file->f_pos = ctx->pos;