diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-10-30 16:26:17 +0200 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-11-10 19:00:47 +0100 |
commit | 6762b938eac878a30a90e770ac655874c36bc642 (patch) | |
tree | 424b9893aa5494104b8d93de2b9c52fbdce37b75 | |
parent | xfs: remove experimental tag from the delaylog option (diff) | |
download | linux-6762b938eac878a30a90e770ac655874c36bc642.tar.xz linux-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>
-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 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; |