RFC compat: in_compat_syscall() differs on x86
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest2 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | x86/compat: Adjust in_compat_syscall() to generic code under !COMPATarch/ arch/ arch/ +4 more | +22 | 0 replies | |
| 2/2 | compat: Cleanup in_compat_syscall() callersdrivers/ kernel/ net/ +1 more | +5 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC 0/2] compat: in_compat_syscall() differs on x86
Reading xfrm (ipsec) code I've found such code:
: #ifdef CONFIG_COMPAT
: if (in_compat_syscall())
: return -EOPNOTSUPP;
: #endif
While I can read that it's false on native i386, it's a bit misleading and in result it's better to introduce a helper for that. Grepping other code, I've found that there are already such helpers. And the uniq behavior of in_compat_syscall() on x86 is disturbing.
Adjusting it to generic with the following..
Cc Ard Biesheuvel <[email protected]>
Cc "David S. Miller" <[email protected]>
Cc Herbert Xu <[email protected]>
Cc "H. Peter Anvin" <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc John Stultz <[email protected]>
Cc "Kirill A. Shutemov" <[email protected]>
Cc Oleg Nesterov <[email protected]>
Cc Steffen Klassert <[email protected]>
Cc Stephen Boyd <[email protected]>
Cc Steven Rostedt <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Dmitry Safonov <[email protected]>
Dmitry Safonov (2):
x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT
compat: Cleanup in_compat_syscall() callers
arch/x86/include/asm/compat.h | 9 ++++++++- arch/x86/include/asm/ftrace.h | 4 +--- arch/x86/kernel/process_64.c | 4 ++-- arch/x86/kernel/sys_x86_64.c | 11 ++++++----- arch/x86/mm/hugetlbpage.c | 4 ++-- arch/x86/mm/mmap.c | 2 +- drivers/firmware/efi/efivars.c | 16 ++++------------ include/linux/compat.h | 4 ++-- kernel/time/time.c | 2 +- net/xfrm/xfrm_state.c | 2 -- net/xfrm/xfrm_user.c | 2 -- 11 files changed, 27 insertions(+), 33 deletions(-)
Signature · 1 line
2.13.6