| From 70030ab7da1e088f2c2fea95d1870b6a87b044b0 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 7 Dec 2020 07:16:06 +0100 |
| Subject: media: usb: dvd-usb: fix uninit-value bug in |
| dibusb_read_eeprom_byte() |
| |
| From: Anant Thazhemadam <anant.thazhemadam@gmail.com> |
| |
| [ Upstream commit 899a61a3305d49e8a712e9ab20d0db94bde5929f ] |
| |
| In dibusb_read_eeprom_byte(), if dibusb_i2c_msg() fails, val gets |
| assigned an value that's not properly initialized. |
| Using kzalloc() in place of kmalloc() for the buffer fixes this issue, |
| as the val can now be set to 0 in the event dibusb_i2c_msg() fails. |
| |
| Reported-by: syzbot+e27b4fd589762b0b9329@syzkaller.appspotmail.com |
| Tested-by: syzbot+e27b4fd589762b0b9329@syzkaller.appspotmail.com |
| Signed-off-by: Anant Thazhemadam <anant.thazhemadam@gmail.com> |
| Signed-off-by: Sean Young <sean@mess.org> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/usb/dvb-usb/dibusb-common.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/media/usb/dvb-usb/dibusb-common.c b/drivers/media/usb/dvb-usb/dibusb-common.c |
| index 59ce2dec11e98..9c1ebea68b544 100644 |
| --- a/drivers/media/usb/dvb-usb/dibusb-common.c |
| +++ b/drivers/media/usb/dvb-usb/dibusb-common.c |
| @@ -223,7 +223,7 @@ int dibusb_read_eeprom_byte(struct dvb_usb_device *d, u8 offs, u8 *val) |
| u8 *buf; |
| int rc; |
| |
| - buf = kmalloc(2, GFP_KERNEL); |
| + buf = kzalloc(2, GFP_KERNEL); |
| if (!buf) |
| return -ENOMEM; |
| |
| -- |
| 2.33.0 |
| |