• Arnd Bergmann's avatar
    powerpc: mark local variables around longjmp as volatile · a2305e3d
    Arnd Bergmann authored
    gcc-11 points out that modifying local variables next to a
    longjmp/setjmp may cause undefined behavior:
    
    arch/powerpc/kexec/crash.c: In function 'crash_kexec_prepare_cpus.constprop':
    arch/powerpc/kexec/crash.c:108:22: error: variable 'ncpus' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbere
    d]
    arch/powerpc/kexec/crash.c:109:13: error: variable 'tries' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbere
    d]
    arch/powerpc/xmon/xmon.c: In function 'xmon_print_symbol':
    arch/powerpc/xmon/xmon.c:3625:21: error: variable 'name' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c: In function 'stop_spus':
    arch/powerpc/xmon/xmon.c:4057:13: error: variable 'i' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c: In function 'restart_spus':
    arch/powerpc/xmon/xmon.c:4098:13: error: variable 'i' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c: In function 'dump_opal_msglog':
    arch/powerpc/xmon/xmon.c:3008:16: error: variable 'pos' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c: In function 'show_pte':
    arch/powerpc/xmon/xmon.c:3207:29: error: variable 'tsk' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c: In function 'show_tasks':
    arch/powerpc/xmon/xmon.c:3302:29: error: variable 'tsk' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c: In function 'xmon_core':
    arch/powerpc/xmon/xmon.c:494:13: error: variable 'cmd' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c:860:21: error: variable 'bp' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c:860:21: error: variable 'bp' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    arch/powerpc/xmon/xmon.c:492:48: error: argument 'fromipi' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
    
    According to the documentation, marking these as 'volatile' is
    sufficient to avoid the problem, and it shuts up the warning.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20210429080708.1520360-1-arnd@kernel.org
    a2305e3d
crash.c 8.83 KB