Commit 0f7ce21a authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Michael Ellerman

powerpc: mark more local variables as volatile

A while ago I created a2305e3d ("powerpc: mark local variables
around longjmp as volatile") in order to allow building powerpc with
-Wextra enabled on gcc-11.

I tried this again with gcc-13 and found two more of the same issues,
presumably based on slightly different optimization paths being taken
here:

arch/powerpc/xmon/xmon.c:3306:27: error: variable 'mm' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
arch/powerpc/kexec/crash.c:353:22: error: variable 'i' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]

I checked a bunch of randconfigs and found only these two, so just
address them the same way as the others.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230809131024.2039647-1-arnd@kernel.org
parent 0b5e06e9
...@@ -350,7 +350,7 @@ EXPORT_SYMBOL(crash_shutdown_unregister); ...@@ -350,7 +350,7 @@ EXPORT_SYMBOL(crash_shutdown_unregister);
void default_machine_crash_shutdown(struct pt_regs *regs) void default_machine_crash_shutdown(struct pt_regs *regs)
{ {
unsigned int i; volatile unsigned int i;
int (*old_handler)(struct pt_regs *regs); int (*old_handler)(struct pt_regs *regs);
if (TRAP(regs) == INTERRUPT_SYSTEM_RESET) if (TRAP(regs) == INTERRUPT_SYSTEM_RESET)
......
...@@ -3303,7 +3303,7 @@ static void show_pte(unsigned long addr) ...@@ -3303,7 +3303,7 @@ static void show_pte(unsigned long addr)
{ {
unsigned long tskv = 0; unsigned long tskv = 0;
struct task_struct *volatile tsk = NULL; struct task_struct *volatile tsk = NULL;
struct mm_struct *mm; struct mm_struct *volatile mm;
pgd_t *pgdp; pgd_t *pgdp;
p4d_t *p4dp; p4d_t *p4dp;
pud_t *pudp; pud_t *pudp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment