summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorKulikov Vasiliy <segooon@gmail.com>2010-10-30 14:26:17 +0000
committerAlex Elder <aelder@sgi.com>2010-11-10 12:00:47 -0600
commit6762b938eac878a30a90e770ac655874c36bc642 (patch)
tree424b9893aa5494104b8d93de2b9c52fbdce37b75 /fs
parent5d0af85cd0964bb845b63d5059bb20e8f7731e65 (diff)
downloadlinux-stable-6762b938eac878a30a90e770ac655874c36bc642.tar.gz
linux-stable-6762b938eac878a30a90e770ac655874c36bc642.tar.bz2
linux-stable-6762b938eac878a30a90e770ac655874c36bc642.zip
xfs: xfs_ioctl: fix information leak to userland
al_hreq is copied from userland. If al_hreq.buflen is not properly aligned then xfs_attr_list will ignore the last bytes of kbuf. These bytes are unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_ioctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c
index 2ea238f6d38e..ad442d9e392e 100644
--- a/fs/xfs/linux-2.6/xfs_ioctl.c
+++ b/fs/xfs/linux-2.6/xfs_ioctl.c
@@ -416,7 +416,7 @@ xfs_attrlist_by_handle(
if (IS_ERR(dentry))
return PTR_ERR(dentry);
- kbuf = kmalloc(al_hreq.buflen, GFP_KERNEL);
+ kbuf = kzalloc(al_hreq.buflen, GFP_KERNEL);
if (!kbuf)
goto out_dput;