summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2017-04-03 15:17:53 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2017-04-03 15:18:15 -0700
commitf1c0e20243baca1194fccfdf0111831bee12647c (patch)
tree2ae4bba79108dda7cc01fbf1a877e2be3c94ff39
parent105664df51648d6376bda2895a890e786d0426ee (diff)
downloadlinux-exynos-f1c0e20243baca1194fccfdf0111831bee12647c.tar.gz
linux-exynos-f1c0e20243baca1194fccfdf0111831bee12647c.tar.bz2
linux-exynos-f1c0e20243baca1194fccfdf0111831bee12647c.zip
xfs: fix kernel memory exposure problems
Fix a memory exposure problems in inumbers where we allocate an array of structures with holes, fail to zero the holes, then blindly copy the kernel memory contents (junk and all) into userspace. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
-rw-r--r--fs/xfs/xfs_itable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
index 2a6d9b1558e0..26d67ce3c18d 100644
--- a/fs/xfs/xfs_itable.c
+++ b/fs/xfs/xfs_itable.c
@@ -583,7 +583,7 @@ xfs_inumbers(
return error;
bcount = MIN(left, (int)(PAGE_SIZE / sizeof(*buffer)));
- buffer = kmem_alloc(bcount * sizeof(*buffer), KM_SLEEP);
+ buffer = kmem_zalloc(bcount * sizeof(*buffer), KM_SLEEP);
do {
struct xfs_inobt_rec_incore r;
int stat;