Michael Ellerman
8e3407e0f5
powerpc/64s: Disable stack variable initialisation for prom_init
...
[ Upstream commit be640317a1 ]
With GCC 12 allmodconfig prom_init fails to build:
Error: External symbol 'memset' referenced from prom_init.c
make[2]: *** [arch/powerpc/kernel/Makefile:204: arch/powerpc/kernel/prom_init_check] Error 1
The allmodconfig build enables KASAN, so all calls to memset in
prom_init should be converted to __memset by the #ifdefs in
asm/string.h, because prom_init must use the non-KASAN instrumented
versions.
The build failure happens because there's a call to memset that hasn't
been caught by the pre-processor and converted to __memset. Typically
that's because it's a memset generated by the compiler itself, and that
is the case here.
With GCC 12, allmodconfig enables CONFIG_INIT_STACK_ALL_PATTERN, which
causes the compiler to emit memset calls to initialise on-stack
variables with a pattern.
Because prom_init is non-user-facing boot-time only code, as a
workaround just disable stack variable initialisation to unbreak the
build.
Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com >
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au >
Link: https://lore.kernel.org/r/20220718134418.354114-1-mpe@ellerman.id.au
Signed-off-by: Sasha Levin <sashal@kernel.org >
2022-08-17 14:23:05 +02:00
..
2022-06-14 18:36:27 +02:00
2021-09-08 15:32:35 -07:00
2022-07-12 16:35:02 +02:00
2021-04-30 12:22:28 -07:00
2021-07-29 23:13:12 +10:00
2020-03-25 11:50:48 +01:00
2021-04-21 22:52:33 +10:00
2021-09-03 22:54:12 +10:00
2022-01-27 11:04:57 +01:00
2021-08-04 10:53:39 +10:00
2019-06-15 16:52:06 +10:00
2020-06-02 20:59:11 +10:00
2019-05-30 11:26:32 -07:00
2020-12-05 21:49:18 +11:00
2019-06-05 17:37:06 +02:00
2020-12-04 01:01:29 +11:00
2019-05-30 11:26:32 -07:00
2021-01-29 10:05:51 +05:30
2021-06-17 00:09:00 +10:00
2021-08-13 22:04:26 +10:00
2021-02-09 00:10:49 +11:00
2021-09-30 17:10:17 +10:00
2019-02-18 22:41:03 +11:00
2019-05-30 11:26:32 -07:00
2021-01-29 10:05:51 +05:30
2019-11-13 19:27:40 +11:00
2021-08-13 22:04:26 +10:00
2020-08-07 18:48:15 -07:00
2019-09-14 00:01:14 +10:00
2020-10-07 22:34:47 +11:00
2020-07-26 23:34:20 +10:00
2021-08-13 22:04:26 +10:00
2022-07-12 16:35:02 +02:00
2022-06-09 10:22:42 +02:00
2019-05-30 11:26:32 -07:00
2021-06-17 00:09:00 +10:00
2022-07-12 16:35:02 +02:00
2022-07-12 16:35:02 +02:00
2022-06-09 10:23:07 +02:00
2021-11-18 19:16:51 +01:00
2021-08-18 23:49:55 +10:00
2021-08-25 13:35:47 +10:00
2021-11-25 09:48:44 +01:00
2022-07-12 16:35:02 +02:00
2022-01-27 11:05:01 +01:00
2021-08-25 13:35:47 +10:00
2021-07-26 20:38:51 +10:00
2022-02-23 12:03:14 +01:00
2022-07-12 16:35:02 +02:00
2021-09-03 11:22:50 -07:00
2021-04-03 21:21:41 +11:00
2021-08-13 22:04:26 +10:00
2022-06-14 18:36:27 +02:00
2019-05-30 11:26:32 -07:00
2021-10-20 21:37:58 +11:00
2021-03-29 13:22:10 +11:00
2022-06-14 18:36:27 +02:00
2020-05-07 17:25:54 +10:00
2022-07-12 16:35:02 +02:00
2022-01-27 11:03:22 +01:00
2021-05-28 22:54:27 +10:00
2019-05-30 11:26:32 -07:00
2020-12-04 01:01:09 +11:00
2021-09-03 11:22:50 -07:00
2021-10-07 19:54:55 +11:00
2021-04-30 11:20:40 -07:00
2021-06-17 00:09:00 +10:00
2021-08-13 22:04:26 +10:00
2021-06-25 00:06:55 +10:00
2021-06-25 00:06:55 +10:00
2021-08-09 16:31:54 +10:00
2019-09-14 00:04:40 +10:00
2022-05-01 17:22:28 +02:00
2022-06-14 18:36:27 +02:00
2021-05-12 11:07:39 +10:00
2022-08-17 14:23:05 +02:00
2021-06-21 21:13:19 +10:00
2021-09-13 22:34:12 +10:00
2021-08-25 13:35:47 +10:00
2021-08-25 13:35:47 +10:00
2021-08-25 13:35:47 +10:00
2021-06-16 00:16:48 +10:00
2021-12-22 09:32:49 +01:00
2022-01-27 11:04:08 +01:00
2019-05-30 11:26:32 -07:00
2019-08-30 09:40:15 +10:00
2021-03-08 11:43:27 +01:00
2020-07-26 23:34:19 +10:00
2022-07-12 16:35:02 +02:00
2021-06-25 14:46:51 +10:00
2021-05-17 15:27:15 +10:00
2019-08-22 23:11:48 +10:00
2021-04-30 11:20:40 -07:00
2021-02-09 00:01:05 +11:00
2020-01-06 16:25:29 +11:00
2021-08-10 23:14:57 +10:00
2020-05-18 21:58:44 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-04-04 21:40:57 +11:00
2020-02-04 03:05:26 +00:00
2022-06-29 09:03:30 +02:00
2022-07-07 17:53:24 +02:00
2022-01-27 11:04:06 +01:00
2021-09-03 15:33:47 -07:00
2021-08-25 13:35:47 +10:00
2022-05-09 09:14:44 +02:00
2020-02-04 03:05:26 +00:00
2020-06-09 09:39:13 -07:00
2021-04-14 23:04:16 +10:00
2021-06-25 14:47:20 +10:00
2022-06-29 09:03:30 +02:00
2021-08-10 23:14:56 +10:00
2020-07-16 14:49:53 +10:00
2021-10-07 19:52:58 +11:00
2019-11-13 00:33:22 +11:00
2022-04-13 20:59:08 +02:00
2021-06-17 00:09:00 +10:00
2021-08-13 22:04:26 +10:00
2021-08-13 22:04:26 +10:00
2021-02-09 00:10:50 +11:00
2022-05-01 17:22:28 +02:00
2022-05-01 17:22:28 +02:00
2021-09-22 10:24:01 -04:00
2021-11-25 09:48:44 +01:00
2022-01-27 11:05:02 +01:00
2021-08-03 22:33:37 +10:00
2019-06-14 10:48:56 +02:00
2022-06-14 18:36:27 +02:00
2019-06-19 17:11:22 +02:00
2022-06-14 18:36:27 +02:00
2019-05-30 11:26:32 -07:00
2021-02-11 23:35:07 +11:00
2021-08-25 13:35:48 +10:00
2021-08-07 08:53:59 +10:00
2019-05-30 11:26:32 -07:00
2021-04-14 23:04:16 +10:00
2021-08-20 17:00:53 +10:00
2021-09-03 22:54:12 +10:00
2022-07-12 16:35:02 +02:00
2021-10-07 19:54:55 +11:00
2019-08-30 09:40:15 +10:00
2021-06-21 21:16:31 +10:00
2021-08-19 09:02:55 +09:00
2021-06-25 00:06:55 +10:00
2021-01-30 22:23:42 +11:00
2021-01-30 22:23:42 +11:00
2021-04-14 23:04:44 +10:00
2020-05-19 00:10:37 +10:00
2021-08-18 23:49:55 +10:00
2022-05-09 09:14:44 +02:00
2022-01-27 11:04:57 +01:00