]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
scsi: sg: allocate with __GFP_ZERO in sg_build_indirect()
authorAlexander Potapenko <glider@google.com>
Fri, 18 May 2018 14:23:18 +0000 (16:23 +0200)
committerBrian Maly <brian.maly@oracle.com>
Tue, 20 Nov 2018 19:05:18 +0000 (14:05 -0500)
This shall help avoid copying uninitialized memory to the userspace when
calling ioctl(fd, SG_IO) with an empty command.

Reported-by: syzbot+7d26fc1eea198488deab@syzkaller.appspotmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Alexander Potapenko <glider@google.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit a45b599ad808c3c982fdcdc12b0b8611c2f92824)

Orabug: 28892656
CVE: CVE-2018-1000204

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/scsi/sg.c

index 470a90e0eae29ae10ee931d88dda51a2cbf7b319..f0a3175025f2183bf118b64217793f8b06219770 100644 (file)
@@ -1912,7 +1912,7 @@ retry:
                num = (rem_sz > scatter_elem_sz_prev) ?
                        scatter_elem_sz_prev : rem_sz;
 
-               schp->pages[k] = alloc_pages(gfp_mask, order);
+               schp->pages[k] = alloc_pages(gfp_mask | __GFP_ZERO, order);
                if (!schp->pages[k])
                        goto out;