On Wed, Aug 1, 2018 at 8:47 PM, Kees Cook <keesc...@chromium.org> wrote: > On Wed, Aug 1, 2018 at 10:58 AM, Miguel Ojeda > <miguel.ojeda.sando...@gmail.com> wrote: >> Let gcc know it is not meant to be NUL-terminated by annotating with >> the new __nonstring variable attribute; and remove the comment since it >> conveys the same information. >> >> Cc: Willy Tarreau <w...@1wt.eu> >> Cc: Geert Uytterhoeven <ge...@linux-m68k.org> >> Cc: Martin Sebor <mse...@gmail.com> >> Signed-off-by: Miguel Ojeda <miguel.ojeda.sando...@gmail.com> >> --- >> drivers/auxdisplay/panel.c | 7 +++---- >> 1 file changed, 3 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/auxdisplay/panel.c b/drivers/auxdisplay/panel.c >> index 3b25a643058c..21b9b2f2470a 100644 >> --- a/drivers/auxdisplay/panel.c >> +++ b/drivers/auxdisplay/panel.c >> @@ -155,10 +155,9 @@ struct logical_input { >> int release_data; >> } std; >> struct { /* valid when type == INPUT_TYPE_KBD */ >> - /* strings can be non null-terminated */ >> - char press_str[sizeof(void *) + sizeof(int)]; >> - char repeat_str[sizeof(void *) + sizeof(int)]; >> - char release_str[sizeof(void *) + sizeof(int)]; >> + char press_str[sizeof(void *) + sizeof(int)] >> __nonstring; >> + char repeat_str[sizeof(void *) + sizeof(int)] >> __nonstring; >> + char release_str[sizeof(void *) + sizeof(int)] >> __nonstring; >> } kbd; >> } u; >> }; > > If it's not a string, why not use "u8" instead of "char"? Does the > warning persist?
Yes, it persists (on purpose). Originally it didn't, but see the discussion at: https://www.spinics.net/lists/kernel/msg2737596.html And: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84725 Cheers, Miguel > > -Kees > > -- > Kees Cook > Pixel Security