• Mauro Carvalho Chehab's avatar
    media: smsusb: better handle optional alignment · 2a1ba1ea
    Mauro Carvalho Chehab authored
    commit a4768663 upstream.
    
    Most Siano devices require an alignment for the response.
    
    Changeset f3be52b0056a ("media: usb: siano: Fix general protection fault in smsusb")
    changed the logic with gets such aligment, but it now produces a
    sparce warning:
    
    drivers/media/usb/siano/smsusb.c: In function 'smsusb_init_device':
    drivers/media/usb/siano/smsusb.c:447:37: warning: 'in_maxp' may be used uninitialized in this function [-Wmaybe-uninitialized]
      447 |   dev->response_alignment = in_maxp - sizeof(struct sms_msg_hdr);
          |                             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    The sparse message itself is bogus, but a broken (or fake) USB
    eeprom could produce a negative value for response_alignment.
    
    So, change the code in order to check if the result is not
    negative.
    
    Fixes: 31e0456d ("media: usb: siano: Fix general protection fault in smsusb")
    CC: <stable@vger.kernel.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2a1ba1ea
smsusb.c 19.8 KB