diff options
author | Christophe Leroy <christophe.leroy@csgroup.eu> | 2023-06-05 10:58:35 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-07-19 16:21:37 +0200 |
commit | 7cfd3101113525c512044d0b1a060ae55055490f (patch) | |
tree | 0bbef63579df1f7d909c5d9f4047bd0540fbd7ae /drivers/platform/x86/acerhdf.c | |
parent | af0c61c5bba034e8f3f6df0af71f489b95fdcd7b (diff) | |
download | linux-stable-7cfd3101113525c512044d0b1a060ae55055490f.tar.gz linux-stable-7cfd3101113525c512044d0b1a060ae55055490f.tar.bz2 linux-stable-7cfd3101113525c512044d0b1a060ae55055490f.zip |
powerpc/signal32: Force inlining of __unsafe_save_user_regs() and save_tm_user_regs_unsafe()
[ Upstream commit a03b1a0b19398a47489fdcef02ec19c2ba05a15d ]
Looking at generated code for handle_signal32() shows calls to a
function called __unsafe_save_user_regs.constprop.0 while user access
is open.
And that __unsafe_save_user_regs.constprop.0 function has two nops at
the begining, allowing it to be traced, which is unexpected during
user access open window.
The solution could be to mark __unsafe_save_user_regs() no trace, but
to be on the safe side the most efficient is to flag it __always_inline
as already done for function __unsafe_restore_general_regs(). The
function is relatively small and only called twice, so the size
increase will remain in the noise.
Do the same with save_tm_user_regs_unsafe() as it may suffer the
same issue.
Fixes: ef75e7318294 ("powerpc/signal32: Transform save_user_regs() and save_tm_user_regs() in 'unsafe' version")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/7e469c8f01860a69c1ada3ca6a5e2aa65f0f74b2.1685955220.git.christophe.leroy@csgroup.eu
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/platform/x86/acerhdf.c')
0 files changed, 0 insertions, 0 deletions