From: Linus Torvalds Date: Tue, 27 Oct 2020 21:39:29 +0000 (-0700) Subject: Merge tag 'x86-urgent-2020-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ed8780e3f2ecc82645342d070c6b4e530532e680;p=linux.git Merge tag 'x86-urgent-2020-10-27' of git://git./linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "A couple of x86 fixes which missed rc1 due to my stupidity: - Drop lazy TLB mode before switching to the temporary address space for text patching. text_poke() switches to the temporary mm which clears the lazy mode and restores the original mm afterwards. Due to clearing lazy mode this might restore a already dead mm if exit_mmap() runs in parallel on another CPU. - Document the x32 syscall design fail vs. syscall numbers 512-547 properly. - Fix the ORC unwinder to handle the inactive task frame correctly. This was unearthed due to the slightly different code generation of gcc-10. - Use an up to date screen_info for the boot params of kexec instead of the possibly stale and invalid version which happened to be valid when the kexec kernel was loaded" * tag 'x86-urgent-2020-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/alternative: Don't call text_poke() in lazy TLB mode x86/syscalls: Document the fact that syscalls 512-547 are a legacy mistake x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels hyperv_fb: Update screen_info after removing old framebuffer x86/kexec: Use up-to-dated screen_info copy to fill boot params --- ed8780e3f2ecc82645342d070c6b4e530532e680 diff --cc arch/x86/entry/syscalls/syscall_64.tbl index 1f47e24fb65cf,4adb5d2a3319e..379819244b91d --- a/arch/x86/entry/syscalls/syscall_64.tbl +++ b/arch/x86/entry/syscalls/syscall_64.tbl @@@ -361,13 -361,12 +361,13 @@@ 437 common openat2 sys_openat2 438 common pidfd_getfd sys_pidfd_getfd 439 common faccessat2 sys_faccessat2 +440 common process_madvise sys_process_madvise # - # x32-specific system call numbers start at 512 to avoid cache impact - # for native 64-bit operation. The __x32_compat_sys stubs are created - # on-the-fly for compat_sys_*() compatibility system calls if X86_X32 - # is defined. + # Due to a historical design error, certain syscalls are numbered differently + # in x32 as compared to native x86_64. These syscalls have numbers 512-547. + # Do not add new syscalls to this range. Numbers 548 and above are available + # for non-x32 use. # 512 x32 rt_sigaction compat_sys_rt_sigaction 513 x32 rt_sigreturn compat_sys_x32_rt_sigreturn