linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 2/2] auxdisplay: panel: avoid gcc 8's Wstringop-truncation warning
@ 2018-08-01 17:58 Miguel Ojeda
  2018-08-01 18:47 ` Kees Cook
  0 siblings, 1 reply; 3+ messages in thread
From: Miguel Ojeda @ 2018-08-01 17:58 UTC (permalink / raw)
  To: Andrew Morton, Ingo Molnar
  Cc: Willy Tarreau, Geert Uytterhoeven, Martin Sebor, linux-kernel,
	Ingo Molnar, Josh Poimboeuf, Kees Cook, Andrew Morton,
	Will Deacon, Greg Kroah-Hartman, David Rientjes, Arnd Bergmann

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 <geert@linux-m68k.org>
Cc: Martin Sebor <msebor@gmail.com>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@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;
 };
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 2/2] auxdisplay: panel: avoid gcc 8's Wstringop-truncation warning
  2018-08-01 17:58 [PATCH v2 2/2] auxdisplay: panel: avoid gcc 8's Wstringop-truncation warning Miguel Ojeda
@ 2018-08-01 18:47 ` Kees Cook
  2018-08-01 19:50   ` Miguel Ojeda
  0 siblings, 1 reply; 3+ messages in thread
From: Kees Cook @ 2018-08-01 18:47 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Andrew Morton, Ingo Molnar, Willy Tarreau, Geert Uytterhoeven,
	Martin Sebor, linux-kernel, Josh Poimboeuf, Will Deacon,
	Greg Kroah-Hartman, David Rientjes, Arnd Bergmann

On Wed, Aug 1, 2018 at 10:58 AM, Miguel Ojeda
<miguel.ojeda.sandonis@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 <geert@linux-m68k.org>
> Cc: Martin Sebor <msebor@gmail.com>
> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@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?

-Kees

-- 
Kees Cook
Pixel Security

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 2/2] auxdisplay: panel: avoid gcc 8's Wstringop-truncation warning
  2018-08-01 18:47 ` Kees Cook
@ 2018-08-01 19:50   ` Miguel Ojeda
  0 siblings, 0 replies; 3+ messages in thread
From: Miguel Ojeda @ 2018-08-01 19:50 UTC (permalink / raw)
  To: Kees Cook
  Cc: Andrew Morton, Ingo Molnar, Willy Tarreau, Geert Uytterhoeven,
	Martin Sebor, linux-kernel, Josh Poimboeuf, Will Deacon,
	Greg Kroah-Hartman, David Rientjes, Arnd Bergmann

On Wed, Aug 1, 2018 at 8:47 PM, Kees Cook <keescook@chromium.org> wrote:
> On Wed, Aug 1, 2018 at 10:58 AM, Miguel Ojeda
> <miguel.ojeda.sandonis@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 <geert@linux-m68k.org>
>> Cc: Martin Sebor <msebor@gmail.com>
>> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-08-01 19:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-01 17:58 [PATCH v2 2/2] auxdisplay: panel: avoid gcc 8's Wstringop-truncation warning Miguel Ojeda
2018-08-01 18:47 ` Kees Cook
2018-08-01 19:50   ` Miguel Ojeda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).