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 832897 Details for
Bug 1003546
NFS + large XFS fs sometimes fails uncached lookups for client when inode number >2^32 on 32-bit computers
[?]
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]
upstream patch "vfs: split out vfs_getattr_nosec"
TMP (text/plain), 2.46 KB, created by
J. Bruce Fields
on 2013-12-04 23:00:18 UTC
(
hide
)
Description:
upstream patch "vfs: split out vfs_getattr_nosec"
Filename:
MIME Type:
Creator:
J. Bruce Fields
Created:
2013-12-04 23:00:18 UTC
Size:
2.46 KB
patch
obsolete
>commit b7a6ec52dd4eced4a9bcda9ca85b3c8af84d3c90 >Author: J. Bruce Fields <bfields@redhat.com> >Date: Wed Oct 2 17:01:18 2013 -0400 > > vfs: split out vfs_getattr_nosec > > The filehandle lookup code wants this version of getattr. > > Reviewed-by: Christoph Hellwig <hch@lst.de> > Signed-off-by: J. Bruce Fields <bfields@redhat.com> > Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> > >diff --git a/fs/stat.c b/fs/stat.c >index d0ea7ef..ae0c3ce 100644 >--- a/fs/stat.c >+++ b/fs/stat.c >@@ -37,14 +37,21 @@ void generic_fillattr(struct inode *inode, struct kstat *stat) > > EXPORT_SYMBOL(generic_fillattr); > >-int vfs_getattr(struct path *path, struct kstat *stat) >+/** >+ * vfs_getattr_nosec - getattr without security checks >+ * @path: file to get attributes from >+ * @stat: structure to return attributes in >+ * >+ * Get attributes without calling security_inode_getattr. >+ * >+ * Currently the only caller other than vfs_getattr is internal to the >+ * filehandle lookup code, which uses only the inode number and returns >+ * no attributes to any user. Any other code probably wants >+ * vfs_getattr. >+ */ >+int vfs_getattr_nosec(struct path *path, struct kstat *stat) > { > struct inode *inode = path->dentry->d_inode; >- int retval; >- >- retval = security_inode_getattr(path->mnt, path->dentry); >- if (retval) >- return retval; > > if (inode->i_op->getattr) > return inode->i_op->getattr(path->mnt, path->dentry, stat); >@@ -53,6 +60,18 @@ int vfs_getattr(struct path *path, struct kstat *stat) > return 0; > } > >+EXPORT_SYMBOL(vfs_getattr_nosec); >+ >+int vfs_getattr(struct path *path, struct kstat *stat) >+{ >+ int retval; >+ >+ retval = security_inode_getattr(path->mnt, path->dentry); >+ if (retval) >+ return retval; >+ return vfs_getattr_nosec(path, stat); >+} >+ > EXPORT_SYMBOL(vfs_getattr); > > int vfs_fstat(unsigned int fd, struct kstat *stat) >diff --git a/include/linux/fs.h b/include/linux/fs.h >index e190326..5e44b08 100644 >--- a/include/linux/fs.h >+++ b/include/linux/fs.h >@@ -2504,6 +2504,7 @@ extern const struct inode_operations page_symlink_inode_operations; > extern void kfree_put_link(struct dentry *, struct nameidata *, void *); > extern int generic_readlink(struct dentry *, char __user *, int); > extern void generic_fillattr(struct inode *, struct kstat *); >+int vfs_getattr_nosec(struct path *path, struct kstat *stat); > extern int vfs_getattr(struct path *, struct kstat *); > void __inode_add_bytes(struct inode *inode, loff_t bytes); > void inode_add_bytes(struct inode *inode, loff_t bytes);
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 1003546
:
793579
|
793580
|
793581
|
793582
|
794600
|
794955
|
796070
|
798881
|
803897
|
826289
|
832896
| 832897