diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-10-30 14:26:17 +0000 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-11-10 12:00:47 -0600 |
commit | 6762b938eac878a30a90e770ac655874c36bc642 (patch) | |
tree | 424b9893aa5494104b8d93de2b9c52fbdce37b75 /fs/xfs | |
parent | 5d0af85cd0964bb845b63d5059bb20e8f7731e65 (diff) |
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/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl.c | 2 |
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 2ea238f6d38..ad442d9e392 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; |