summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorDavid Rientjes <rientjes@google.com>2012-10-17 20:41:15 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-18 12:35:58 -0700
commit43385846968b082bb6c174e8b17479e5123b8d73 (patch)
treeb485e28471a2f785681679a5ca92b11e27658bdd /arch
parentd63e210ef1546c2e0a725ba804cae5bc38731ad7 (diff)
downloadlinux-3.10-43385846968b082bb6c174e8b17479e5123b8d73.tar.gz
linux-3.10-43385846968b082bb6c174e8b17479e5123b8d73.tar.bz2
linux-3.10-43385846968b082bb6c174e8b17479e5123b8d73.zip
fs, xattr: fix bug when removing a name not in xattr list
Commit 38f38657444d ("xattr: extract simple_xattr code from tmpfs") moved some code from tmpfs but introduced a subtle bug along the way. If the name passed to simple_xattr_remove() does not exist in the list of xattrs, then it is possible to call kfree(new_xattr) when new_xattr is actually initialized to itself on the stack via uninitialized_var(). This causes a BUG() since the memory was not allocated via the slab allocator and was not bypassed through to the page allocator because it was too large. Initialize the local variable to NULL so the kfree() never takes place. Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: David Rientjes <rientjes@google.com> Acked-by: Hugh Dickins <hughd@google.com> Acked-by: Aristeu Rozanski <aris@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions