orinoco: Avoid field-overflowing memcpy()
authorKees Cook <keescook@chromium.org>
Wed, 16 Jun 2021 20:39:51 +0000 (13:39 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 22 Jun 2021 15:23:35 +0000 (18:23 +0300)
commit70ca8441ebfc4412dc9d3c56409e73dba959ab34
tree8ea07c74e12ea05739f6ba371907fe45debedef5
parentb38678a73c4d8a3616ca14713154e062b4c4db63
orinoco: Avoid field-overflowing memcpy()

In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally writing across neighboring array fields.

Validate the expected key size and introduce a wrapping structure
to use as the multi-field memcpy() destination so that overflows
can be correctly detected.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210616203952.1248910-1-keescook@chromium.org
drivers/net/wireless/intersil/orinoco/hw.c
drivers/net/wireless/intersil/orinoco/hw.h
drivers/net/wireless/intersil/orinoco/wext.c