The patch titled ext3: reject filehandles referring to special files has been removed from the -mm tree. Its filename is ext3-reject-filehandles-referring-to-special-files.patch This patch was dropped because Neil said drat ------------------------------------------------------ Subject: ext3: reject filehandles referring to special files From: Neil Brown <neilb@xxxxxxx> Inodes earlier than the 'first' inode (e.g. journal, resize) should be rejected early - except the root inode. Signed-off-by: Neil Brown <neilb@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- fs/exportfs/expfs.c | 4 +++- fs/ext3/super.c | 15 +++++++++++++++ include/linux/fs.h | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) diff -puN fs/exportfs/expfs.c~ext3-reject-filehandles-referring-to-special-files fs/exportfs/expfs.c --- a/fs/exportfs/expfs.c~ext3-reject-filehandles-referring-to-special-files +++ a/fs/exportfs/expfs.c @@ -392,7 +392,8 @@ out: } -static struct dentry *export_iget(struct super_block *sb, unsigned long ino, __u32 generation) +struct dentry *export_iget(struct super_block *sb, unsigned long ino, + __u32 generation) { /* iget isn't really right if the inode is currently unallocated!! @@ -434,6 +435,7 @@ static struct dentry *export_iget(struct } return result; } +EXPORT_SYMBOL_GPL(export_iget); static struct dentry *get_object(struct super_block *sb, void *vobjp) diff -puN fs/ext3/super.c~ext3-reject-filehandles-referring-to-special-files fs/ext3/super.c --- a/fs/ext3/super.c~ext3-reject-filehandles-referring-to-special-files +++ a/fs/ext3/super.c @@ -554,6 +554,20 @@ static int ext3_show_options(struct seq_ return 0; } + +static struct dentry *ext3_get_dentry(struct super_block *sb, void *vobjp) +{ + __u32 *objp = vobjp; + unsigned long ino = objp[0]; + __u32 generation = objp[1]; + + if (ino != EXT3_ROOT_INO && ino < EXT3_FIRST_INO(sb)) + return ERR_PTR(-ESTALE); + + return export_iget(sb, ino, generation); +} + + #ifdef CONFIG_QUOTA #define QTYPE2NAME(t) ((t)==USRQUOTA?"user":"group") #define QTYPE2MOPT(on, t) ((t)==USRQUOTA?((on)##USRJQUOTA):((on)##GRPJQUOTA)) @@ -622,6 +636,7 @@ static struct super_operations ext3_sops static struct export_operations ext3_export_ops = { .get_parent = ext3_get_parent, + .get_dentry = ext3_get_dentry, }; enum { diff -puN include/linux/fs.h~ext3-reject-filehandles-referring-to-special-files include/linux/fs.h --- a/include/linux/fs.h~ext3-reject-filehandles-referring-to-special-files +++ a/include/linux/fs.h @@ -1325,6 +1325,8 @@ extern struct dentry * find_exported_dentry(struct super_block *sb, void *obj, void *parent, int (*acceptable)(void *context, struct dentry *de), void *context); +struct dentry *export_iget(struct super_block *sb, unsigned long ino, + __u32 generation); struct file_system_type { const char *name; _ Patches currently in -mm which might be from neilb@xxxxxxx are ext3-avoid-triggering-ext3_error-on-bad-nfs-file-handle.patch ext3-avoid-triggering-ext3_error-on-bad-nfs-file-handle-fix.patch git-klibc.patch ext3-reject-filehandles-referring-to-special-files.patch knfsd-knfsd-add-some-missing-newlines-in-printks.patch knfsd-knfsd-remove-an-unused-variable-from-e_show.patch knfsd-knfsd-remove-an-unused-variable-from-auth_unix_lookup.patch knfsd-add-a-callback-for-when-last-rpc-thread-finishes.patch knfsd-add-a-callback-for-when-last-rpc-thread-finishes-tidy.patch knfsd-be-more-selective-in-which-sockets-lockd-listens-on.patch knfsd-remove-nfsd_versbits-as-intermediate-storage-for-desired-versions.patch knfsd-separate-out-some-parts-of-nfsd_svc-which-start-nfs-servers.patch knfsd-separate-out-some-parts-of-nfsd_svc-which-start-nfs-servers-tweaks.patch knfsd-define-new-nfsdfs-file-portlist-contains-list-of-ports.patch knfsd-define-new-nfsdfs-file-portlist-contains-list-of-ports-tidy.patch knfsd-define-new-nfsdfs-file-portlist-contains-list-of-ports-fix.patch knfsd-allow-sockets-to-be-passed-to-nfsd-via-portlist.patch knfsd-use-seq_start_token-instead-of-hardcoded-magic-void1.patch md-dm-reduce-stack-usage-with-stacked-block-devices.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html