diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-11 21:52:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-11 21:52:03 -0400 |
commit | 79360ddd73dfe9a26f49ef4e27b8c26612929b0e (patch) | |
tree | a8b0d226e0d83ea4e3a8c27b091a7121dbb9638b /mm | |
parent | 8213a2f3eeafdecf06dd718cb4130372263f6067 (diff) | |
parent | 98f6ef64b15a48f15062aff5d143b5d9a6ae7711 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull pile 2 of vfs updates from Al Viro:
"Stuff in this one - assorted fixes, lglock tidy-up, death to
lock_super().
There'll be a VFS pile tomorrow (with patches from Jeff Layton,
sanitizing getname() and related parts of audit and preparing for
ESTALE fixes), but I'd rather push the stuff in this one ASAP - some
of the bugs closed here are quite unpleasant."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
vfs: bogus warnings in fs/namei.c
consitify do_mount() arguments
lglock: add DEFINE_STATIC_LGLOCK()
lglock: make the per_cpu locks static
lglock: remove unused DEFINE_LGLOCK_LOCKDEP()
MAX_LFS_FILESIZE definition for 64bit needs LL...
tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking
vfs: drop lock/unlock super
ufs: drop lock/unlock super
sysv: drop lock/unlock super
hpfs: drop lock/unlock super
fat: drop lock/unlock super
ext3: drop lock/unlock super
exofs: drop lock/unlock super
dup3: Return an error when oldfd == newfd.
fs: handle failed audit_log_start properly
fs: prevent use after free in auditing when symlink following was denied
Diffstat (limited to 'mm')
-rw-r--r-- | mm/shmem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index cc12072f8787..67afba5117f2 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -2220,12 +2220,14 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb, | |||
2220 | { | 2220 | { |
2221 | struct inode *inode; | 2221 | struct inode *inode; |
2222 | struct dentry *dentry = NULL; | 2222 | struct dentry *dentry = NULL; |
2223 | u64 inum = fid->raw[2]; | 2223 | u64 inum; |
2224 | inum = (inum << 32) | fid->raw[1]; | ||
2225 | 2224 | ||
2226 | if (fh_len < 3) | 2225 | if (fh_len < 3) |
2227 | return NULL; | 2226 | return NULL; |
2228 | 2227 | ||
2228 | inum = fid->raw[2]; | ||
2229 | inum = (inum << 32) | fid->raw[1]; | ||
2230 | |||
2229 | inode = ilookup5(sb, (unsigned long)(inum + fid->raw[0]), | 2231 | inode = ilookup5(sb, (unsigned long)(inum + fid->raw[0]), |
2230 | shmem_match, fid->raw); | 2232 | shmem_match, fid->raw); |
2231 | if (inode) { | 2233 | if (inode) { |