Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 151144 Details for
Bug 234366
DOS: Remote nfs server crash and fix
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Upstreamp patch
super.diff (text/plain), 2.21 KB, created by
Steve Dickson
on 2007-03-28 18:33:03 UTC
(
hide
)
Description:
Upstreamp patch
Filename:
MIME Type:
Creator:
Steve Dickson
Created:
2007-03-28 18:33:03 UTC
Size:
2.21 KB
patch
obsolete
>commit fdb36673a9d6accf93b11e7eff3a7e34cd284616 >Author: NeilBrown <neilb@suse.de> >Date: Sat Sep 16 12:15:38 2006 -0700 > > [PATCH] knfsd: Make ext3 reject filehandles referring to invalid inode number > > Inodes earlier than the 'first' inode (e.g. journal, resize) should be > rejected early - except the root inode. Also inode numbers that are too > big should be rejected early. > > [akpm@osdl.org: cleanup] > Signed-off-by: Neil Brown <neilb@suse.de> > Signed-off-by: Andrew Morton <akpm@osdl.org> > Signed-off-by: Linus Torvalds <torvalds@osdl.org> > >diff --git a/fs/ext3/super.c b/fs/ext3/super.c >index 813d589..3559086 100644 >--- a/fs/ext3/super.c >+++ b/fs/ext3/super.c >@@ -554,6 +554,47 @@ static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs) > 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]; >+ struct inode *inode; >+ struct dentry *result; >+ >+ if (ino < EXT3_FIRST_INO(sb) && ino != EXT3_ROOT_INO) >+ return ERR_PTR(-ESTALE); >+ if (ino > le32_to_cpu(EXT3_SB(sb)->s_es->s_inodes_count)) >+ return ERR_PTR(-ESTALE); >+ >+ /* iget isn't really right if the inode is currently unallocated!! >+ * >+ * ext3_read_inode will return a bad_inode if the inode had been >+ * deleted, so we should be safe. >+ * >+ * Currently we don't know the generation for parent directory, so >+ * a generation of 0 means "accept any" >+ */ >+ inode = iget(sb, ino); >+ if (inode == NULL) >+ return ERR_PTR(-ENOMEM); >+ if (is_bad_inode(inode) || >+ (generation && inode->i_generation != generation)) { >+ iput(inode); >+ return ERR_PTR(-ESTALE); >+ } >+ /* now to find a dentry. >+ * If possible, get a well-connected one >+ */ >+ result = d_alloc_anon(inode); >+ if (!result) { >+ iput(inode); >+ return ERR_PTR(-ENOMEM); >+ } >+ return result; >+} >+ > #ifdef CONFIG_QUOTA > #define QTYPE2NAME(t) ((t)==USRQUOTA?"user":"group") > #define QTYPE2MOPT(on, t) ((t)==USRQUOTA?((on)##USRJQUOTA):((on)##GRPJQUOTA)) >@@ -622,6 +663,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 {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 234366
: 151144