android_kernel_oneplus_msm8998/drivers/media
Mauro Carvalho Chehab 8282730a0a media: smsusb: better handle optional alignment
commit a47686636d84eaec5c9c6e84bd5f96bed34d526d 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: 31e0456de5be ("media: usb: siano: Fix general protection fault in smsusb")
CC: <stable@vger.kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-11 12:24:09 +02:00
..
common media: siano: get rid of __le32/__le16 cast warnings 2018-08-06 16:24:37 +02:00
dvb-core media: dvb_frontend: fix locking issues at dvb_frontend_get_event() 2018-07-03 11:21:33 +02:00
dvb-frontends media: m88ds3103: serialize reset messages in m88ds3103_set_frontend 2019-06-11 12:24:05 +02:00
firewire media: firewire: Fix app_info parameter type in avc_ca{,_app}_info 2019-01-26 09:42:53 +01:00
i2c media: ov2659: make S_FMT succeed even if requested format doesn't match 2019-06-11 12:23:58 +02:00
mmc [media] siano: register media controller earlier 2015-02-26 09:10:39 -03:00
pci media: saa7146: avoid high stack usage with clang 2019-06-11 12:24:05 +02:00
platform media: coda: clear error return value before picture run 2019-06-11 12:23:57 +02:00
radio media: wl128x: prevent two potential buffer overflows 2019-06-11 12:24:04 +02:00
rc mceusb: sporadic RX truncation corruption fix 2018-04-13 19:50:18 +02:00
tuners media: r820t: fix r820t_write_reg for KASAN 2018-02-22 15:45:02 +01:00
usb media: smsusb: better handle optional alignment 2019-06-11 12:24:09 +02:00
v4l2-core media: v4l2-ctrls.c/uvc: zero v4l2_event 2019-04-03 06:23:16 +02:00
Kconfig media updates for v4.2-rc1 2015-06-25 17:55:48 -07:00
Makefile [media] bq/c-qcam, w9966, pms: move to staging in preparation for removal 2014-12-16 23:21:44 -02:00
media-device.c [media] media: Use strlcpy instead of custom code 2014-09-21 20:27:08 -03:00
media-devnode.c [media] media-devnode: just return 0 instead of using a var 2014-09-03 17:59:28 -03:00
media-entity.c [media] media-entity.c: get rid of var length arrays 2015-10-01 18:10:05 -03:00