Re: Re: KMSAN: kernel-usb-infoleak in pcan_usb_pro_send_req

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Dienstag, den 30.07.2019, 02:38 -0700 schrieb syzbot:
Hello,

syzbot found the following crash on:

HEAD commit: 41550654 [UPSTREAM] KVM: x86: degrade WARN to pr_warn_rate..
git tree:       kmsan
console output: https://syzkaller.appspot.com/x/log.txt?x=13e95183a00000
kernel config: https://syzkaller.appspot.com/x/.config?x=40511ad0c5945201 dashboard link: https://syzkaller.appspot.com/bug?extid=513e4d0985298538bf9b
compiler:       clang version 9.0.0 (/home/glider/llvm/clang
80fee25776c2fb61e74c1ecb1a523375c2500b69)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17eafa1ba00000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17b87983a00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+513e4d0985298538bf9b@xxxxxxxxxxxxxxxxxxxxxxxxx

#syz test: https://github.com/google/kasan.git 41550654

KMSAN bugs can only be tested on https://github.com/google/kmsan.git tree
because KMSAN tool is not upstreamed yet.
See https://goo.gl/tpsmEJ#kmsan-bugs for details.


 From 6de76fa3df8aedc7a76dc0ecdea8308e38d4dccc Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum@xxxxxxxx>
Date: Tue, 6 Aug 2019 14:41:52 +0200
Subject: [PATCH] pcan_usb_fd: zero out the common command buffer

Lest we leak kernel memory to a device we better zero out buffers.

Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx>
---
  drivers/net/can/usb/peak_usb/pcan_usb_fd.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_fd.c b/drivers/net/can/usb/peak_usb/pcan_usb_fd.c
index 34761c3a6286..47cc1ff5b88e 100644
--- a/drivers/net/can/usb/peak_usb/pcan_usb_fd.c
+++ b/drivers/net/can/usb/peak_usb/pcan_usb_fd.c
@@ -841,7 +841,7 @@ static int pcan_usb_fd_init(struct peak_usb_device *dev)
  			goto err_out;

  		/* allocate command buffer once for all for the interface */
-		pdev->cmd_buffer_addr = kmalloc(PCAN_UFD_CMD_BUFFER_SIZE,
+		pdev->cmd_buffer_addr = kzalloc(PCAN_UFD_CMD_BUFFER_SIZE,
  						GFP_KERNEL);
  		if (!pdev->cmd_buffer_addr)
  			goto err_out_1;
--
2.16.4






[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux