lkml.org 
[lkml]   [2021]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 064/293] media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init
    Date
    From: Dongliang Mu <mudongliangabcd@gmail.com>

    [ Upstream commit c5453769f77ce19a5b03f1f49946fd3f8a374009 ]

    If dibusb_read_eeprom_byte fails, the mac address is not initialized.
    And nova_t_read_mac_address does not handle this failure, which leads to
    the uninit-value in dvb_usb_adapter_dvb_init.

    Fix this by handling the failure of dibusb_read_eeprom_byte.

    Reported-by: syzbot+e27b4fd589762b0b9329@syzkaller.appspotmail.com
    Fixes: 786baecfe78f ("[media] dvb-usb: move it to drivers/media/usb/dvb-usb")
    Signed-off-by: Dongliang Mu <mudongliangabcd@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/nova-t-usb2.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/drivers/media/usb/dvb-usb/nova-t-usb2.c b/drivers/media/usb/dvb-usb/nova-t-usb2.c
    index 43e0e0fd715b..705c2901a89e 100644
    --- a/drivers/media/usb/dvb-usb/nova-t-usb2.c
    +++ b/drivers/media/usb/dvb-usb/nova-t-usb2.c
    @@ -133,7 +133,7 @@ ret:

    static int nova_t_read_mac_address (struct dvb_usb_device *d, u8 mac[6])
    {
    - int i;
    + int i, ret;
    u8 b;

    mac[0] = 0x00;
    @@ -142,7 +142,9 @@ static int nova_t_read_mac_address (struct dvb_usb_device *d, u8 mac[6])

    /* this is a complete guess, but works for my box */
    for (i = 136; i < 139; i++) {
    - dibusb_read_eeprom_byte(d,i, &b);
    + ret = dibusb_read_eeprom_byte(d, i, &b);
    + if (ret)
    + return ret;

    mac[5 - (i - 136)] = b;
    }
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-20 20:07    [W:4.069 / U:0.536 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site