aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2017-04-03 12:22:39 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2017-04-03 12:22:39 -0700
commitbf9216f922612d2db7666aae01e65064da2ffb3a (patch)
treefdf0a10ee12bbbd95c8312314682352e89dd9dd7
parent3dd09d5a8589c640abb49cfcf92b4ed669eafad1 (diff)
downloadlinux-bf9216f922612d2db7666aae01e65064da2ffb3a.tar.gz
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 2a6d9b1558e00..26d67ce3c18d9 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;