]> www.infradead.org Git - users/jedix/linux-maple.git/commit
si2168: Bounds check firmware
authorLaura Abbott <labbott@fedoraproject.org>
Wed, 30 Sep 2015 00:10:09 +0000 (21:10 -0300)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 5 Feb 2016 03:28:17 +0000 (19:28 -0800)
commiteb6b73cbe5fda07566a8443bc1bcffdba0023437
tree8630dc6478b41721beca38135c4cd356f86c5031
parente9aeeb4203215b0dd3ad046b90c57687d1764049
si2168: Bounds check firmware

Orabug: 22623809

commit 47810b4341ac9d2f558894bc5995e6fa2a1298f9 upstream.

When reading the firmware and sending commands, the length must
be bounds checked to avoid overrunning the size of the command
buffer and smashing the stack if the firmware is not in the expected
format:

si2168 11-0064: found a 'Silicon Labs Si2168-B40'
si2168 11-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
si2168 11-0064: firmware download failed -95
Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffffa085708f

Add the proper check.

Reported-by: Stuart Auchterlonie <sauchter@redhat.com>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 76d6f9644b3c9029e920b315c7187605e7acf260)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/media/dvb-frontends/si2168.c