Pārlūkot izejas kodu

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>
Darrick J. Wong 8 gadi atpakaļ
vecāks
revīzija
bf9216f922
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      fs/xfs/xfs_itable.c

+ 1 - 1
fs/xfs/xfs_itable.c

@@ -583,7 +583,7 @@ xfs_inumbers(
 		return error;
 		return error;
 
 
 	bcount = MIN(left, (int)(PAGE_SIZE / sizeof(*buffer)));
 	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 {
 	do {
 		struct xfs_inobt_rec_incore	r;
 		struct xfs_inobt_rec_incore	r;
 		int				stat;
 		int				stat;