Brahmajit Das 5778ace04e fs/proc: fix build with GCC 15 due to -Werror=unterminated-string-initialization
show show_smap_vma_flags() has been a using misspelled initializer in
mnemonics[] - it needed to initialize 2 element array of char and it used
NUL-padded 2 character string literals (i.e.  3-element initializer).

This has been spotted by gcc-15[*]; prior to that gcc quietly dropped the
3rd eleemnt of initializers.  To fix this we are increasing the size of
mnemonics[] (from mnemonics[BITS_PER_LONG][2] to
mnemonics[BITS_PER_LONG][3]) to accomodate the NUL-padded string literals.

This also helps us in simplyfying the logic for printing of the flags as
instead of printing each character from the mnemonics[], we can just print
the mnemonics[] using seq_printf.

[*]: fs/proc/task_mmu.c:917:49: error: initializer-string for array of `char' is too long [-Werror=unterminate d-string-initialization]
  917 |                 [0 ... (BITS_PER_LONG-1)] = "??",
      |                                                 ^~~~
fs/proc/task_mmu.c:917:49: error: initializer-string for array of `char' is too long [-Werror=unterminate d-string-initialization]
fs/proc/task_mmu.c:917:49: error: initializer-string for array of `char' is too long [-Werror=unterminate d-string-initialization]
fs/proc/task_mmu.c:917:49: error: initializer-string for array of `char' is too long [-Werror=unterminate d-string-initialization]
fs/proc/task_mmu.c:917:49: error: initializer-string for array of `char' is too long [-Werror=unterminate d-string-initialization]
fs/proc/task_mmu.c:917:49: error: initializer-string for array of `char' is too long [-Werror=unterminate d-string-initialization]
...


Stephen pointed out:

: The C standard explicitly allows for a string initializer to be too long
: due to the NUL byte at the end ...  so this warning may be overzealous.

but let's make the warning go away anwyay.

Link: https://lkml.kernel.org/r/20241005063700.2241027-1-brahmajit.xyz@gmail.com
Link: https://lkml.kernel.org/r/20241003093040.47c08382@canb.auug.org.au
Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-10-17 00:28:07 -07:00
..
2024-09-12 12:20:41 +02:00
2024-09-16 13:07:59 +02:00
2024-10-10 10:02:59 -07:00
2024-07-15 11:14:59 -07:00
2024-07-15 11:14:59 -07:00
2024-09-16 09:14:02 +02:00
2024-10-17 00:28:06 -07:00
2024-09-23 11:55:17 -07:00
2024-09-19 06:38:43 +02:00
2024-10-08 10:53:06 -07:00
2024-09-19 10:18:15 +02:00
2024-05-28 11:52:53 +02:00
\n
2024-09-23 10:49:28 -07:00
2024-08-21 22:32:58 +02:00
2024-04-23 13:27:43 +02:00
2024-10-09 10:05:26 +02:00
2024-10-02 12:02:15 -07:00
2024-08-29 06:20:44 +12:00
2024-07-15 11:14:59 -07:00
2024-09-16 08:54:30 +02:00
2024-09-16 08:35:09 +02:00
2024-09-18 08:53:53 +02:00
2024-08-28 13:05:39 +02:00
2024-09-16 08:54:30 +02:00
2024-09-24 15:29:42 -07:00
2024-09-16 11:15:26 +02:00
2024-09-24 15:29:42 -07:00
2024-09-27 08:18:43 -07:00
2024-09-27 18:29:19 +02:00
2024-09-27 08:18:43 -07:00
2024-05-02 16:28:20 +02:00
2024-09-16 08:35:09 +02:00