summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2017-04-03 21:22:39 +0200
committerDarrick J. Wong <darrick.wong@oracle.com>2017-04-03 21:22:39 +0200
commitbf9216f922612d2db7666aae01e65064da2ffb3a (patch)
treefdf0a10ee12bbbd95c8312314682352e89dd9dd7 /fs/xfs
parentxfs: Honor FALLOC_FL_KEEP_SIZE when punching ends of files (diff)
downloadlinux-bf9216f922612d2db7666aae01e65064da2ffb3a.tar.xz
linux-bf9216f922612d2db7666aae01e65064da2ffb3a.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>
Diffstat (limited to 'fs/xfs')
-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;