OSDN Git Service

soc: apple: rtkit: Do not copy the reg state structure to the stack
authorAsahi Lina <lina@asahilina.net>
Sat, 11 Feb 2023 09:13:02 +0000 (18:13 +0900)
committerArnd Bergmann <arnd@arndb.de>
Mon, 13 Feb 2023 19:20:34 +0000 (20:20 +0100)
commit4ec98e6db9f24a9f4716685c62c9f6c348fec45b
treeaf475f23d7dea9a8c7082244d2bc8af36dc038a4
parent68907175ec5e6a240e724a8e3fa0064baf392b4c
soc: apple: rtkit: Do not copy the reg state structure to the stack

The register state struct is 848 bytes, which ends up bloating the
apple_rtkit_crashlog_dump_regs stack frame beyond 1024 on some
32-bit platforms, triggering compile warnings.

This doesn't matter for 64BIT/ARM64, but there's also no good reason to
copy the structure to the stack in this case. We can use __packed to
avoid alignment issues, there are no double-read hazards, and this is a
fatal error path so performance does not matter.

Fixes: 22991d8d5725 ("soc: apple: rtkit: Add register dump decoding to crashlog")
Signed-off-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/soc/apple/rtkit-crashlog.c