]> git.baikalelectronics.ru Git - kernel.git/commit
tg3: fix length overflow in VPD firmware parsing
authorKees Cook <keescook@chromium.org>
Wed, 27 Mar 2013 06:40:50 +0000 (06:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Mar 2013 18:06:41 +0000 (14:06 -0400)
commitf4693b9a1afbf8f20308b01238b8539deff15797
tree1b621108e9446c1b352ba9a3f2b573b99dd688c9
parent44b69196d0c58e9c24088279b8f0eb87e53ff534
tg3: fix length overflow in VPD firmware parsing

Commit b8936df050eaeb82956c37f8b8e3cfca36ce1186 ("tg3: Use VPD fw version
when present") introduced VPD parsing that contained a potential length
overflow.

Limit the hardware's reported firmware string length (max 255 bytes) to
stay inside the driver's firmware string length (32 bytes). On overflow,
truncate the formatted firmware string instead of potentially overwriting
portions of the tg3 struct.

http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf

Signed-off-by: Kees Cook <keescook@chromium.org>
Reported-by: Oded Horovitz <oded@privatecore.com>
Reported-by: Brad Spengler <spender@grsecurity.net>
Cc: stable@vger.kernel.org
Cc: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/tg3.c