1. 10 Nov, 2020 20 commits
  2. 29 Oct, 2020 14 commits
  3. 28 Oct, 2020 1 commit
  4. 27 Oct, 2020 5 commits
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ed8780e3
      Linus Torvalds authored
      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
      ed8780e3
    • Linus Torvalds's avatar
      Merge tag 'orphan-handling-v5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 8c2ab803
      Linus Torvalds authored
      Pull orphan section fixes from Kees Cook:
       "A couple corner cases were found from the link-time orphan section
        handling series:
      
         - arm: handle .ARM.exidx and .ARM.extab sections (Nathan Chancellor)
      
         - x86: collect .ctors.* with .ctors (Kees Cook)"
      
      * tag 'orphan-handling-v5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        arm/build: Always handle .ARM.exidx and .ARM.extab sections
        vmlinux.lds.h: Keep .ctors.* with .ctors
      8c2ab803
    • Geert Uytterhoeven's avatar
      mm/process_vm_access: Add missing #include <linux/compat.h> · f78f63da
      Geert Uytterhoeven authored
      With e.g. m68k/defconfig:
      
          mm/process_vm_access.c: In function ‘process_vm_rw’:
          mm/process_vm_access.c:277:5: error: implicit declaration of function ‘in_compat_syscall’ [-Werror=implicit-function-declaration]
            277 |     in_compat_syscall());
      	  |     ^~~~~~~~~~~~~~~~~
      
      Fix this by adding #include <linux/compat.h>.
      
      Reported-by: noreply@ellerman.id.au
      Reported-by: default avatardamian <damian.tometzki@familie-tometzki.de>
      Reported-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
      Fixes: 38dc5079 ("Fix compat regression in process_vm_rw()")
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f78f63da
    • Nathan Chancellor's avatar
      arm/build: Always handle .ARM.exidx and .ARM.extab sections · c39866f2
      Nathan Chancellor authored
      After turning on warnings for orphan section placement, enabling
      CONFIG_UNWINDER_FRAME_POINTER instead of CONFIG_UNWINDER_ARM causes
      thousands of warnings when clang + ld.lld are used:
      
      $ scripts/config --file arch/arm/configs/multi_v7_defconfig \
                       -d CONFIG_UNWINDER_ARM \
                       -e CONFIG_UNWINDER_FRAME_POINTER
      $ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LLVM=1 defconfig zImage
      ld.lld: warning: init/built-in.a(main.o):(.ARM.extab) is being placed in '.ARM.extab'
      ld.lld: warning: init/built-in.a(main.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text'
      ld.lld: warning: init/built-in.a(main.o):(.ARM.extab.ref.text) is being placed in '.ARM.extab.ref.text'
      ld.lld: warning: init/built-in.a(do_mounts.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text'
      ld.lld: warning: init/built-in.a(do_mounts.o):(.ARM.extab) is being placed in '.ARM.extab'
      ld.lld: warning: init/built-in.a(do_mounts_rd.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text'
      ld.lld: warning: init/built-in.a(do_mounts_rd.o):(.ARM.extab) is being placed in '.ARM.extab'
      ld.lld: warning: init/built-in.a(do_mounts_initrd.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text'
      ld.lld: warning: init/built-in.a(initramfs.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text'
      ld.lld: warning: init/built-in.a(initramfs.o):(.ARM.extab) is being placed in '.ARM.extab'
      ld.lld: warning: init/built-in.a(calibrate.o):(.ARM.extab.init.text) is being placed in '.ARM.extab.init.text'
      ld.lld: warning: init/built-in.a(calibrate.o):(.ARM.extab) is being placed in '.ARM.extab'
      
      These sections are handled by the ARM_UNWIND_SECTIONS define, which is
      only added to the list of sections when CONFIG_ARM_UNWIND is set.
      CONFIG_ARM_UNWIND is a hidden symbol that is only selected when
      CONFIG_UNWINDER_ARM is set so CONFIG_UNWINDER_FRAME_POINTER never
      handles these sections. According to the help text of
      CONFIG_UNWINDER_ARM, these sections should be discarded so that the
      kernel image size is not affected.
      
      Fixes: 5a17850e ("arm/build: Warn on orphan section placement")
      Link: https://github.com/ClangBuiltLinux/linux/issues/1152Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Review-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Tested-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      [kees: Made the discard slightly more specific]
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/r/20200928224854.3224862-1-natechancellor@gmail.com
      c39866f2
    • Kees Cook's avatar
      vmlinux.lds.h: Keep .ctors.* with .ctors · 3e663148
      Kees Cook authored
      Under some circumstances, the compiler generates .ctors.* sections. This
      is seen doing a cross compile of x86_64 from a powerpc64el host:
      
      x86_64-linux-gnu-ld: warning: orphan section `.ctors.65435' from `kernel/trace/trace_clock.o' being
      placed in section `.ctors.65435'
      x86_64-linux-gnu-ld: warning: orphan section `.ctors.65435' from `kernel/trace/ftrace.o' being
      placed in section `.ctors.65435'
      x86_64-linux-gnu-ld: warning: orphan section `.ctors.65435' from `kernel/trace/ring_buffer.o' being
      placed in section `.ctors.65435'
      
      Include these orphans along with the regular .ctors section.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Tested-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Fixes: 83109d5d ("x86/build: Warn on orphan section placement")
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Link: https://lore.kernel.org/r/20201005025720.2599682-1-keescook@chromium.org
      3e663148