s390: iucv: Avoid field over-reading memcpy()
authorKees Cook <keescook@chromium.org>
Thu, 1 Jul 2021 15:44:07 +0000 (17:44 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Jul 2021 22:54:01 +0000 (15:54 -0700)
commit5140aaa4604ba96685dc04b4d2dde3384bbaecef
tree25371a85480e67d04ce124a871f305be2fc95cda
parent6dce38b4b7ffb39539b49feca2b3ce34dbaadf02
s390: iucv: Avoid field over-reading memcpy()

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

Add a wrapping struct to serve as the memcpy() source so the compiler
can perform appropriate bounds checking, avoiding this future warning:

In function '__fortify_memcpy',
    inlined from 'iucv_message_pending' at net/iucv/iucv.c:1663:4:
./include/linux/fortify-string.h:246:4: error: call to '__read_overflow2_field' declared with attribute error: detected read beyond size of field (2nd parameter)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/iucv/iucv.c