1. 13 Oct, 2020 3 commits
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · 6f5032a8
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
       "This release, we rework the implementation of creating new encrypted
        files in order to fix some deadlocks and prepare for adding fscrypt
        support to CephFS, which Jeff Layton is working on.
      
        We also export a symbol in preparation for the above-mentioned CephFS
        support and also for ext4/f2fs encrypt+casefold support.
      
        Finally, there are a few other small cleanups.
      
        As usual, all these patches have been in linux-next with no reported
        issues, and I've tested them with xfstests"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
        fscrypt: export fscrypt_d_revalidate()
        fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME
        fscrypt: don't call no-key names "ciphertext names"
        fscrypt: use sha256() instead of open coding
        fscrypt: make fscrypt_set_test_dummy_encryption() take a 'const char *'
        fscrypt: handle test_dummy_encryption in more logical way
        fscrypt: move fscrypt_prepare_symlink() out-of-line
        fscrypt: make "#define fscrypt_policy" user-only
        fscrypt: stop pretending that key setup is nofs-safe
        fscrypt: require that fscrypt_encrypt_symlink() already has key
        fscrypt: remove fscrypt_inherit_context()
        fscrypt: adjust logging for in-creation inodes
        ubifs: use fscrypt_prepare_new_inode() and fscrypt_set_context()
        f2fs: use fscrypt_prepare_new_inode() and fscrypt_set_context()
        ext4: use fscrypt_prepare_new_inode() and fscrypt_set_context()
        ext4: factor out ext4_xattr_credits_for_new_inode()
        fscrypt: add fscrypt_prepare_new_inode() and fscrypt_set_context()
        fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
        fscrypt: drop unused inode argument from fscrypt_fname_alloc_buffer
      6f5032a8
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 39a5101f
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Allow DRBG testing through user-space af_alg
         - Add tcrypt speed testing support for keyed hashes
         - Add type-safe init/exit hooks for ahash
      
        Algorithms:
         - Mark arc4 as obsolete and pending for future removal
         - Mark anubis, khazad, sead and tea as obsolete
         - Improve boot-time xor benchmark
         - Add OSCCA SM2 asymmetric cipher algorithm and use it for integrity
      
        Drivers:
         - Fixes and enhancement for XTS in caam
         - Add support for XIP8001B hwrng in xiphera-trng
         - Add RNG and hash support in sun8i-ce/sun8i-ss
         - Allow imx-rngc to be used by kernel entropy pool
         - Use crypto engine in omap-sham
         - Add support for Ingenic X1830 with ingenic"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (205 commits)
        X.509: Fix modular build of public_key_sm2
        crypto: xor - Remove unused variable count in do_xor_speed
        X.509: fix error return value on the failed path
        crypto: bcm - Verify GCM/CCM key length in setkey
        crypto: qat - drop input parameter from adf_enable_aer()
        crypto: qat - fix function parameters descriptions
        crypto: atmel-tdes - use semicolons rather than commas to separate statements
        crypto: drivers - use semicolons rather than commas to separate statements
        hwrng: mxc-rnga - use semicolons rather than commas to separate statements
        hwrng: iproc-rng200 - use semicolons rather than commas to separate statements
        hwrng: stm32 - use semicolons rather than commas to separate statements
        crypto: xor - use ktime for template benchmarking
        crypto: xor - defer load time benchmark to a later time
        crypto: hisilicon/zip - fix the uninitalized 'curr_qm_qp_num'
        crypto: hisilicon/zip - fix the return value when device is busy
        crypto: hisilicon/zip - fix zero length input in GZIP decompress
        crypto: hisilicon/zip - fix the uncleared debug registers
        lib/mpi: Fix unused variable warnings
        crypto: x86/poly1305 - Remove assignments with no effect
        hwrng: npcm - modify readl to readb
        ...
      39a5101f
    • Nick Desaulniers's avatar
      x86/uaccess: utilize CONFIG_CC_HAS_ASM_GOTO_OUTPUT · 865c50e1
      Nick Desaulniers authored
      Clang-11 shipped support for outputs to asm goto statments along the
      fallthrough path.  Double up some of the get_user() and related macros
      to be able to take advantage of this extended GNU C extension. This
      should help improve the generated code's performance for these accesses.
      
      Cc: Bill Wendling <morbo@google.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      865c50e1
  2. 12 Oct, 2020 37 commits
    • Linus Torvalds's avatar
      x86: Make __put_user() generate an out-of-line call · d55564cf
      Linus Torvalds authored
      Instead of inlining the stac/mov/clac sequence (which also requires
      individual exception table entries and several asm instruction
      alternatives entries), just generate "call __put_user_nocheck_X" for the
      __put_user() cases, the same way we changed __get_user earlier.
      
      Unlike the get_user() case, we didn't have the same nice infrastructure
      to just generate the call with a single case, so this actually has to
      change some of the infrastructure in order to do this.  But that only
      cleans up the code further.
      
      So now, instead of using a case statement for the sizes, we just do the
      same thing we've done on the get_user() side for a long time: use the
      size as an immediate constant to the asm, and generate the asm that way
      directly.
      
      In order to handle the special case of 64-bit data on a 32-bit kernel, I
      needed to change the calling convention slightly: the data is passed in
      %eax[:%edx], the pointer in %ecx, and the return value is also returned
      in %ecx.  It used to be returned in %eax, but because of how %eax can
      now be a double register input, we don't want mix that with a
      single-register output.
      
      The actual low-level asm is easier to handle: we'll just share the code
      between the checking and non-checking case, with the non-checking case
      jumping into the middle of the function.  That may sound a bit too
      special, but this code is all very very special anyway, so...
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d55564cf
    • Linus Torvalds's avatar
      x86: Make __get_user() generate an out-of-line call · ea6f043f
      Linus Torvalds authored
      Instead of inlining the whole stac/lfence/mov/clac sequence (which also
      requires individual exception table entries and several asm instruction
      alternatives entries), just generate "call __get_user_nocheck_X" for the
      __get_user() cases.
      
      We can use all the same infrastructure that we already do for the
      regular "get_user()", and the end result is simpler source code, and
      much simpler code generation.
      
      It also means that when I introduce asm goto with input for
      "unsafe_get_user()", there are no nasty interactions with the
      __get_user() code.
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea6f043f
    • Linus Torvalds's avatar
      Merge tag 'locks-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 53acd350
      Linus Torvalds authored
      Pull file locking fix from Jeff Layton:
       "Just a single patch to fix up some tracepoint output"
      
      * tag 'locks-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: Remove extra "0x" in tracepoint format specifier
      53acd350
    • Linus Torvalds's avatar
      Merge branch 'compat.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 22230cd2
      Linus Torvalds authored
      Pull compat mount cleanups from Al Viro:
       "The last remnants of mount(2) compat buried by Christoph.
      
        Buried into NFS, that is.
      
        Generally I'm less enthusiastic about "let's use in_compat_syscall()
        deep in call chain" kind of approach than Christoph seems to be, but
        in this case it's warranted - that had been an NFS-specific wart,
        hopefully not to be repeated in any other filesystems (read: any new
        filesystem introducing non-text mount options will get NAKed even if
        it doesn't mess the layout up).
      
        IOW, not worth trying to grow an infrastructure that would avoid that
        use of in_compat_syscall()..."
      
      * 'compat.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: remove compat_sys_mount
        fs,nfs: lift compat nfs4 mount data handling into the nfs code
        nfs: simplify nfs4_parse_monolithic
      22230cd2
    • Linus Torvalds's avatar
      Merge branch 'work.quota-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e18afa5b
      Linus Torvalds authored
      Pull compat quotactl cleanups from Al Viro:
       "More Christoph's compat cleanups: quotactl(2)"
      
      * 'work.quota-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        quota: simplify the quotactl compat handling
        compat: add a compat_need_64bit_alignment_fixup() helper
        compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h>
      e18afa5b
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 85ed13e7
      Linus Torvalds authored
      Pull compat iovec cleanups from Al Viro:
       "Christoph's series around import_iovec() and compat variant thereof"
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        security/keys: remove compat_keyctl_instantiate_key_iov
        mm: remove compat_process_vm_{readv,writev}
        fs: remove compat_sys_vmsplice
        fs: remove the compat readv/writev syscalls
        fs: remove various compat readv/writev helpers
        iov_iter: transparently handle compat iovecs in import_iovec
        iov_iter: refactor rw_copy_check_uvector and import_iovec
        iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c
        compat.h: fix a spelling error in <linux/compat.h>
      85ed13e7
    • Linus Torvalds's avatar
      Merge branch 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · c9057836
      Linus Torvalds authored
      Pull copy_and_csum cleanups from Al Viro:
       "Saner calling conventions for csum_and_copy_..._user() and friends"
      
      [ Removing 800+ lines of code and cleaning stuff up is good  - Linus ]
      
      * 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ppc: propagate the calling conventions change down to csum_partial_copy_generic()
        amd64: switch csum_partial_copy_generic() to new calling conventions
        sparc64: propagate the calling convention changes down to __csum_partial_copy_...()
        xtensa: propagate the calling conventions change down into csum_partial_copy_generic()
        mips: propagate the calling convention change down into __csum_partial_copy_..._user()
        mips: __csum_partial_copy_kernel() has no users left
        mips: csum_and_copy_{to,from}_user() are never called under KERNEL_DS
        sparc32: propagate the calling conventions change down to __csum_partial_copy_sparc_generic()
        i386: propagate the calling conventions change down to csum_partial_copy_generic()
        sh: propage the calling conventions change down to csum_partial_copy_generic()
        m68k: get rid of zeroing destination on error in csum_and_copy_from_user()
        arm: propagate the calling convention changes down to csum_partial_copy_from_user()
        alpha: propagate the calling convention changes down to csum_partial_copy.c helpers
        saner calling conventions for csum_and_copy_..._user()
        csum_and_copy_..._user(): pass 0xffffffff instead of 0 as initial sum
        csum_partial_copy_nocheck(): drop the last argument
        unify generic instances of csum_partial_copy_nocheck()
        icmp_push_reply(): reorder adding the checksum up
        skb_copy_and_csum_bits(): don't bother with the last argument
      c9057836
    • Linus Torvalds's avatar
      Merge tag 'docs-5.10' of git://git.lwn.net/linux · 50d22834
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "As hoped, things calmed down for docs this cycle; fewer changes and
        almost no conflicts at all. This includes:
      
         - A reworked and expanded user-mode Linux document
      
         - Some simplifications and improvements for submitting-patches.rst
      
         - An emergency fix for (some) problems with Sphinx 3.x
      
         - Some welcome automarkup improvements to automatically generate
           cross-references to struct definitions and other documents
      
         - The usual collection of translation updates, typo fixes, etc"
      
      * tag 'docs-5.10' of git://git.lwn.net/linux: (81 commits)
        gpiolib: Update indentation in driver.rst for code excerpts
        Documentation/admin-guide: tainted-kernels: Fix typo occured
        Documentation: better locations for sysfs-pci, sysfs-tagging
        docs: programming-languages: refresh blurb on clang support
        Documentation: kvm: fix a typo
        Documentation: Chinese translation of Documentation/arm64/amu.rst
        doc: zh_CN: index files in arm64 subdirectory
        mailmap: add entry for <mstarovoitov@marvell.com>
        doc: seq_file: clarify role of *pos in ->next()
        docs: trace: ring-buffer-design.rst: use the new SPDX tag
        Documentation: kernel-parameters: clarify "module." parameters
        Fix references to nommu-mmap.rst
        docs: rewrite admin-guide/sysctl/abi.rst
        docs: fb: Remove vesafb scrollback boot option
        docs: fb: Remove sstfb scrollback boot option
        docs: fb: Remove matroxfb scrollback boot option
        docs: fb: Remove framebuffer scrollback boot option
        docs: replace the old User Mode Linux HowTo with a new one
        Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"
        Documentation/admin-guide: README & svga: remove use of "rdev"
        ...
      50d22834
    • Linus Torvalds's avatar
      Merge tag 'ia64_for_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · ced3a9eb
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Cleanups by Christoph:
      
         - Switch to libata instead of legacy ide driver
      
         - Drop ia64 perfmon (it's been broken for a while)"
      
      * tag 'ia64_for_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: Use libata instead of the legacy ide driver in defconfigs
        ia64: Remove perfmon
      ced3a9eb
    • Linus Torvalds's avatar
      Merge tag 'x86-hyperv-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2646fb03
      Linus Torvalds authored
      Pull x86 Hyper-V update from Ingo Molnar:
       "A single commit harmonizing the x86 and ARM64 Hyper-V constants
        namespace"
      
      * tag 'x86-hyperv-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyperv: Remove aliases with X64 in their name
      2646fb03
    • Linus Torvalds's avatar
      Merge tag 'x86-paravirt-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ee4a9251
      Linus Torvalds authored
      Pull x86 paravirt cleanup from Ingo Molnar:
       "Clean up the paravirt code after the removal of 32-bit Xen PV support"
      
      * tag 'x86-paravirt-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/paravirt: Avoid needless paravirt step clearing page table entries
        x86/paravirt: Remove set_pte_at() pv-op
        x86/entry/32: Simplify CONFIG_XEN_PV build dependency
        x86/paravirt: Use CONFIG_PARAVIRT_XXL instead of CONFIG_PARAVIRT
        x86/paravirt: Clean up paravirt macros
        x86/paravirt: Remove 32-bit support from CONFIG_PARAVIRT_XXL
      ee4a9251
    • Linus Torvalds's avatar
      Merge tag 'x86-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ad884ff3
      Linus Torvalds authored
      Pull x86 build update from Ingo Molnar:
       "Remove a couple of ancient and distracting printouts from the x86
        build, such as the CRC sum or limited size data - most of which can be
        gained via tools"
      
      * tag 'x86-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Declutter the build output
      ad884ff3
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c1b4ec85
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "Do not sync vmalloc/ioremap mappings on x86-64 kernels.
      
        Hopefully now without the bugs!"
      
      * tag 'x86-mm-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/64: Update comment in preallocate_vmalloc_pages()
        x86/mm/64: Do not sync vmalloc/ioremap mappings
      c1b4ec85
    • Linus Torvalds's avatar
      Merge tag 'x86-kaslr-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b85cac57
      Linus Torvalds authored
      Pull x86 kaslr updates from Ingo Molnar:
       "This cleans up and simplifies the x86 KASLR code, and also fixes some
        corner case bugs"
      
      * tag 'x86-kaslr-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        x86/kaslr: Replace strlen() with strnlen()
        x86/kaslr: Add a check that the random address is in range
        x86/kaslr: Make local variables 64-bit
        x86/kaslr: Replace 'unsigned long long' with 'u64'
        x86/kaslr: Make minimum/image_size 'unsigned long'
        x86/kaslr: Small cleanup of find_random_phys_addr()
        x86/kaslr: Drop unnecessary alignment in find_random_virt_addr()
        x86/kaslr: Drop redundant check in store_slot_info()
        x86/kaslr: Make the type of number of slots/slot areas consistent
        x86/kaslr: Drop test for command-line parameters before parsing
        x86/kaslr: Simplify process_gb_huge_pages()
        x86/kaslr: Short-circuit gb_huge_pages on x86-32
        x86/kaslr: Fix off-by-one error in process_gb_huge_pages()
        x86/kaslr: Drop some redundant checks from __process_mem_region()
        x86/kaslr: Drop redundant variable in __process_mem_region()
        x86/kaslr: Eliminate 'start_orig' local variable from __process_mem_region()
        x86/kaslr: Drop redundant cur_entry from __process_mem_region()
        x86/kaslr: Fix off-by-one error in __process_mem_region()
        x86/kaslr: Initialize mem_limit to the real maximum address
        x86/kaslr: Fix process_efi_entries comment
        ...
      b85cac57
    • Linus Torvalds's avatar
      Merge tag 'perf-kprobes-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1c689070
      Linus Torvalds authored
      Pull perf/kprobes updates from Ingo Molnar:
       "This prepares to unify the kretprobe trampoline handler and make
        kretprobe lockless (those patches are still work in progress)"
      
      * tag 'perf-kprobes-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()
        kprobes: Make local functions static
        kprobes: Free kretprobe_instance with RCU callback
        kprobes: Remove NMI context check
        sparc: kprobes: Use generic kretprobe trampoline handler
        sh: kprobes: Use generic kretprobe trampoline handler
        s390: kprobes: Use generic kretprobe trampoline handler
        powerpc: kprobes: Use generic kretprobe trampoline handler
        parisc: kprobes: Use generic kretprobe trampoline handler
        mips: kprobes: Use generic kretprobe trampoline handler
        ia64: kprobes: Use generic kretprobe trampoline handler
        csky: kprobes: Use generic kretprobe trampoline handler
        arc: kprobes: Use generic kretprobe trampoline handler
        arm64: kprobes: Use generic kretprobe trampoline handler
        arm: kprobes: Use generic kretprobe trampoline handler
        x86/kprobes: Use generic kretprobe trampoline handler
        kprobes: Add generic kretprobe trampoline handler
      1c689070
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3bff6112
      Linus Torvalds authored
      Pull performance events updates from Ingo Molnar:
       "x86 Intel updates:
      
         - Add Jasper Lake support
      
         - Add support for TopDown metrics on Ice Lake
      
         - Fix Ice Lake & Tiger Lake uncore support, add Snow Ridge support
      
         - Add a PCI sub driver to support uncore PMUs where the PCI resources
           have been claimed already - extending the range of supported
           systems.
      
        x86 AMD updates:
      
         - Restore 'perf stat -a' behaviour to program the uncore PMU to count
           all CPU threads.
      
         - Fix setting the proper count when sampling Large Increment per
           Cycle events / 'paired' events.
      
         - Fix IBS Fetch sampling on F17h and some other IBS fine tuning,
           greatly reducing the number of interrupts when large sample periods
           are specified.
      
         - Extends Family 17h RAPL support to also work on compatible F19h
           machines.
      
        Core code updates:
      
         - Fix race in perf_mmap_close()
      
         - Add PERF_EV_CAP_SIBLING, to denote that sibling events should be
           closed if the leader is removed.
      
         - Smaller fixes and updates"
      
      * tag 'perf-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
        perf/core: Fix race in the perf_mmap_close() function
        perf/x86: Fix n_metric for cancelled txn
        perf/x86: Fix n_pair for cancelled txn
        x86/events/amd/iommu: Fix sizeof mismatch
        perf/x86/intel: Check perf metrics feature for each CPU
        perf/x86/intel: Fix Ice Lake event constraint table
        perf/x86/intel/uncore: Fix the scale of the IMC free-running events
        perf/x86/intel/uncore: Fix for iio mapping on Skylake Server
        perf/x86/msr: Add Jasper Lake support
        perf/x86/intel: Add Jasper Lake support
        perf/x86/intel/uncore: Reduce the number of CBOX counters
        perf/x86/intel/uncore: Update Ice Lake uncore units
        perf/x86/intel/uncore: Split the Ice Lake and Tiger Lake MSR uncore support
        perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge
        perf/x86/intel/uncore: Generic support for the PCI sub driver
        perf/x86/intel/uncore: Factor out uncore_pci_pmu_unregister()
        perf/x86/intel/uncore: Factor out uncore_pci_pmu_register()
        perf/x86/intel/uncore: Factor out uncore_pci_find_dev_pmu()
        perf/x86/intel/uncore: Factor out uncore_pci_get_dev_die_info()
        perf/amd/uncore: Inform the user how many counters each uncore PMU has
        ...
      3bff6112
    • Linus Torvalds's avatar
      Merge tag 'core-static_call-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dd502a81
      Linus Torvalds authored
      Pull static call support from Ingo Molnar:
       "This introduces static_call(), which is the idea of static_branch()
        applied to indirect function calls. Remove a data load (indirection)
        by modifying the text.
      
        They give the flexibility of function pointers, but with better
        performance. (This is especially important for cases where retpolines
        would otherwise be used, as retpolines can be pretty slow.)
      
        API overview:
      
            DECLARE_STATIC_CALL(name, func);
            DEFINE_STATIC_CALL(name, func);
            DEFINE_STATIC_CALL_NULL(name, typename);
      
            static_call(name)(args...);
            static_call_cond(name)(args...);
            static_call_update(name, func);
      
        x86 is supported via text patching, otherwise basic indirect calls are
        used, with function pointers.
      
        There's a second variant using inline code patching, inspired by
        jump-labels, implemented on x86 as well.
      
        The new APIs are utilized in the x86 perf code, a heavy user of
        function pointers, where static calls speed up the PMU handler by
        4.2% (!).
      
        The generic implementation is not really excercised on other
        architectures, outside of the trivial test_static_call_init()
        self-test"
      
      * tag 'core-static_call-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        static_call: Fix return type of static_call_init
        tracepoint: Fix out of sync data passing by static caller
        tracepoint: Fix overly long tracepoint names
        x86/perf, static_call: Optimize x86_pmu methods
        tracepoint: Optimize using static_call()
        static_call: Allow early init
        static_call: Add some validation
        static_call: Handle tail-calls
        static_call: Add static_call_cond()
        x86/alternatives: Teach text_poke_bp() to emulate RET
        static_call: Add simple self-test for static calls
        x86/static_call: Add inline static call implementation for x86-64
        x86/static_call: Add out-of-line static call implementation
        static_call: Avoid kprobes on inline static_call()s
        static_call: Add inline static call infrastructure
        static_call: Add basic static call infrastructure
        compiler.h: Make __ADDRESSABLE() symbol truly unique
        jump_label,module: Fix module lifetime for __jump_label_mod_text_reserved()
        module: Properly propagate MODULE_STATE_COMING failure
        module: Fix up module_notifier return values
        ...
      dd502a81
    • Linus Torvalds's avatar
      Merge tag 'core-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 34eb62d8
      Linus Torvalds authored
      Pull orphan section checking from Ingo Molnar:
       "Orphan link sections were a long-standing source of obscure bugs,
        because the heuristics that various linkers & compilers use to handle
        them (include these bits into the output image vs discarding them
        silently) are both highly idiosyncratic and also version dependent.
      
        Instead of this historically problematic mess, this tree by Kees Cook
        (et al) adds build time asserts and build time warnings if there's any
        orphan section in the kernel or if a section is not sized as expected.
      
        And because we relied on so many silent assumptions in this area, fix
        a metric ton of dependencies and some outright bugs related to this,
        before we can finally enable the checks on the x86, ARM and ARM64
        platforms"
      
      * tag 'core-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
        x86/boot/compressed: Warn on orphan section placement
        x86/build: Warn on orphan section placement
        arm/boot: Warn on orphan section placement
        arm/build: Warn on orphan section placement
        arm64/build: Warn on orphan section placement
        x86/boot/compressed: Add missing debugging sections to output
        x86/boot/compressed: Remove, discard, or assert for unwanted sections
        x86/boot/compressed: Reorganize zero-size section asserts
        x86/build: Add asserts for unwanted sections
        x86/build: Enforce an empty .got.plt section
        x86/asm: Avoid generating unused kprobe sections
        arm/boot: Handle all sections explicitly
        arm/build: Assert for unwanted sections
        arm/build: Add missing sections
        arm/build: Explicitly keep .ARM.attributes sections
        arm/build: Refactor linker script headers
        arm64/build: Assert for unwanted sections
        arm64/build: Add missing DWARF sections
        arm64/build: Use common DISCARDS in linker script
        arm64/build: Remove .eh_frame* sections due to unwind tables
        ...
      34eb62d8
    • Linus Torvalds's avatar
      Merge tag 'efi-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e6412f98
      Linus Torvalds authored
      Pull EFI changes from Ingo Molnar:
      
       - Preliminary RISC-V enablement - the bulk of it will arrive via the
         RISCV tree.
      
       - Relax decompressed image placement rules for 32-bit ARM
      
       - Add support for passing MOK certificate table contents via a config
         table rather than a EFI variable.
      
       - Add support for 18 bit DIMM row IDs in the CPER records.
      
       - Work around broken Dell firmware that passes the entire Boot####
         variable contents as the command line
      
       - Add definition of the EFI_MEMORY_CPU_CRYPTO memory attribute so we
         can identify it in the memory map listings.
      
       - Don't abort the boot on arm64 if the EFI RNG protocol is available
         but returns with an error
      
       - Replace slashes with exclamation marks in efivarfs file names
      
       - Split efi-pstore from the deprecated efivars sysfs code, so we can
         disable the latter on !x86.
      
       - Misc fixes, cleanups and updates.
      
      * tag 'efi-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
        efi: mokvar: add missing include of asm/early_ioremap.h
        efi: efivars: limit availability to X86 builds
        efi: remove some false dependencies on CONFIG_EFI_VARS
        efi: gsmi: fix false dependency on CONFIG_EFI_VARS
        efi: efivars: un-export efivars_sysfs_init()
        efi: pstore: move workqueue handling out of efivars
        efi: pstore: disentangle from deprecated efivars module
        efi: mokvar-table: fix some issues in new code
        efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure
        efivarfs: Replace invalid slashes with exclamation marks in dentries.
        efi: Delete deprecated parameter comments
        efi/libstub: Fix missing-prototypes in string.c
        efi: Add definition of EFI_MEMORY_CPU_CRYPTO and ability to report it
        cper,edac,efi: Memory Error Record: bank group/address and chip id
        edac,ghes,cper: Add Row Extension to Memory Error Record
        efi/x86: Add a quirk to support command line arguments on Dell EFI firmware
        efi/libstub: Add efi_warn and *_once logging helpers
        integrity: Load certs from the EFI MOK config table
        integrity: Move import of MokListRT certs to a separate routine
        efi: Support for MOK variable config table
        ...
      e6412f98
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ed016af5
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "These are the locking updates for v5.10:
      
         - Add deadlock detection for recursive read-locks.
      
           The rationale is outlined in commit 224ec489 ("lockdep/
           Documention: Recursive read lock detection reasoning")
      
           The main deadlock pattern we want to detect is:
      
                 TASK A:                 TASK B:
      
                 read_lock(X);
                                         write_lock(X);
                 read_lock_2(X);
      
         - Add "latch sequence counters" (seqcount_latch_t):
      
           A sequence counter variant where the counter even/odd value is used
           to switch between two copies of protected data. This allows the
           read path, typically NMIs, to safely interrupt the write side
           critical section.
      
           We utilize this new variant for sched-clock, and to make x86 TSC
           handling safer.
      
         - Other seqlock cleanups, fixes and enhancements
      
         - KCSAN updates
      
         - LKMM updates
      
         - Misc updates, cleanups and fixes"
      
      * tag 'locking-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (67 commits)
        lockdep: Revert "lockdep: Use raw_cpu_*() for per-cpu variables"
        lockdep: Fix lockdep recursion
        lockdep: Fix usage_traceoverflow
        locking/atomics: Check atomic-arch-fallback.h too
        locking/seqlock: Tweak DEFINE_SEQLOCK() kernel doc
        lockdep: Optimize the memory usage of circular queue
        seqlock: Unbreak lockdep
        seqlock: PREEMPT_RT: Do not starve seqlock_t writers
        seqlock: seqcount_LOCKNAME_t: Introduce PREEMPT_RT support
        seqlock: seqcount_t: Implement all read APIs as statement expressions
        seqlock: Use unique prefix for seqcount_t property accessors
        seqlock: seqcount_LOCKNAME_t: Standardize naming convention
        seqlock: seqcount latch APIs: Only allow seqcount_latch_t
        rbtree_latch: Use seqcount_latch_t
        x86/tsc: Use seqcount_latch_t
        timekeeping: Use seqcount_latch_t
        time/sched_clock: Use seqcount_latch_t
        seqlock: Introduce seqcount_latch_t
        mm/swap: Do not abuse the seqcount_t latching API
        time/sched_clock: Use raw_read_seqcount_latch() during suspend
        ...
      ed016af5
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · edaa5ddf
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - reorganize & clean up the SD* flags definitions and add a bunch of
         sanity checks. These new checks caught quite a few bugs or at least
         inconsistencies, resulting in another set of patches.
      
       - rseq updates, add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
      
       - add a new tracepoint to improve CPU capacity tracking
      
       - improve overloaded SMP system load-balancing behavior
      
       - tweak SMT balancing
      
       - energy-aware scheduling updates
      
       - NUMA balancing improvements
      
       - deadline scheduler fixes and improvements
      
       - CPU isolation fixes
      
       - misc cleanups, simplifications and smaller optimizations
      
      * tag 'sched-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
        sched/deadline: Unthrottle PI boosted threads while enqueuing
        sched/debug: Add new tracepoint to track cpu_capacity
        sched/fair: Tweak pick_next_entity()
        rseq/selftests: Test MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
        rseq/selftests,x86_64: Add rseq_offset_deref_addv()
        rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
        sched/fair: Use dst group while checking imbalance for NUMA balancer
        sched/fair: Reduce busy load balance interval
        sched/fair: Minimize concurrent LBs between domain level
        sched/fair: Reduce minimal imbalance threshold
        sched/fair: Relax constraint on task's load during load balance
        sched/fair: Remove the force parameter of update_tg_load_avg()
        sched/fair: Fix wrong cpu selecting from isolated domain
        sched: Remove unused inline function uclamp_bucket_base_value()
        sched/rt: Disable RT_RUNTIME_SHARE by default
        sched/deadline: Fix stale throttling on de-/boosted tasks
        sched/numa: Use runnable_avg to classify node
        sched/topology: Move sd_flag_debug out of #ifdef CONFIG_SYSCTL
        MAINTAINERS: Add myself as SCHED_DEADLINE reviewer
        sched/topology: Move SD_DEGENERATE_GROUPS_MASK out of linux/sched/topology.h
        ...
      edaa5ddf
    • Andy Shevchenko's avatar
      gpiolib: Update indentation in driver.rst for code excerpts · 4fb220da
      Andy Shevchenko authored
      When TABs are being used to indent the code excerpts inside the bullet
      lists some of the tools [vim in particular] fail to recognize it and
      continue interpreting the special characters inside the quoted excerpt.
      
      Update indentation in driver.rst for code excerpts to avoid
      their special interpretation.
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Link: https://lore.kernel.org/r/20201007143817.76335-1-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      4fb220da
    • Naoki Hayama's avatar
    • Linus Torvalds's avatar
      Merge tag 'x86-entry-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13cb7349
      Linus Torvalds authored
      Pull x86 entry code updates from Thomas Gleixner:
       "More consolidation and correctness fixes for the debug exception:
      
         - Ensure BTF synchronization under all circumstances
      
         - Distangle kernel and user mode #DB further
      
         - Get ordering vs. the debug notifier correct to make KGDB work more
           reliably.
      
         - Cleanup historical gunk and make the code simpler to understand"
      
      * tag 'x86-entry-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/debug: Change thread.debugreg6 to thread.virtual_dr6
        x86/debug: Support negative polarity DR6 bits
        x86/debug: Simplify hw_breakpoint_handler()
        x86/debug: Remove aout_dump_debugregs()
        x86/debug: Remove the historical junk
        x86/debug: Move cond_local_irq_enable() block into exc_debug_user()
        x86/debug: Move historical SYSENTER junk into exc_debug_kernel()
        x86/debug: Simplify #DB signal code
        x86/debug: Remove handle_debug(.user) argument
        x86/debug: Move kprobe_debug_handler() into exc_debug_kernel()
        x86/debug: Sync BTF earlier
      13cb7349
    • Linus Torvalds's avatar
      Merge tag 'x86-irq-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cc734372
      Linus Torvalds authored
      Pull x86 irq updates from Thomas Gleixner:
       "Surgery of the MSI interrupt handling to prepare the support of
        upcoming devices which require non-PCI based MSI handling:
      
         - Cleanup historical leftovers all over the place
      
         - Rework the code to utilize more core functionality
      
         - Wrap XEN PCI/MSI interrupts into an irqdomain to make irqdomain
           assignment to PCI devices possible.
      
         - Assign irqdomains to PCI devices at initialization time which
           allows to utilize the full functionality of hierarchical
           irqdomains.
      
         - Remove arch_.*_msi_irq() functions from X86 and utilize the
           irqdomain which is assigned to the device for interrupt management.
      
         - Make the arch_.*_msi_irq() support conditional on a config switch
           and let the last few users select it"
      
      * tag 'x86-irq-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)
        PCI: MSI: Fix Kconfig dependencies for PCI_MSI_ARCH_FALLBACKS
        x86/apic/msi: Unbreak DMAR and HPET MSI
        iommu/amd: Remove domain search for PCI/MSI
        iommu/vt-d: Remove domain search for PCI/MSI[X]
        x86/irq: Make most MSI ops XEN private
        x86/irq: Cleanup the arch_*_msi_irqs() leftovers
        PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable
        x86/pci: Set default irq domain in pcibios_add_device()
        iommm/amd: Store irq domain in struct device
        iommm/vt-d: Store irq domain in struct device
        x86/xen: Wrap XEN MSI management into irqdomain
        irqdomain/msi: Allow to override msi_domain_alloc/free_irqs()
        x86/xen: Consolidate XEN-MSI init
        x86/xen: Rework MSI teardown
        x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init()
        PCI/MSI: Provide pci_dev_has_special_msi_domain() helper
        PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI
        irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI
        x86/irq: Initialize PCI/MSI domain at PCI init time
        x86/pci: Reducde #ifdeffery in PCI init code
        ...
      cc734372
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c457cc80
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "Updates for the interrupt subsystem:
      
        Core:
         - Allow trimming of interrupt hierarchy to support odd hardware
           setups where only a subset of the interrupts requires the full
           hierarchy.
      
         - Allow the retrigger mechanism to follow a hierarchy to simplify
           driver code.
      
         - Provide a mechanism to force enable wakeup interrrupts on suspend.
      
         - More infrastructure to handle IPIs in the core code
      
        Architectures:
         - Convert ARM/ARM64 IPI handling to utilize the interrupt core code.
      
        Drivers:
         - The usual pile of new interrupt chips (MStar, Actions Owl, TI
           PRUSS, Designware ICTL)
      
         - ARM(64) IPI related conversions
      
         - Wakeup support for Qualcom PDC
      
         - Prevent hierarchy corruption in the NVIDIA Tegra driver
      
         - The usual small fixes, improvements and cleanups all over the
           place"
      
      * tag 'irq-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)
        dt-bindings: interrupt-controller: Add MStar interrupt controller
        irqchip/irq-mst: Add MStar interrupt controller support
        soc/tegra: pmc: Don't create fake interrupt hierarchy levels
        soc/tegra: pmc: Allow optional irq parent callbacks
        gpio: tegra186: Allow optional irq parent callbacks
        genirq/irqdomain: Allow partial trimming of irq_data hierarchy
        irqchip/qcom-pdc: Reset PDC interrupts during init
        irqchip/qcom-pdc: Set IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag
        pinctrl: qcom: Set IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag
        genirq/PM: Introduce IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag
        pinctrl: qcom: Use return value from irq_set_wake() call
        pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags
        ARM: Handle no IPI being registered in show_ipi_list()
        MAINTAINERS: Add entries for Actions Semi Owl SIRQ controller
        irqchip: Add Actions Semi Owl SIRQ controller
        dt-bindings: interrupt-controller: Add Actions SIRQ controller binding
        dt-bindings: dw-apb-ictl: Update binding to describe use as primary interrupt controller
        irqchip/dw-apb-ictl: Add primary interrupt controller support
        irqchip/dw-apb-ictl: Refactor priot to introducing hierarchical irq domains
        genirq: Add stub for set_handle_irq() when !GENERIC_IRQ_MULTI_HANDLER
        ...
      c457cc80
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f5f59336
      Linus Torvalds authored
      Pull timekeeping updates from Thomas Gleixner:
       "Updates for timekeeping, timers and related drivers:
      
        Core:
      
         - Early boot support for the NMI safe timekeeper by utilizing
           local_clock() up to the point where timekeeping is initialized.
           This allows printk() to store multiple timestamps in the ringbuffer
           which is useful for coordinating dmesg information across a fleet
           of machines.
      
         - Provide a multi-timestamp accessor for printk()
      
         - Make timer init more robust by checking for invalid timer flags.
      
         - Comma vs semicolon fixes
      
        Drivers:
      
         - Support for new platforms in existing drivers (SP804 and Renesas
           CMT)
      
         - Comma vs semicolon fixes
      
      * tag 'timers-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/armada-370-xp: Use semicolons rather than commas to separate statements
        clocksource/drivers/mps2-timer: Use semicolons rather than commas to separate statements
        timers: Mask invalid flags in do_init_timer()
        clocksource/drivers/sp804: Enable Hisilicon sp804 timer 64bit mode
        clocksource/drivers/sp804: Add support for Hisilicon sp804 timer
        clocksource/drivers/sp804: Support non-standard register offset
        clocksource/drivers/sp804: Prepare for support non-standard register offset
        clocksource/drivers/sp804: Remove a mismatched comment
        clocksource/drivers/sp804: Delete the leading "__" of some functions
        clocksource/drivers/sp804: Remove unused sp804_timer_disable() and timer-sp804.h
        clocksource/drivers/sp804: Cleanup clk_get_sys()
        dt-bindings: timer: renesas,cmt: Document r8a774e1 CMT support
        dt-bindings: timer: renesas,cmt: Document r8a7742 CMT support
        alarmtimer: Convert comma to semicolon
        timekeeping: Provide multi-timestamp accessor to NMI safe timekeeper
        timekeeping: Utilize local_clock() for NMI safe timekeeper during early boot
      f5f59336
    • Linus Torvalds's avatar
      Merge tag 'core-debugobjects-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 20d49bfc
      Linus Torvalds authored
      Pull debugobjects updates from Thomas Gleixner:
       "A small set of updates for debug objects:
      
         - Make all debug object descriptors constant. There is no reason to
           have them writeable.
      
         - Free the per CPU object pool after CPU unplug to avoid memory
           waste"
      
      * tag 'core-debugobjects-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Free per CPU pool after CPU unplug
        treewide: Make all debug_obj_descriptors const
        debugobjects: Allow debug_obj_descr to be const
      20d49bfc
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1e6d1d96
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
       "A single fix making the error message when the opcode bytes at rIP
        cannot be accessed during an oops, more precise"
      
      * tag 'x86_core_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/dumpstack: Fix misleading instruction pointer error message
      1e6d1d96
    • Linus Torvalds's avatar
      Merge tag 'x86_cache_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 64743e65
      Linus Torvalds authored
      Pull x86 cache resource control updates from Borislav Petkov:
      
       - Misc cleanups to the resctrl code in preparation for the ARM side
         (James Morse)
      
       - Add support for controlling per-thread memory bandwidth throttling
         delay values on hw which supports it (Fenghua Yu)
      
      * tag 'x86_cache_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Enable user to view thread or core throttling mode
        x86/resctrl: Enumerate per-thread MBA controls
        cacheinfo: Move resctrl's get_cache_id() to the cacheinfo header file
        x86/resctrl: Add struct rdt_cache::arch_has_{sparse, empty}_bitmaps
        x86/resctrl: Merge AMD/Intel parse_bw() calls
        x86/resctrl: Add struct rdt_membw::arch_needs_linear to explain AMD/Intel MBA difference
        x86/resctrl: Use is_closid_match() in more places
        x86/resctrl: Include pid.h
        x86/resctrl: Use container_of() in delayed_work handlers
        x86/resctrl: Fix stale comment
        x86/resctrl: Remove struct rdt_membw::max_delay
        x86/resctrl: Remove unused struct mbm_state::chunks_bw
      64743e65
    • Linus Torvalds's avatar
      Merge tag 'x86_cleanups_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f94ab231
      Linus Torvalds authored
      Pull x86 cleanups from Borislav Petkov:
       "Misc minor cleanups"
      
      * tag 'x86_cleanups_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/entry: Fix typo in comments for syscall_enter_from_user_mode()
        x86/resctrl: Fix spelling in user-visible warning messages
        x86/entry/64: Do not include inst.h in calling.h
        x86/mpparse: Remove duplicate io_apic.h include
      f94ab231
    • Linus Torvalds's avatar
      Merge tag 'x86_fpu_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a0d445f7
      Linus Torvalds authored
      Pull x86 fpu updates from Borislav Petkov:
      
       - Allow clearcpuid= to accept multiple bits (Arvind Sankar)
      
       - Move clearcpuid= parameter handling earlier in the boot, away from
         the FPU init code and to a generic location (Mike Hommey)
      
      * tag 'x86_fpu_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Handle FPU-related and clearcpuid command line arguments earlier
        x86/fpu: Allow multiple bits in clearcpuid= parameter
      a0d445f7
    • Linus Torvalds's avatar
      Merge tag 'x86_fsgsbase_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 87194efe
      Linus Torvalds authored
      Pull x86 fsgsbase updates from Borislav Petkov:
       "Misc minor cleanups and corrections to the fsgsbase code and
        respective selftests"
      
      * tag 'x86_fsgsbase_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS
        selftests/x86/fsgsbase: Reap a forgotten child
        x86/fsgsbase: Replace static_cpu_has() with boot_cpu_has()
        x86/entry/64: Correct the comment over SAVE_AND_SET_GSBASE
      87194efe
    • Linus Torvalds's avatar
      Merge tag 'x86_misc_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9e536c81
      Linus Torvalds authored
      Pull misc x86 fixes fromm Borislav Petkov:
      
       - Ratelimit the message about writes to unrecognized MSRs so that they
         don't spam the console log (Chris Down)
      
       - Document how the /proc/cpuinfo machinery works for future reference
         (Kyung Min Park, Ricardo Neri and Dave Hansen)
      
       - Correct the current NMI's duration calculation (Libing Zhou)
      
      * tag 'x86_misc_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/nmi: Fix nmi_handle() duration miscalculation
        Documentation/x86: Add documentation for /proc/cpuinfo feature flags
        x86/msr: Make source of unrecognised MSR writes unambiguous
        x86/msr: Prevent userspace MSR access from dominating the console
      9e536c81
    • Linus Torvalds's avatar
      Merge tag 'x86_pasid_for_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac74075e
      Linus Torvalds authored
      Pull x86 PASID updates from Borislav Petkov:
       "Initial support for sharing virtual addresses between the CPU and
        devices which doesn't need pinning of pages for DMA anymore.
      
        Add support for the command submission to devices using new x86
        instructions like ENQCMD{,S} and MOVDIR64B. In addition, add support
        for process address space identifiers (PASIDs) which are referenced by
        those command submission instructions along with the handling of the
        PASID state on context switch as another extended state.
      
        Work by Fenghua Yu, Ashok Raj, Yu-cheng Yu and Dave Jiang"
      
      * tag 'x86_pasid_for_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction
        x86/asm: Carve out a generic movdir64b() helper for general usage
        x86/mmu: Allocate/free a PASID
        x86/cpufeatures: Mark ENQCMD as disabled when configured out
        mm: Add a pasid member to struct mm_struct
        x86/msr-index: Define an IA32_PASID MSR
        x86/fpu/xstate: Add supervisor PASID state for ENQCMD
        x86/cpufeatures: Enumerate ENQCMD and ENQCMDS instructions
        Documentation/x86: Add documentation for SVA (Shared Virtual Addressing)
        iommu/vt-d: Change flags type to unsigned int in binding mm
        drm, iommu: Change type of pasid to u32
      ac74075e
    • Linus Torvalds's avatar
      Merge tag 'x86_platform_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b6591fd
      Linus Torvalds authored
      Pull x86 platform updates from Borislav Petkov:
      
       - Cleanup different aspects of the UV code and start adding support for
         the new UV5 class of systems (Mike Travis)
      
       - Use a flexible array for a dynamically sized struct uv_rtc_timer_head
         (Gustavo A. R. Silva)
      
      * tag 'x86_platform_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/uv: Update Copyrights to conform to HPE standards
        x86/platform/uv: Update for UV5 NMI MMR changes
        x86/platform/uv: Update UV5 TSC checking
        x86/platform/uv: Update node present counting
        x86/platform/uv: Update UV5 MMR references in UV GRU
        x86/platform/uv: Adjust GAM MMR references affected by UV5 updates
        x86/platform/uv: Update MMIOH references based on new UV5 MMRs
        x86/platform/uv: Add and decode Arch Type in UVsystab
        x86/platform/uv: Add UV5 direct references
        x86/platform/uv: Update UV MMRs for UV5
        drivers/misc/sgi-xp: Adjust references in UV kernel modules
        x86/platform/uv: Remove SCIR MMR references for UV systems
        x86/platform/uv: Remove UV BAU TLB Shootdown Handler
        x86/uv/time: Use a flexible array in struct uv_rtc_timer_head
      8b6591fd
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 92a0610b
      Linus Torvalds authored
      Pull x86 cpu updates from Borislav Petkov:
      
       - Add support for hardware-enforced cache coherency on AMD which
         obviates the need to flush cachelines before changing the PTE
         encryption bit (Krish Sadhukhan)
      
       - Add Centaur initialization support for families >= 7 (Tony W Wang-oc)
      
       - Add a feature flag for, and expose TSX suspend load tracking feature
         to KVM (Cathy Zhang)
      
       - Emulate SLDT and STR so that windows programs don't crash on UMIP
         machines (Brendan Shanks and Ricardo Neri)
      
       - Use the new SERIALIZE insn on Intel hardware which supports it
         (Ricardo Neri)
      
       - Misc cleanups and fixes
      
      * tag 'x86_cpu_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        KVM: SVM: Don't flush cache if hardware enforces cache coherency across encryption domains
        x86/mm/pat: Don't flush cache if hardware enforces cache coherency across encryption domnains
        x86/cpu: Add hardware-enforced cache coherency as a CPUID feature
        x86/cpu/centaur: Add Centaur family >=7 CPUs initialization support
        x86/cpu/centaur: Replace two-condition switch-case with an if statement
        x86/kvm: Expose TSX Suspend Load Tracking feature
        x86/cpufeatures: Enumerate TSX suspend load address tracking instructions
        x86/umip: Add emulation/spoofing for SLDT and STR instructions
        x86/cpu: Fix typos and improve the comments in sync_core()
        x86/cpu: Use XGETBV and XSETBV mnemonics in fpu/internal.h
        x86/cpu: Use SERIALIZE in sync_core() when available
      92a0610b