* [PATCH] s390/zcrypt: Switch to flexible array member
@ 2021-06-16 20:19 Kees Cook
2021-06-22 14:17 ` Vasily Gorbik
0 siblings, 1 reply; 2+ messages in thread
From: Kees Cook @ 2021-06-16 20:19 UTC (permalink / raw)
To: Heiko Carstens
Cc: Kees Cook, Harald Freudenberger, Vasily Gorbik,
Christian Borntraeger, linux-kernel, linux-s390, linux-hardening
In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally reading/writing across neighboring array fields.
Switch from zero-element arrays to flexible arrays so the compiler will
perform appropriate bounds checking, avoiding these future warnings:
In function '__fortify_memcpy',
inlined from 'cca_sec2protkey' at drivers/s390/crypto/zcrypt_ccamisc.c:645:2:
./include/linux/fortify-string.h:244:4: error: call to '__write_overflow_field' declared with attribute error: detected write beyond size of field (1st parameter)
In function '__fortify_memcpy',
inlined from 'cca_clr2seckey' at drivers/s390/crypto/zcrypt_ccamisc.c:568:3:
./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)
In function '__fortify_memcpy',
inlined from 'cca_genseckey' at drivers/s390/crypto/zcrypt_ccamisc.c:429:2:
./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>
---
drivers/s390/crypto/zcrypt_ccamisc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/s390/crypto/zcrypt_ccamisc.c b/drivers/s390/crypto/zcrypt_ccamisc.c
index 6a82033696e5..bc34bedf9db8 100644
--- a/drivers/s390/crypto/zcrypt_ccamisc.c
+++ b/drivers/s390/crypto/zcrypt_ccamisc.c
@@ -330,7 +330,7 @@ int cca_genseckey(u16 cardnr, u16 domain,
struct {
u16 toklen;
u16 tokattr;
- u8 tok[0];
+ u8 tok[];
/* ... some more data ... */
} keyblock;
} lv3;
@@ -471,7 +471,7 @@ int cca_clr2seckey(u16 cardnr, u16 domain, u32 keybitsize,
struct {
u16 toklen;
u16 tokattr;
- u8 tok[0];
+ u8 tok[];
/* ... some more data ... */
} keyblock;
} lv3;
@@ -596,7 +596,7 @@ int cca_sec2protkey(u16 cardnr, u16 domain,
u16 len;
u16 attr_len;
u16 attr_flags;
- u8 token[0]; /* cca secure key token */
+ u8 token[]; /* cca secure key token */
} lv2;
} __packed * preqparm;
struct uskrepparm {
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] s390/zcrypt: Switch to flexible array member
2021-06-16 20:19 [PATCH] s390/zcrypt: Switch to flexible array member Kees Cook
@ 2021-06-22 14:17 ` Vasily Gorbik
0 siblings, 0 replies; 2+ messages in thread
From: Vasily Gorbik @ 2021-06-22 14:17 UTC (permalink / raw)
To: Kees Cook
Cc: Heiko Carstens, Harald Freudenberger, Christian Borntraeger,
linux-kernel, linux-s390, linux-hardening
On Wed, Jun 16, 2021 at 01:19:02PM -0700, Kees Cook wrote:
> In preparation for FORTIFY_SOURCE performing compile-time and run-time
> field bounds checking for memcpy(), memmove(), and memset(), avoid
> intentionally reading/writing across neighboring array fields.
>
> Switch from zero-element arrays to flexible arrays so the compiler will
> perform appropriate bounds checking, avoiding these future warnings:
>
> In function '__fortify_memcpy',
> inlined from 'cca_sec2protkey' at drivers/s390/crypto/zcrypt_ccamisc.c:645:2:
> ./include/linux/fortify-string.h:244:4: error: call to '__write_overflow_field' declared with attribute error: detected write beyond size of field (1st parameter)
>
> In function '__fortify_memcpy',
> inlined from 'cca_clr2seckey' at drivers/s390/crypto/zcrypt_ccamisc.c:568:3:
> ./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)
>
> In function '__fortify_memcpy',
> inlined from 'cca_genseckey' at drivers/s390/crypto/zcrypt_ccamisc.c:429:2:
> ./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>
> ---
> drivers/s390/crypto/zcrypt_ccamisc.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
Applied, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-06-22 14:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-16 20:19 [PATCH] s390/zcrypt: Switch to flexible array member Kees Cook
2021-06-22 14:17 ` Vasily Gorbik
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.