1. 04 Aug, 2022 3 commits
  2. 03 Aug, 2022 9 commits
    • Ming Lei's avatar
      io_uring: pass correct parameters to io_req_set_res · ff2557b7
      Ming Lei authored
      The two parameters of 'res' and 'cflags' are swapped, so fix it.
      Without this fix, 'ublk del' hangs forever.
      
      Cc: Pavel Begunkov <asml.silence@gmail.com>
      Fixes: de23077e ("io_uring: set completion results upfront")
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Link: https://lore.kernel.org/r/20220803120757.1668278-1-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      ff2557b7
    • Linus Torvalds's avatar
      Merge tag 'flexible-array-transformations-UAPI-6.0-rc1' of... · e2b54210
      Linus Torvalds authored
      Merge tag 'flexible-array-transformations-UAPI-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull uapi flexible array update from Gustavo Silva:
       "A treewide patch that replaces zero-length arrays with flexible-array
        members in UAPI. This has been baking in linux-next for 5 weeks now.
      
        '-fstrict-flex-arrays=3' is coming and we need to land these changes
        to prevent issues like these in the short future:
      
          fs/minix/dir.c:337:3: warning: 'strcpy' will always overflow; destination buffer has size 0, but the source string has length 2 (including NUL byte) [-Wfortify-source]
      		strcpy(de3->name, ".");
      		^
      
        Since these are all [0] to [] changes, the risk to UAPI is nearly
        zero. If this breaks anything, we can use a union with a new member
        name"
      
      Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101836
      
      * tag 'flexible-array-transformations-UAPI-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        treewide: uapi: Replace zero-length arrays with flexible-array members
      e2b54210
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-5.20-rc1' of... · e05d5b9c
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
      
       - timers test build fixes and cleanups for new tool chains
      
       - removing khdr from kselftest framework and main Makefile
      
       - changes to test output messages to improve reports
      
      * tag 'linux-kselftest-next-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (24 commits)
        Makefile: replace headers_install with headers for kselftest
        selftests/landlock: drop deprecated headers dependency
        selftests: timers: clocksource-switch: adapt to kselftest framework
        selftests: timers: clocksource-switch: add 'runtime' command line parameter
        selftests: timers: clocksource-switch: add command line switch to skip sanity check
        selftests: timers: clocksource-switch: sort includes
        selftests: timers: clocksource-switch: fix passing errors from child
        selftests: timers: inconsistency-check: adapt to kselftest framework
        selftests: timers: nanosleep: adapt to kselftest framework
        selftests: timers: fix declarations of main()
        selftests: timers: valid-adjtimex: build fix for newer toolchains
        Makefile: add headers_install to kselftest targets
        selftests: drop KSFT_KHDR_INSTALL make target
        selftests: stop using KSFT_KHDR_INSTALL
        selftests: drop khdr make target
        selftests: drivers/dma-buf: Improve message in selftest summary
        selftests/kcmp: Make the test output consistent and clear
        selftests:timers: globals don't need initialization to 0
        selftests/drivers/gpu: Add error messages to drm_mm.sh
        selftests/tpm2: increase timeout for kselftests
        ...
      e05d5b9c
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-5.20-rc1' of... · 665fe72a
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "This consists of several fixes and an important feature to discourage
        running KUnit tests on production systems. Running tests on a
        production system could leave the system in a bad state.
      
        Summary:
      
         - Add a new taint type, TAINT_TEST to signal that a test has been
           run.
      
           This should discourage people from running these tests on
           production systems, and to make it easier to tell if tests have
           been run accidentally (by loading the wrong configuration, etc)
      
         - Several documentation and tool enhancements and fixes"
      
      * tag 'linux-kselftest-kunit-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (29 commits)
        Documentation: KUnit: Fix example with compilation error
        Documentation: kunit: Add CLI args for kunit_tool
        kcsan: test: Add a .kunitconfig to run KCSAN tests
        kunit: executor: Fix a memory leak on failure in kunit_filter_tests
        clk: explicitly disable CONFIG_UML_PCI_OVER_VIRTIO in .kunitconfig
        mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro
        nitro_enclaves: test: Use kunit_test_suite() macro
        thunderbolt: test: Use kunit_test_suite() macro
        kunit: flatten kunit_suite*** to kunit_suite** in .kunit_test_suites
        kunit: unify module and builtin suite definitions
        selftest: Taint kernel when test module loaded
        module: panic: Taint the kernel when selftest modules load
        Documentation: kunit: fix example run_kunit func to allow spaces in args
        Documentation: kunit: Cleanup run_wrapper, fix x-ref
        kunit: test.h: fix a kernel-doc markup
        kunit: tool: Enable virtio/PCI by default on UML
        kunit: tool: make --kunitconfig repeatable, blindly concat
        kunit: add coverage_uml.config to enable GCOV on UML
        kunit: tool: refactor internal kconfig handling, allow overriding
        kunit: tool: introduce --qemu_args
        ...
      665fe72a
    • Linus Torvalds's avatar
      Merge tag 'docs-6.0' of git://git.lwn.net/linux · aad26f55
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This was a moderately busy cycle for documentation, but nothing
        all that earth-shaking:
      
         - More Chinese translations, and an update to the Italian
           translations.
      
           The Japanese, Korean, and traditional Chinese translations
           are more-or-less unmaintained at this point, instead.
      
         - Some build-system performance improvements.
      
         - The removal of the archaic submitting-drivers.rst document,
           with the movement of what useful material that remained into
           other docs.
      
         - Improvements to sphinx-pre-install to, hopefully, give more
           useful suggestions.
      
         - A number of build-warning fixes
      
        Plus the usual collection of typo fixes, updates, and more"
      
      * tag 'docs-6.0' of git://git.lwn.net/linux: (92 commits)
        docs: efi-stub: Fix paths for x86 / arm stubs
        Docs/zh_CN: Update the translation of sched-stats to 5.19-rc8
        Docs/zh_CN: Update the translation of pci to 5.19-rc8
        Docs/zh_CN: Update the translation of pci-iov-howto to 5.19-rc8
        Docs/zh_CN: Update the translation of usage to 5.19-rc8
        Docs/zh_CN: Update the translation of testing-overview to 5.19-rc8
        Docs/zh_CN: Update the translation of sparse to 5.19-rc8
        Docs/zh_CN: Update the translation of kasan to 5.19-rc8
        Docs/zh_CN: Update the translation of iio_configfs to 5.19-rc8
        doc:it_IT: align Italian documentation
        docs: Remove spurious tag from admin-guide/mm/overcommit-accounting.rst
        Documentation: process: Update email client instructions for Thunderbird
        docs: ABI: correct QEMU fw_cfg spec path
        doc/zh_CN: remove submitting-driver reference from docs
        docs: zh_TW: align to submitting-drivers removal
        docs: zh_CN: align to submitting-drivers removal
        docs: ko_KR: howto: remove reference to removed submitting-drivers
        docs: ja_JP: howto: remove reference to removed submitting-drivers
        docs: it_IT: align to submitting-drivers removal
        docs: process: remove outdated submitting-drivers.rst
        ...
      aad26f55
    • Linus Torvalds's avatar
      Merge tag 'nolibc.2022.07.27a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · b0691222
      Linus Torvalds authored
      Pull nolibc updates from Paul McKenney:
       "This provides nolibc updates, perhaps most notably improved testing
        via the 'cd tools/include/nolibc; make headers' command. This should
        be considered a smoke test. More thorough testing is in the works"
      
      * tag 'nolibc.2022.07.27a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/nolibc: add a help target to list supported targets
        tools/nolibc: make the default target build the headers
        tools/nolibc: fix the makefile to also work as "make -C tools ..."
        tools/nolibc/stdio: Add format attribute to enable printf warnings
        tools/nolibc/stdlib: Support overflow checking for older compiler versions
      b0691222
    • Linus Torvalds's avatar
      Merge tag 'rcu.2022.07.26a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 7d9d077c
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Documentation updates
      
       - Miscellaneous fixes
      
       - Callback-offload updates, perhaps most notably a new
         RCU_NOCB_CPU_DEFAULT_ALL Kconfig option that causes all CPUs to be
         offloaded at boot time, regardless of kernel boot parameters.
      
         This is useful to battery-powered systems such as ChromeOS and
         Android. In addition, a new RCU_NOCB_CPU_CB_BOOST kernel boot
         parameter prevents offloaded callbacks from interfering with
         real-time workloads and with energy-efficiency mechanisms
      
       - Polled grace-period updates, perhaps most notably making these APIs
         account for both normal and expedited grace periods
      
       - Tasks RCU updates, perhaps most notably reducing the CPU overhead of
         RCU tasks trace grace periods by more than a factor of two on a
         system with 15,000 tasks.
      
         The reduction is expected to increase with the number of tasks, so it
         seems reasonable to hypothesize that a system with 150,000 tasks
         might see a 20-fold reduction in CPU overhead
      
       - Torture-test updates
      
       - Updates that merge RCU's dyntick-idle tracking into context tracking,
         thus reducing the overhead of transitioning to kernel mode from
         either idle or nohz_full userspace execution for kernels that track
         context independently of RCU.
      
         This is expected to be helpful primarily for kernels built with
         CONFIG_NO_HZ_FULL=y
      
      * tag 'rcu.2022.07.26a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (98 commits)
        rcu: Add irqs-disabled indicator to expedited RCU CPU stall warnings
        rcu: Diagnose extended sync_rcu_do_polled_gp() loops
        rcu: Put panic_on_rcu_stall() after expedited RCU CPU stall warnings
        rcutorture: Test polled expedited grace-period primitives
        rcu: Add polled expedited grace-period primitives
        rcutorture: Verify that polled GP API sees synchronous grace periods
        rcu: Make Tiny RCU grace periods visible to polled APIs
        rcu: Make polled grace-period API account for expedited grace periods
        rcu: Switch polled grace-period APIs to ->gp_seq_polled
        rcu/nocb: Avoid polling when my_rdp->nocb_head_rdp list is empty
        rcu/nocb: Add option to opt rcuo kthreads out of RT priority
        rcu: Add nocb_cb_kthread check to rcu_is_callbacks_kthread()
        rcu/nocb: Add an option to offload all CPUs on boot
        rcu/nocb: Fix NOCB kthreads spawn failure with rcu_nocb_rdp_deoffload() direct call
        rcu/nocb: Invert rcu_state.barrier_mutex VS hotplug lock locking order
        rcu/nocb: Add/del rdp to iterate from rcuog itself
        rcu/tree: Add comment to describe GP-done condition in fqs loop
        rcu: Initialize first_gp_fqs at declaration in rcu_gp_fqs()
        rcu/kvfree: Remove useless monitor_todo flag
        rcu: Cleanup RCU urgency state for offline CPU
        ...
      7d9d077c
    • Linus Torvalds's avatar
      Merge tag 'v5.20-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · c2a24a7a
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
      "API:
      
         - Make proc files report fips module name and version
      
        Algorithms:
      
         - Move generic SHA1 code into lib/crypto
      
         - Implement Chinese Remainder Theorem for RSA
      
         - Remove blake2s
      
         - Add XCTR with x86/arm64 acceleration
      
         - Add POLYVAL with x86/arm64 acceleration
      
         - Add HCTR2
      
         - Add ARIA
      
        Drivers:
      
         - Add support for new CCP/PSP device ID in ccp"
      
      * tag 'v5.20-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (89 commits)
        crypto: tcrypt - Remove the static variable initialisations to NULL
        crypto: arm64/poly1305 - fix a read out-of-bound
        crypto: hisilicon/zip - Use the bitmap API to allocate bitmaps
        crypto: hisilicon/sec - fix auth key size error
        crypto: ccree - Remove a useless dma_supported() call
        crypto: ccp - Add support for new CCP/PSP device ID
        crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of
        crypto: hisilicon/hpre - don't use GFP_KERNEL to alloc mem during softirq
        crypto: testmgr - some more fixes to RSA test vectors
        cyrpto: powerpc/aes - delete the rebundant word "block" in comments
        hwrng: via - Fix comment typo
        crypto: twofish - Fix comment typo
        crypto: rmd160 - fix Kconfig "its" grammar
        crypto: keembay-ocs-ecc - Drop if with an always false condition
        Documentation: qat: rewrite description
        Documentation: qat: Use code block for qat sysfs example
        crypto: lib - add module license to libsha1
        crypto: lib - make the sha1 library optional
        crypto: lib - move lib/sha1.c into lib/crypto/
        crypto: fips - make proc files report fips module name and version
        ...
      c2a24a7a
    • Linus Torvalds's avatar
      Merge tag 'random-6.0-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · a0b09f2d
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
       "Though there's been a decent amount of RNG-related development during
        this last cycle, not all of it is coming through this tree, as this
        cycle saw a shift toward tackling early boot time seeding issues,
        which took place in other trees as well.
      
        Here's a summary of the various patches:
      
         - The CONFIG_ARCH_RANDOM .config option and the "nordrand" boot
           option have been removed, as they overlapped with the more widely
           supported and more sensible options, CONFIG_RANDOM_TRUST_CPU and
           "random.trust_cpu". This change allowed simplifying a bit of arch
           code.
      
         - x86's RDRAND boot time test has been made a bit more robust, with
           RDRAND disabled if it's clearly producing bogus results. This would
           be a tip.git commit, technically, but I took it through random.git
           to avoid a large merge conflict.
      
         - The RNG has long since mixed in a timestamp very early in boot, on
           the premise that a computer that does the same things, but does so
           starting at different points in wall time, could be made to still
           produce a different RNG state. Unfortunately, the clock isn't set
           early in boot on all systems, so now we mix in that timestamp when
           the time is actually set.
      
         - User Mode Linux now uses the host OS's getrandom() syscall to
           generate a bootloader RNG seed and later on treats getrandom() as
           the platform's RDRAND-like faculty.
      
         - The arch_get_random_{seed_,}_long() family of functions is now
           arch_get_random_{seed_,}_longs(), which enables certain platforms,
           such as s390, to exploit considerable performance advantages from
           requesting multiple CPU random numbers at once, while at the same
           time compiling down to the same code as before on platforms like
           x86.
      
         - A small cleanup changing a cmpxchg() into a try_cmpxchg(), from
           Uros.
      
         - A comment spelling fix"
      
      More info about other random number changes that come in through various
      architecture trees in the full commentary in the pull request:
      
        https://lore.kernel.org/all/20220731232428.2219258-1-Jason@zx2c4.com/
      
      * tag 'random-6.0-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        random: correct spelling of "overwrites"
        random: handle archrandom with multiple longs
        um: seed rng using host OS rng
        random: use try_cmpxchg in _credit_init_bits
        timekeeping: contribute wall clock to rng on time change
        x86/rdrand: Remove "nordrand" flag in favor of "random.trust_cpu"
        random: remove CONFIG_ARCH_RANDOM
      a0b09f2d
  3. 02 Aug, 2022 28 commits
    • Linus Torvalds's avatar
      Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · 569bede0
      Linus Torvalds authored
      Pull fsverity update from Eric Biggers:
       "Just a small documentation update to mention the btrfs support"
      
      * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
        fs-verity: mention btrfs support
      569bede0
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · 04340249
      Linus Torvalds authored
      Pull integrity updates from Mimi Zohar:
       "Aside from the one EVM cleanup patch, all the other changes are kexec
        related.
      
        On different architectures different keyrings are used to verify the
        kexec'ed kernel image signature. Here are a number of preparatory
        cleanup patches and the patches themselves for making the keyrings -
        builtin_trusted_keyring, .machine, .secondary_trusted_keyring, and
        .platform - consistent across the different architectures"
      
      * tag 'integrity-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification
        arm64: kexec_file: use more system keyrings to verify kernel image signature
        kexec, KEYS: make the code in bzImage64_verify_sig generic
        kexec: clean up arch_kexec_kernel_verify_sig
        kexec: drop weak attribute from functions
        kexec_file: drop weak attribute from functions
        evm: Use IS_ENABLED to initialize .enabled
      04340249
    • Linus Torvalds's avatar
      Merge tag 'safesetid-6.0' of https://github.com/micah-morton/linux · 87fe1adb
      Linus Torvalds authored
      Pull SafeSetID updates from Micah Morton:
       "This contains one commit that touches common kernel code, one that
        adds functionality internal to the SafeSetID LSM code, and a few other
        commits that only modify the SafeSetID LSM selftest.
      
        The commit that touches common kernel code simply adds an LSM hook in
        the setgroups() syscall that mirrors what is done for the existing LSM
        hooks in the setuid() and setgid() syscalls. This commit combined with
        the SafeSetID-specific one allow the LSM to filter setgroups() calls
        according to configured rule sets in the same way that is already done
        for setuid() and setgid()"
      
      * tag 'safesetid-6.0' of https://github.com/micah-morton/linux:
        LSM: SafeSetID: add setgroups() testing to selftest
        LSM: SafeSetID: Add setgroups() security policy handling
        security: Add LSM hook to setgroups() syscall
        LSM: SafeSetID: add GID testing to selftest
        LSM: SafeSetID: selftest cleanup and prepare for GIDs
        LSM: SafeSetID: fix userns bug in selftest
      87fe1adb
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-6.0' of https://github.com/cschaufler/smack-next · ea7099d5
      Linus Torvalds authored
      Pull msack updates from Casey Schaufler:
       "Two minor code clean-ups for Smack.
      
        One removes a touch of dead code and the other replaces an instance of
        kzalloc + strncpy with kstrndup"
      
      * tag 'Smack-for-6.0' of https://github.com/cschaufler/smack-next:
        smack: Remove the redundant lsm_inode_alloc
        smack: Replace kzalloc + strncpy with kstrndup
      ea7099d5
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · 1b6cf909
      Linus Torvalds authored
      Pull LSM update from Paul Moore:
       "A maintainer change for the LSM layer: James has asked me to take over
        the day-to-day responsibilities so a single patch to update the
        MAINTAINER info"
      
      * tag 'lsm-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        MAINTAINERS: update the LSM maintainer info
      1b6cf909
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · f42e1e3e
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Two minor audit patches: on marks a function as static, the other
        removes a redundant length check"
      
      * tag 'audit-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: make is_audit_feature_set() static
        audit: remove redundant data_len check
      f42e1e3e
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 79802ada
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "A relatively small set of patches for SELinux this time, eight patches
        in total with really only one significant change.
      
        The highlights are:
      
         - Add support for proper labeling of memfd_secret anonymous inodes.
      
           This will allow LSMs that implement the anonymous inode hooks to
           apply security policy to memfd_secret() fds.
      
         - Various small improvements to memory management: fixed leaks, freed
           memory when needed, boundary checks.
      
         - Hardened the selinux_audit_data struct with __randomize_layout.
      
         - A minor documentation tweak to fix a formatting/style issue"
      
      * tag 'selinux-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: selinux_add_opt() callers free memory
        selinux: Add boundary check in put_entry()
        selinux: fix memleak in security_read_state_kernel()
        docs: selinux: add '=' signs to kernel boot options
        mm: create security context for memfd_secret inodes
        selinux: fix typos in comments
        selinux: drop unnecessary NULL check
        selinux: add __randomize_layout to selinux_audit_data
      79802ada
    • Linus Torvalds's avatar
      Merge tag 'hardening-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 6991a564
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
      
       - Fix Sparse warnings with randomizd kstack (GONG, Ruiqi)
      
       - Replace uintptr_t with unsigned long in usercopy (Jason A. Donenfeld)
      
       - Fix Clang -Wforward warning in LKDTM (Justin Stitt)
      
       - Fix comment to correctly refer to STRICT_DEVMEM (Lukas Bulwahn)
      
       - Introduce dm-verity binding logic to LoadPin LSM (Matthias Kaehlcke)
      
       - Clean up warnings and overflow and KASAN tests (Kees Cook)
      
      * tag 'hardening-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        dm: verity-loadpin: Drop use of dm_table_get_num_targets()
        kasan: test: Silence GCC 12 warnings
        drivers: lkdtm: fix clang -Wformat warning
        x86: mm: refer to the intended config STRICT_DEVMEM in a comment
        dm: verity-loadpin: Use CONFIG_SECURITY_LOADPIN_VERITY for conditional compilation
        LoadPin: Enable loading from trusted dm-verity devices
        dm: Add verity helpers for LoadPin
        stack: Declare {randomize_,}kstack_offset to fix Sparse warnings
        lib: overflow: Do not define 64-bit tests on 32-bit
        MAINTAINERS: Add a general "kernel hardening" section
        usercopy: use unsigned long instead of uintptr_t
      6991a564
    • Linus Torvalds's avatar
      Merge tag 'execve-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · d7b767b5
      Linus Torvalds authored
      Pull execve updates from Kees Cook:
      
       - Allow unsharing time namespace on vfork+exec (Andrei Vagin)
      
       - Replace usage of deprecated kmap APIs (Fabio M. De Francesco)
      
       - Fix spelling mistake (Zhang Jiaming)
      
      * tag 'execve-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        exec: Call kmap_local_page() in copy_string_kernel()
        exec: Fix a spelling mistake
        selftests/timens: add a test for vfork+exit
        fs/exec: allow to unshare a time namespace on vfork+exec
      d7b767b5
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 9a8ac9ee
      Linus Torvalds authored
      Pull seccomp update from Kees Cook:
      
       - Fix Clang build warning (YiFei Zhu)
      
      * tag 'seccomp-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        selftests/seccomp: Fix compile warning when CC=clang
      9a8ac9ee
    • Linus Torvalds's avatar
      Merge tag 'pstore-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · ddd1949f
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
      
       - Migrate to modern acomp crypto interface (Ard Biesheuvel)
      
       - Use better return type for "rcnt" (Dan Carpenter)
      
      * tag 'pstore-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/zone: cleanup "rcnt" type
        pstore: migrate to crypto acomp interface
      ddd1949f
    • Linus Torvalds's avatar
      Merge tag 'for-6.0/dm-changes' of... · 8374cfe6
      Linus Torvalds authored
      Merge tag 'for-6.0/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Refactor DM core's mempool allocation so that it clearer by not being
         split acorss files.
      
       - Improve DM core's BLK_STS_DM_REQUEUE and BLK_STS_AGAIN handling.
      
       - Optimize DM core's more common bio splitting by eliminating the use
         of bio cloning with bio_split+bio_chain. Shift that cloning cost to
         the relatively unlikely dm_io requeue case that only occurs during
         error handling. Introduces dm_io_rewind() that will clone a bio that
         reflects the subset of the original bio that must be requeued.
      
       - Remove DM core's dm_table_get_num_targets() wrapper and audit all
         dm_table_get_target() callers.
      
       - Fix potential for OOM with DM writecache target by setting a default
         MAX_WRITEBACK_JOBS (set to 256MiB or 1/16 of total system memory,
         whichever is smaller).
      
       - Fix DM writecache target's stats that are reported through
         DM-specific table info.
      
       - Fix use-after-free crash in dm_sm_register_threshold_callback().
      
       - Refine DM core's Persistent Reservation handling in preparation for
         broader work Mike Christie is doing to add compatibility with
         Microsoft Windows Failover Cluster.
      
       - Fix various KASAN reported bugs in the DM raid target.
      
       - Fix DM raid target crash due to md_handle_request() bio splitting
         that recurses to block core without properly initializing the bio's
         bi_dev.
      
       - Fix some code comment typos and fix some Documentation formatting.
      
      * tag 'for-6.0/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (29 commits)
        dm: fix dm-raid crash if md_handle_request() splits bio
        dm raid: fix address sanitizer warning in raid_resume
        dm raid: fix address sanitizer warning in raid_status
        dm: Start pr_preempt from the same starting path
        dm: Fix PR release handling for non All Registrants
        dm: Start pr_reserve from the same starting path
        dm: Allow dm_call_pr to be used for path searches
        dm: return early from dm_pr_call() if DM device is suspended
        dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
        dm writecache: count number of blocks discarded, not number of discard bios
        dm writecache: count number of blocks written, not number of write bios
        dm writecache: count number of blocks read, not number of read bios
        dm writecache: return void from functions
        dm kcopyd: use __GFP_HIGHMEM when allocating pages
        dm writecache: set a default MAX_WRITEBACK_JOBS
        Documentation: dm writecache: Render status list as list
        Documentation: dm writecache: add blank line before optional parameters
        dm snapshot: fix typo in snapshot_map() comment
        dm raid: remove redundant "the" in parse_raid_params() comment
        dm cache: fix typo in 2 comment blocks
        ...
      8374cfe6
    • Linus Torvalds's avatar
      Merge tag 'for-5.20/block-2022-07-29' of git://git.kernel.dk/linux-block · c013d0af
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - Improve the type checking of request flags (Bart)
      
       - Ensure queue mapping for a single queues always picks the right queue
         (Bart)
      
       - Sanitize the io priority handling (Jan)
      
       - rq-qos race fix (Jinke)
      
       - Reserved tags handling improvements (John)
      
       - Separate memory alignment from file/disk offset aligment for O_DIRECT
         (Keith)
      
       - Add new ublk driver, userspace block driver using io_uring for
         communication with the userspace backend (Ming)
      
       - Use try_cmpxchg() to cleanup the code in various spots (Uros)
      
       - Finally remove bdevname() (Christoph)
      
       - Clean up the zoned device handling (Christoph)
      
       - Clean up independent access range support (Christoph)
      
       - Clean up and improve block sysfs handling (Christoph)
      
       - Clean up and improve teardown of block devices.
      
         This turns the usual two step process into something that is simpler
         to implement and handle in block drivers (Christoph)
      
       - Clean up chunk size handling (Christoph)
      
       - Misc cleanups and fixes (Bart, Bo, Dan, GuoYong, Jason, Keith, Liu,
         Ming, Sebastian, Yang, Ying)
      
      * tag 'for-5.20/block-2022-07-29' of git://git.kernel.dk/linux-block: (178 commits)
        ublk_drv: fix double shift bug
        ublk_drv: make sure that correct flags(features) returned to userspace
        ublk_drv: fix error handling of ublk_add_dev
        ublk_drv: fix lockdep warning
        block: remove __blk_get_queue
        block: call blk_mq_exit_queue from disk_release for never added disks
        blk-mq: fix error handling in __blk_mq_alloc_disk
        ublk: defer disk allocation
        ublk: rewrite ublk_ctrl_get_queue_affinity to not rely on hctx->cpumask
        ublk: fold __ublk_create_dev into ublk_ctrl_add_dev
        ublk: cleanup ublk_ctrl_uring_cmd
        ublk: simplify ublk_ch_open and ublk_ch_release
        ublk: remove the empty open and release block device operations
        ublk: remove UBLK_IO_F_PREFLUSH
        ublk: add a MAINTAINERS entry
        block: don't allow the same type rq_qos add more than once
        mmc: fix disk/queue leak in case of adding disk failure
        ublk_drv: fix an IS_ERR() vs NULL check
        ublk: remove UBLK_IO_F_INTEGRITY
        ublk_drv: remove unneeded semicolon
        ...
      c013d0af
    • Linus Torvalds's avatar
      Merge tag 'for-5.20/io_uring-zerocopy-send-2022-07-29' of git://git.kernel.dk/linux-block · 42df1cbf
      Linus Torvalds authored
      Pull io_uring zerocopy support from Jens Axboe:
       "This adds support for efficient support for zerocopy sends through
        io_uring. Both ipv4 and ipv6 is supported, as well as both TCP and
        UDP.
      
        The core network changes to support this is in a stable branch from
        Jakub that both io_uring and net-next has pulled in, and the io_uring
        changes are layered on top of that.
      
        All of the work has been done by Pavel"
      
      * tag 'for-5.20/io_uring-zerocopy-send-2022-07-29' of git://git.kernel.dk/linux-block: (34 commits)
        io_uring: notification completion optimisation
        io_uring: export req alloc from core
        io_uring/net: use unsigned for flags
        io_uring/net: make page accounting more consistent
        io_uring/net: checks errors of zc mem accounting
        io_uring/net: improve io_get_notif_slot types
        selftests/io_uring: test zerocopy send
        io_uring: enable managed frags with register buffers
        io_uring: add zc notification flush requests
        io_uring: rename IORING_OP_FILES_UPDATE
        io_uring: flush notifiers after sendzc
        io_uring: sendzc with fixed buffers
        io_uring: allow to pass addr into sendzc
        io_uring: account locked pages for non-fixed zc
        io_uring: wire send zc request type
        io_uring: add notification slot registration
        io_uring: add rsrc referencing for notifiers
        io_uring: complete notifiers in tw
        io_uring: cache struct io_notif
        io_uring: add zc notification infrastructure
        ...
      42df1cbf
    • Linus Torvalds's avatar
      Merge tag 'for-5.20/io_uring-buffered-writes-2022-07-29' of git://git.kernel.dk/linux-block · 98e24746
      Linus Torvalds authored
      Pull io_uring buffered writes support from Jens Axboe:
       "This contains support for buffered writes, specifically for XFS. btrfs
        is in progress, will be coming in the next release.
      
        io_uring does support buffered writes on any file type, but since the
        buffered write path just always -EAGAIN (or -EOPNOTSUPP) any attempt
        to do so if IOCB_NOWAIT is set, any buffered write will effectively be
        handled by io-wq offload. This isn't very efficient, and we even have
        specific code in io-wq to serialize buffered writes to the same inode
        to avoid further inefficiencies with thread offload.
      
        This is particularly sad since most buffered writes don't block, they
        simply copy data to a page and dirty it. With this pull request, we
        can handle buffered writes a lot more effiently.
      
        If balance_dirty_pages() needs to block, we back off on writes as
        indicated.
      
        This improves buffered write support by 2-3x.
      
        Jan Kara helped with the mm bits for this, and Stefan handled the
        fs/iomap/xfs/io_uring parts of it"
      
      * tag 'for-5.20/io_uring-buffered-writes-2022-07-29' of git://git.kernel.dk/linux-block:
        mm: honor FGP_NOWAIT for page cache page allocation
        xfs: Add async buffered write support
        xfs: Specify lockmode when calling xfs_ilock_for_iomap()
        io_uring: Add tracepoint for short writes
        io_uring: fix issue with io_write() not always undoing sb_start_write()
        io_uring: Add support for async buffered writes
        fs: Add async write file modification handling.
        fs: Split off inode_needs_update_time and __file_update_time
        fs: add __remove_file_privs() with flags parameter
        fs: add a FMODE_BUF_WASYNC flags for f_mode
        iomap: Return -EAGAIN from iomap_write_iter()
        iomap: Add async buffered write support
        iomap: Add flags parameter to iomap_page_create()
        mm: Add balance_dirty_pages_ratelimited_flags() function
        mm: Move updates of dirty_exceeded into one place
        mm: Move starting of background writeback into the main balancing loop
      98e24746
    • Linus Torvalds's avatar
      Merge tag 'for-5.20/io_uring-2022-07-29' of git://git.kernel.dk/linux-block · b349b118
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - As per (valid) complaint in the last merge window, fs/io_uring.c has
         grown quite large these days. io_uring isn't really tied to fs
         either, as it supports a wide variety of functionality outside of
         that.
      
         Move the code to io_uring/ and split it into files that either
         implement a specific request type, and split some code into helpers
         as well. The code is organized a lot better like this, and io_uring.c
         is now < 4K LOC (me).
      
       - Deprecate the epoll_ctl opcode. It'll still work, just trigger a
         warning once if used. If we don't get any complaints on this, and I
         don't expect any, then we can fully remove it in a future release
         (me).
      
       - Improve the cancel hash locking (Hao)
      
       - kbuf cleanups (Hao)
      
       - Efficiency improvements to the task_work handling (Dylan, Pavel)
      
       - Provided buffer improvements (Dylan)
      
       - Add support for recv/recvmsg multishot support. This is similar to
         the accept (or poll) support for have for multishot, where a single
         SQE can trigger everytime data is received. For applications that
         expect to do more than a few receives on an instantiated socket, this
         greatly improves efficiency (Dylan).
      
       - Efficiency improvements for poll handling (Pavel)
      
       - Poll cancelation improvements (Pavel)
      
       - Allow specifiying a range for direct descriptor allocations (Pavel)
      
       - Cleanup the cqe32 handling (Pavel)
      
       - Move io_uring types to greatly cleanup the tracing (Pavel)
      
       - Tons of great code cleanups and improvements (Pavel)
      
       - Add a way to do sync cancelations rather than through the sqe -> cqe
         interface, as that's a lot easier to use for some use cases (me).
      
       - Add support to IORING_OP_MSG_RING for sending direct descriptors to a
         different ring. This avoids the usually problematic SCM case, as we
         disallow those. (me)
      
       - Make the per-command alloc cache we use for apoll generic, place
         limits on it, and use it for netmsg as well (me).
      
       - Various cleanups (me, Michal, Gustavo, Uros)
      
      * tag 'for-5.20/io_uring-2022-07-29' of git://git.kernel.dk/linux-block: (172 commits)
        io_uring: ensure REQ_F_ISREG is set async offload
        net: fix compat pointer in get_compat_msghdr()
        io_uring: Don't require reinitable percpu_ref
        io_uring: fix types in io_recvmsg_multishot_overflow
        io_uring: Use atomic_long_try_cmpxchg in __io_account_mem
        io_uring: support multishot in recvmsg
        net: copy from user before calling __get_compat_msghdr
        net: copy from user before calling __copy_msghdr
        io_uring: support 0 length iov in buffer select in compat
        io_uring: fix multishot ending when not polled
        io_uring: add netmsg cache
        io_uring: impose max limit on apoll cache
        io_uring: add abstraction around apoll cache
        io_uring: move apoll cache to poll.c
        io_uring: consolidate hash_locked io-wq handling
        io_uring: clear REQ_F_HASH_LOCKED on hash removal
        io_uring: don't race double poll setting REQ_F_ASYNC_DATA
        io_uring: don't miss setting REQ_F_DOUBLE_POLL
        io_uring: disable multishot recvmsg
        io_uring: only trace one of complete or overflow
        ...
      b349b118
    • Linus Torvalds's avatar
      Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · efb28830
      Linus Torvalds authored
      Pull turbostat updates from Len Brown:
       "Only updating the turbostat tool here, no kernel changes"
      
      * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: version 2022.07.28
        tools/power turbostat: do not decode ACC for ICX and SPR
        tools/power turbostat: fix SPR PC6 limits
        tools/power turbostat: cleanup 'automatic_cstate_conversion_probe()'
        tools/power turbostat: separate SPR from ICX
        tools/power turbosstat: fix comment
        tools/power turbostat: Support RAPTORLAKE P
        tools/power turbostat: add support for ALDERLAKE_N
        tools/power turbostat: dump secondary Turbo-Ratio-Limit
        tools/power turbostat: simplify dump_turbo_ratio_limits()
        tools/power turbostat: dump CPUID.7.EDX.Hybrid
        tools/power turbostat: update turbostat.8
        tools/power turbostat: Show uncore frequency
        tools/power turbostat: Fix file pointer leak
        tools/power turbostat: replace strncmp with single character compare
        tools/power turbostat: print the kernel boot commandline
        tools/power turbostat: Introduce support for RaptorLake
      efb28830
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c1dbe9a1
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These start a rework of the handling of trip points in the thermal
        core, improve the cpufreq/devfreq cooling device handling, update some
        thermal control drivers and the tmon utility and clean up code.
      
        Specifics:
      
         - Consolidate the thermal core code by beginning to move the thermal
           trip structure from the thermal OF code as a generic structure to
           be used by the different sensors when registering a thermal zone
           (Daniel Lezcano).
      
         - Make per cpufreq / devfreq cooling device ops instead of using a
           global variable, fix comments and rework the trace information
           (Lukasz Luba).
      
         - Add the include/dt-bindings/thermal.h under the area covered by the
           thermal maintainer in the MAINTAINERS file (Lukas Bulwahn).
      
         - Improve the error output by giving the sensor identification when a
           thermal zone failed to initialize, the DT bindings by changing the
           positive logic and adding the r8a779f0 support on the rcar3
           (Wolfram Sang).
      
         - Convert the QCom tsens DT binding to the dtsformat format
           (Krzysztof Kozlowski).
      
         - Remove the pointless get_trend() function in the QCom, Ux500 and
           tegra thermal drivers, along with the unused DROP_FULL and
           RAISE_FULL trends definitions. Simplify the code by using clamp()
           macros (Daniel Lezcano).
      
         - Fix ref_table memory leak at probe time on the k3_j72xx bandgap
           (Bryan Brattlof).
      
         - Fix array underflow in prep_lookup_table (Dan Carpenter).
      
         - Add static annotation to the k3_j72xx_bandgap_j7* data structure
           (Jin Xiaoyun).
      
         - Fix typos in comments detected on sun8i by Coccinelle (Julia
           Lawall).
      
         - Fix typos in comments on rzg2l (Biju Das).
      
         - Remove as unnecessary call to dev_err() as the error is already
           printed by the failing function on u8500 (Yang Li).
      
         - Register the thermal zones as hwmon sensors for the Qcom thermal
           sensors (Dmitry Baryshkov).
      
         - Fix 'tmon' tool compilation issue by adding phtread.h include
           (Markus Mayer).
      
         - Fix typo in the comments for the 'tmon' tool (Slark Xiao).
      
         - Make the thermal core use ida_alloc()/free() directly instead of
           ida_simple_get()/ida_simple_remove() that have been deprecated
           (keliu).
      
         - Drop ACPI_FADT_LOW_POWER_S0 check from the Intel PCH thermal
           control driver (Rafael Wysocki)"
      
      * tag 'thermal-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (39 commits)
        thermal/of: Initialize trip points separately
        thermal/of: Use thermal trips stored in the thermal zone
        thermal/core: Add thermal_trip in thermal_zone
        thermal/core: Rename 'trips' to 'num_trips'
        thermal/core: Move thermal_set_delay_jiffies to static
        thermal/core: Remove unneeded EXPORT_SYMBOLS
        thermal/of: Move thermal_trip structure to thermal.h
        thermal/of: Remove the device node pointer for thermal_trip
        thermal/of: Replace device node match with device node search
        thermal/core: Remove duplicate information when an error occurs
        thermal/core: Avoid calling ->get_trip_temp() unnecessarily
        thermal/tools/tmon: Fix typo 'the the' in comment
        thermal/tools/tmon: Include pthread and time headers in tmon.h
        thermal/ti-soc-thermal: Fix comment typo
        thermal/drivers/qcom/spmi-adc-tm5: Register thermal zones as hwmon sensors
        thermal/drivers/qcom/temp-alarm: Register thermal zones as hwmon sensors
        thermal/drivers/u8500: Remove unnecessary print function dev_err()
        thermal/drivers/rzg2l: Fix comments
        thermal/drivers/sun8i: Fix typo in comment
        thermal/drivers/k3_j72xx_bandgap: Make k3_j72xx_bandgap_j721e_data and k3_j72xx_bandgap_j7200_data static
        ...
      c1dbe9a1
    • Linus Torvalds's avatar
      Merge tag 'pm-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a771ea64
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These are mostly minor improvements all over including new CPU IDs for
        the Intel RAPL driver, an Energy Model rework to use micro-Watt as the
        power unit, cpufreq fixes and cleanus, cpuidle updates, devfreq
        updates, documentation cleanups and a new version of the pm-graph
        suite of utilities.
      
        Specifics:
      
         - Make cpufreq_show_cpus() more straightforward (Viresh Kumar).
      
         - Drop unnecessary CPU hotplug locking from store() used by cpufreq
           sysfs attributes (Viresh Kumar).
      
         - Make the ACPI cpufreq driver support the boost control interface on
           Zhaoxin/Centaur processors (Tony W Wang-oc).
      
         - Print a warning message on attempts to free an active cpufreq
           policy which should never happen (Viresh Kumar).
      
         - Fix grammar in the Kconfig help text for the loongson2 cpufreq
           driver (Randy Dunlap).
      
         - Use cpumask_var_t for an on-stack CPU mask in the ondemand cpufreq
           governor (Zhao Liu).
      
         - Add trace points for guest_halt_poll_ns grow/shrink to the haltpoll
           cpuidle driver (Eiichi Tsukata).
      
         - Modify intel_idle to treat C1 and C1E as independent idle states on
           Sapphire Rapids (Artem Bityutskiy).
      
         - Extend support for wakeirq to callback wrappers used during system
           suspend and resume (Ulf Hansson).
      
         - Defer waiting for device probe before loading a hibernation image
           till the first actual device access to avoid possible deadlocks
           reported by syzbot (Tetsuo Handa).
      
         - Unify device_init_wakeup() for PM_SLEEP and !PM_SLEEP (Bjorn
           Helgaas).
      
         - Add Raptor Lake-P to the list of processors supported by the Intel
           RAPL driver (George D Sworo).
      
         - Add Alder Lake-N and Raptor Lake-P to the list of processors for
           which Power Limit4 is supported in the Intel RAPL driver (Sumeet
           Pawnikar).
      
         - Make pm_genpd_remove() check genpd_debugfs_dir against NULL before
           attempting to remove it (Hsin-Yi Wang).
      
         - Change the Energy Model code to represent power in micro-Watts and
           adjust its users accordingly (Lukasz Luba).
      
         - Add new devfreq driver for Mediatek CCI (Cache Coherent
           Interconnect) (Johnson Wang).
      
         - Convert the Samsung Exynos SoC Bus bindings to DT schema of
           exynos-bus.c (Krzysztof Kozlowski).
      
         - Address kernel-doc warnings by adding the description for unused
           function parameters in devfreq core (Mauro Carvalho Chehab).
      
         - Use NULL to pass a null pointer rather than zero according to the
           function propotype in imx-bus.c (Colin Ian King).
      
         - Print error message instead of error interger value in
           tegra30-devfreq.c (Dmitry Osipenko).
      
         - Add checks to prevent setting negative frequency QoS limits for
           CPUs (Shivnandan Kumar).
      
         - Update the pm-graph suite of utilities to the latest revision 5.9
           including multiple improvements (Todd Brandt).
      
         - Drop pme_interrupt reference from the PCI power management
           documentation (Mario Limonciello)"
      
      * tag 'pm-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (27 commits)
        powercap: RAPL: Add Power Limit4 support for Alder Lake-N and Raptor Lake-P
        PM: QoS: Add check to make sure CPU freq is non-negative
        PM: hibernate: defer device probing when resuming from hibernation
        intel_idle: make SPR C1 and C1E be independent
        cpufreq: ondemand: Use cpumask_var_t for on-stack cpu mask
        cpufreq: loongson2: fix Kconfig "its" grammar
        pm-graph v5.9
        cpufreq: Warn users while freeing active policy
        cpufreq: scmi: Support the power scale in micro-Watts in SCMI v3.1
        firmware: arm_scmi: Get detailed power scale from perf
        Documentation: EM: Switch to micro-Watts scale
        PM: EM: convert power field to micro-Watts precision and align drivers
        PM / devfreq: tegra30: Add error message for devm_devfreq_add_device()
        PM / devfreq: imx-bus: use NULL to pass a null pointer rather than zero
        PM / devfreq: shut up kernel-doc warnings
        dt-bindings: interconnect: samsung,exynos-bus: convert to dtschema
        PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver
        dt-bindings: interconnect: Add MediaTek CCI dt-bindings
        PM: domains: Ensure genpd_debugfs_dir exists before remove
        PM: runtime: Extend support for wakeirq for force_suspend|resume
        ...
      a771ea64
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8fa0db3a
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These rework the handling of ACPI device objects to use the driver
        core facilities for managing child ones instead of some questionable
        home-grown ways without the requisite locking and reference counting,
        clean up the EC driver, improve suspend-to-idle handling on x86, add
        some systems to the ACPI backlight quirk list, fix some assorted
        issues, clean up code and improve documentation.
      
        Specifics:
      
         - Use facilities provided by the driver core and some additional
           helpers to handle the children of a given ACPI device object in
           multiple places instead of using the children and node list heads
           in struct acpi_device which is error prone (Rafael Wysocki).
      
         - Fix ACPI-related device reference counting issue in the hisi_lpc
           bus driver (Yang Yingliang).
      
         - Drop the children and node list heads that are not needed any more
           from struct acpi_device (Rafael Wysocki).
      
         - Drop driver member from struct acpi_device (Uwe Kleine-König).
      
         - Drop redundant check from acpi_device_remove() (Uwe Kleine-König).
      
         - Prepare the CPPC library for handling backwards-compatible future
           _CPC return package formats gracefully (Rafael Wysocki).
      
         - Clean up the ACPI EC driver after previous changes in it (Hans de
           Goede).
      
         - Drop leftover acpi_processor_get_limit_info() declaration (Riwen
           Lu).
      
         - Split out thermal initialization from ACPI PSS (Riwen Lu).
      
         - Annotate more functions in the ACPI CPU idle driver to live in the
           cpuidle section (Guilherme G. Piccoli).
      
         - Fix _EINJ vs "special purpose" EFI memory regions (Dan Williams).
      
         - Implement a better fix to avoid spamming the console with old error
           logs (Tony Luck).
      
         - Fix typo in a comment in the APEI code (Xiang wangx).
      
         - Save NVS memory during transitions into S3 on Lenovo G40-45 (Manyi
           Li).
      
         - Add support for upcoming AMD uPEP device ID AMDI008 to the ACPI
           suspend-to-idle driver for x86 platforms (Shyam Sundar S K).
      
         - Clean up checks related to the ACPI_FADT_LOW_POWER_S0 platform flag
           in the LPIT table driver and the suspend-to-idle driver for x86
           platforms (Rafael Wysocki).
      
         - Print information messages regarding declared LPS0 idle support in
           the platform firmware (Rafael Wysocki).
      
         - Fix missing check in register_device_clock() in the ACPI driver for
           Intel SoCs (huhai).
      
         - Fix ACS setup in the VIOT table parser (Eric Auger).
      
         - Skip IRQ override on AMD Zen platforms where it's harmful
           (Chuanhong Guo).
      
         - Use native backlight on Dell Inspiron N4010 (Hans de Goede).
      
         - Use native backlight on some TongFang devices (Werner Sembach).
      
         - Drop X86 dependency from the ACPI backlight driver Kconfig (Riwen
           Lu).
      
         - Shorten the quirk list in the ACPI backlight driver by identifying
           Clevo by board_name only (Werner Sembach).
      
         - Remove useless NULL pointer checks from 2 ACPI PCI link management
           functions (Andrey Strachuk).
      
         - Fix obsolete example in the ACPI EINJ documentation (Qifu Zhang).
      
         - Update links and references to _DSD-related documents (Sudeep
           Holla)"
      
      * tag 'acpi-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (46 commits)
        ACPI/PCI: Remove useless NULL pointer checks
        ACPI: CPPC: Do not prevent CPPC from working in the future
        ACPI: PM: x86: Print messages regarding LPS0 idle support
        ACPI: resource: skip IRQ override on AMD Zen platforms
        Documentation: ACPI: EINJ: Fix obsolete example
        ACPI: video: Use native backlight on Dell Inspiron N4010
        ACPI: PM: s2idle: Use LPS0 idle if ACPI_FADT_LOW_POWER_S0 is unset
        Revert "ACPI / PM: LPIT: Register sysfs attributes based on FADT"
        ACPI: video: Shortening quirk list by identifying Clevo by board_name only
        ACPI: video: Force backlight native for some TongFang devices
        ACPI: PM: s2idle: Add support for upcoming AMD uPEP HID AMDI008
        ACPI: VIOT: Fix ACS setup
        ACPI: bus: Drop unused list heads from struct acpi_device
        hisi_lpc: Use acpi_dev_for_each_child()
        bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()
        ACPI: bus: Drop driver member of struct acpi_device
        ACPI: bus: Drop redundant check in acpi_device_remove()
        ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP
        ACPI: LPSS: Fix missing check in register_device_clock()
        ACPI: APEI: Better fix to avoid spamming the console with old error logs
        ...
      8fa0db3a
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 64ae88ff
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
      
       - Substantial rewrite of lm90 driver to support several additional
         chips and improve support for existing chips.
      
       - Add support of ROG ZENITH II EXTREME, Maximus XI Hero, and
         Strix Z690-a D4 to asus-ec-sensors driver
      
       - Add support of F71858AD to f71882fg driver
      
       - Add support of Aquacomputer Quadro to aquacomputer_d5next driver
      
       - Improved assembler code and add support for Dell G5 5590 as well as
         XPS 13 7390 in dell-smm driver
      
       - Add support for ASUS TUF GAMING B550-PLUS WIFI II to nct775 driver
      
       - Add support for IEEE 754 half precision to PMBus core. Also support
         for Analog Devices LT7182S, improve regulator support, and report
         various MFR register values in debugfs.
      
       - Various other minor improvements and fixes
      
      * tag 'hwmon-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (85 commits)
        hwmon: (aquacomputer_d5next) Add support for Aquacomputer Quadro fan controller
        hwmon: (dell-smm) Improve documentation
        hwmon: (nct6775) add ASUS TUF GAMING B550-PLUS WIFI II
        hwmon: (occ) Replace open-coded variant of %*phN specifier
        hwmon: (sht15) Fix wrong assumptions in device remove callback
        hwmon: (aquacomputer_d5next) Add support for reading the +12V voltage sensor on D5 Next
        hwmon: (tps23861) fix byte order in current and voltage registers
        hwmon: (aspeed-pwm-tacho) increase fan tach period (again)
        hwmon: (aquacomputer_d5next) Add D5 Next fan control support
        hwmon: (mcp3021) improve driver support for newer hwmon interface
        hwmon: (asus-ec-sensors) add definitions for ROG ZENITH II EXTREME
        hwmon: (aquacomputer_d5next) Move device-specific data into struct aqc_data
        hwmon: (asus-ec-sensors) add missing sensors for X570-I GAMING
        hwmon: (drivetemp) Add module alias
        hwmon: (asus_wmi_sensors) Save a few bytes of memory
        hwmon: (lm90) Use worker for alarm notifications
        hwmon: (asus-ec-sensors) add support for Maximus XI Hero
        hwmon: (dell-smm) Improve assembly code
        hwmon: (pmbus/ltc2978) Set voltage resolution
        hwmon: (pmbus) Add list_voltage to pmbus ops
        ...
      64ae88ff
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-5.20-rc1' of... · 530c28df
      Linus Torvalds authored
      Merge tag 'pwm/for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "After v5.19 had all drivers converted to the new atomic API and nobody
        has reported any breakage, this set of changes starts by dropping the
        legacy support.
      
        Some existing drivers get improvements and broader chip support and a
        new driver is added that emulates a PWM controller using a clock
        output.
      
        Other than that there's the usual bits of cleanups and minor fixes"
      
      * tag 'pwm/for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (21 commits)
        pwm: lpc18xx: Fix period handling
        pwm: lpc18xx: Convert to use dev_err_probe()
        pwm: twl-led: Document some limitations and link to the reference manual
        MAINTAINERS: Remove myself as PWM maintainer
        MAINTAINERS: Add include/dt-bindings/pwm to PWM SUBSYSTEM
        dt-bindings: pwm: mediatek: Add compatible string for MT8195
        pwm: Add clock based PWM output driver
        dt-bindings: pwm: Document clk based PWM controller
        pwm: sifive: Shut down hardware only after pwmchip_remove() completed
        pwm: sifive: Ensure the clk is enabled exactly once per running PWM
        pwm: sifive: Simplify clk handling
        pwm: sifive: Enable clk only after period check in .apply()
        pwm: sifive: Reduce time the controller lock is held
        pwm: sifive: Fold pwm_sifive_enable() into its only caller
        pwm: sifive: Simplify offset calculation for PWMCMP registers
        pwm: mediatek: Add MT8365 support
        dt-bindings: pwm: Add MT8365 SoC binding
        pwm: Drop unused forward declaration from pwm.h
        pwm: Reorder header file to get rid of struct pwm_capture forward declaration
        pwm: atmel-tcb: Fix typo in comment
        ...
      530c28df
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 0805c6fb
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "The big update this time around is some excellent work from David
        Jander who went through the fast path and really eliminated overheads,
        meaning that we are seeing a huge reduction in the time spent between
        transfers for single threaded clients.
      
        Benchmarking has been coming out at about a halving of overhead which
        is clearly visible in system level usage that stresses SPI like some
        CAN and IIO applications, especially with small transfers. Thanks to
        David for taking the time to drill down into this and push the work
        upstream.
      
        Otherwise there's been a bunch of new device support and the usual
        updates.
      
         - Optimisation of the fast path, particularly around the number and
           types of locking operations, from David Jander.
      
         - Support for Arbel NPCM845, HP GXP, Intel Meteor Lake and Thunder
           Bay, MediaTek MT8188 and MT8365, Microchip FPGAs, nVidia Tegra 241
           and Samsung Exynos Auto v9 and 4210"
      
      * tag 'spi-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (97 commits)
        MAINTAINERS: add spi support to GXP
        spi: dt-bindings: add documentation for hpe,gxp-spifi
        spi: spi-gxp: Add support for HPE GXP SoCs
        spi: a3700: support BE for AC5 SPI driver
        spi/panel: dt-bindings: drop CPHA and CPOL from common properties
        spi: bcm2835: enable shared interrupt support
        spi: dt-bindings: spi-controller: correct example indentation
        spi: dt-bindings: qcom,spi-geni-qcom: allow three interconnects
        spi: npcm-fiu: Add NPCM8XX support
        dt-binding: spi: Add npcm845 compatible to npcm-fiu document
        spi: npcm-fiu: Modify direct read dummy configuration
        spi: atmel: remove #ifdef CONFIG_{PM, SLEEP}
        spi: dt-bindings: Add compatible for MediaTek MT8188
        spi: dt-bindings: mediatek,spi-mtk-nor: Update bindings for nor flash
        spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
        spi: tegra20-slink: fix UAF in tegra_slink_remove()
        spi: Fix simplification of devm_spi_register_controller
        spi: microchip-core: switch to use dev_err_probe()
        spi: microchip-core: switch to use devm_spi_alloc_master()
        spi: microchip-core: fix UAF in mchp_corespi_remove()
        ...
      0805c6fb
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 416e05e5
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has been a fairly quiet release for the regulator API, a few new
        drivers and a small API update:
      
         - Support for specifying an initial load as part of requesting
           regulators through the bulk API
      
         - Support for Maxim MAX597x, Qualcomm PM8074, PM8909 and Realtek
           RT5120 devices"
      
      * tag 'regulator-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (35 commits)
        regulator: core: Allow drivers to define their init data as const
        regulator: core: Allow specifying an initial load w/ the bulk API
        regulator: mt6380: Fix unused array warning
        regulator: Add missing type for 'regulator-microvolt-offset'
        regulator: core: Fix off-on-delay-us for always-on/boot-on regulators
        regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
        regulator: pwm: Update Lee Jones' email address
        regulator: max597x: Don't return uninitialized variable in .probe
        regulator: qcom,spmi-regulator: add PMP8074 PMIC
        regulator: qcom,spmi-regulator: Convert to dtschema
        regulator: qcom_spmi: add support for PMP8074 regulators
        regulator: qcom_spmi: add support for HT_P600
        regulator: qcom_spmi: add support for HT_P150
        regulator: max597x: Remove unused including <linux/version.h>
        regulator: Fix MFD_MAX597X dependency
        regulator: Fix parameter declaration and spelling mistake.
        regulator: max597x: Add support for max597x regulator
        regulator: scmi: Add missing of_node_get()
        regulator: qcom_smd: Add PM8909 RPM regulators
        regulator: dt-bindings: qcom,smd-rpm: Add PM8909
        ...
      416e05e5
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 2e7a9515
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "The big thing this release is a big cleanup of the interrupt code from
        Aidan MacDonald, plus a few new API updates:
      
         - Rework of the interrupt code, making it much simpler and easier to
           extend
      
         - Support for device specific update bits operations with devices
           that otherwise use bitstream interfaces
      
         - Support for bit operations on fields as well as whole registers"
      
      * tag 'regmap-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: permit to set reg_update_bits with bulk implementation
        regmap: add WARN_ONCE when invalid mask is provided to regmap_field_init()
        regmap-irq: Fix bug in regmap_irq_get_irq_reg_linear()
        regmap: cache: Add extra parameter check in regcache_init
        regmap-irq: Deprecate the not_fixed_stride flag
        regmap-irq: Add get_irq_reg() callback
        regmap-irq: Fix inverted handling of unmask registers
        regmap-irq: Deprecate type registers and virtual registers
        regmap-irq: Introduce config registers for irq types
        regmap-irq: Refactor checks for status bulk read support
        regmap-irq: Remove mask_writeonly and regmap_irq_update_bits()
        regmap-irq: Remove inappropriate uses of regmap_irq_update_bits()
        regmap-irq: Remove an unnecessary restriction on type_in_mask
        regmap-irq: Cleanup sizeof(...) use in memory allocation
        regmap-irq: Remove unused type_reg_stride field
        regmap-irq: Convert bool bitfields to unsigned int
        regmap: Don't warn about cache only mode for devices with no cache
        regmap: provide regmap_field helpers for simple bit operations
        regmap: cache: Fix syntax errors in comments
      2e7a9515
    • Linus Torvalds's avatar
      Merge tag 'arm-boardfiles-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 7d0d3fa7
      Linus Torvalds authored
      Pull ARM boardfile deprecation from Arnd Bergmann:
       "Over the past ten years, new machine support was based on device tree,
        and an initial set of about 400 boards using ATAGS with boardfile for
        booting were grandfathered in, with about half of them either removed
        or converted to DT over time.
      
        Based on the recent mailing list discussion I started, I have now
        turned the findings into a set of patches that marks most board files
        as 'depends on UNUSED_BOARD_FILES', leaving only 38 of the 196 boards.
      
        For the boards that are marked as unused, there are two final chances
        for potential users: The removal is scheduled to take place after the
        longterm stable kernel at the end of 2022, so users can stay on that
        version for another few years, and if anyone still has one of these
        machines and is planning to keep updating kernels beyond that version,
        they can speak up now to have their boards taken off the list again.
      
        Waiting for the LTS release also makes sure that there will be at
        least one longterm kernel that contains the recent multiplatform
        conversion along while still supporting all legacy boards.
      
        The short summary of the current status is:
      
         - The s3c24xx, cns3xxx, iop32x and mv78xx0 platforms have no known
           users and will be removed entirely.
      
         - The mmp and davinci platforms have DT support for the important
           machines and will become DT-only after this.
      
         - s3c64xx, dove, orion5x, and pxa keep some board files to allow
           those to be migrated over to DT more easily, but most board files
           are getting removed now. DT support on these platforms is partially
           working but requires changes to additional drivers for the other
           boards.
      
         - omap1, ep93xx, sa1100, footbridge and rpc have no DT support at the
           moment but have some boards with known users. Removing the board
           files that nobody uses should make it easier to try a DT conversion
           if anyone cares.
      
        There is no explicit timeline what happens with the boards that remain
        after this removal, but I expect to revisit this in the future, and
        with most boards gone, there will be a good time to do a treewide
        review of platform drivers that never gained DT support and have no
        remaining in-tree board files"
      
      Link: https://lore.kernel.org/linux-arm-kernel/CAK8P3a0Z9vGEQbVRBo84bSyPFM-LF+hs5w8ZA51g2Z+NsdtDQA@mail.gmail.com/
      
      * tag 'arm-boardfiles-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: cns3xxx: add CONFIG_UNUSED_BOARD_FILES dependency
        ARM: iop32x: mark as unused
        ARM: s3c: mark most board files as unused
        ARM: omap1: add Kconfig dependencies for unused boards
        ARM: sa1100: mark most boards as unused
        ARM: footbridge: mark cats board for removal
        ARM: mmp: mark all board files for removal
        ARM: ep93xx: mark most board files as unused
        ARM: davinci: mark all ATAGS board files as unused
        ARM: orion: add ATAGS dependencies
        ARM: pxa: add Kconfig dependencies for ATAGS based boards
        ARM: add CONFIG_UNUSED_BOARD_FILES
        ARM: add ATAGS dependencies to non-DT platforms
      7d0d3fa7
    • Linus Torvalds's avatar
      Merge tag 'arm-newsoc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · dd65b964
      Linus Torvalds authored
      Pull ARM new SoC support from Arnd Bergmann:
       "This adds initial support for two SoC families that have been under
        review for a while. In both cases, the origonal idea was to have a
        minimally functional version, but we ended up leaving out the clk
        drivers that are still under review and will be merged through the
        corresponding subsystem tree.
      
        The Nuvoton NPCM8xx is a 64-bit Baseboard Management Controller and
        based on the 32-bit NPCM7xx family but is now getting added to
        arch/arm64 as well.
      
        Sunplus SP7021, also known as Plus1, is a general-purpose
        System-in-Package design based on the 32-bit Cortex-A7 SoC on the main
        chip, plus an I/O chip and memory in the same"
      
      * tag 'arm-newsoc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
        MAINTAINERS: rectify entry for ARM/NUVOTON NPCM ARCHITECTURE
        arm64: defconfig: Add Nuvoton NPCM family support
        arm64: dts: nuvoton: Add initial NPCM845 EVB device tree
        arm64: dts: nuvoton: Add initial NPCM8XX device tree
        arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC
        dt-bindings: arm: npcm: Add nuvoton,npcm845 GCR compatible string
        dt-bindings: arm: npcm: Add nuvoton,npcm845 compatible string
        dt-bindings: arm: npcm: Add maintainer
        reset: npcm: Add NPCM8XX support
        dt-bindings: reset: npcm: Add support for NPCM8XX
        reset: npcm: using syscon instead of device data
        ARM: dts: nuvoton: add reset syscon property
        dt-bindings: reset: npcm: add GCR syscon property
        dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock
        dt-bindings: watchdog: npcm: Add npcm845 compatible string
        dt-bindings: timer: npcm: Add npcm845 compatible string
        ARM: dts: Add Sunplus SP7021-Demo-V3 board device tree
        ARM: sp7021_defconfig: Add Sunplus SP7021 defconfig
        ARM: sunplus: Add initial support for Sunplus SP7021 SoC
        irqchip: Add Sunplus SP7021 interrupt controller driver
        ...
      dd65b964
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 3a829d26
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "This branch includes the usual updates to defconfig files, enabling
        additional driver support for the supported platforms.
      
        There is also a global refresh for all of them that reorders the lines
        according to the 'savedefconfig' output, but without removing lines
        that are no longer part of the refresh.
      
        I went through the most common removed lines to also address them
        while making sure to catch renamed options and add them back under the
        new name.
      
        The boardfile deprecation branch is based on top of this to avoid
        conflicts against removing the unused boardfile configs from the
        generic defconfig files"
      
      * tag 'arm-defconfig-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        arm64: defconfig: Sync some configs with savedefconfig
        arm64: refresh defconfig file
        ARM: defconfig: kill remnants of CONFIG_LEDS
        ARM: defconfig: remove broken CONFIG_THUMB disables
        ARM: defconfig: address renamed CONFIG_DEBUG_INFO=y
        ARM: defconfig: remove stale CONFIG_ZBOOT_ROM entries
        ARM: defconfig: remove irda remnants
        ARM: refresh defconfig files
        arm64: defconfig: Demote Qualcomm USB PHYs to modules
        arm64: defconfig: Enable Qualcomm SC8280XP providers
        ARM: multi_v7_defconfig: Update configs for BCM63138
        arm64: defconfig: enable Qualcomm Bandwidth Monitor
        arm64: defconfig: Enable Allwinner built in CODECs
        arm64: defconfig: Enable qcom interconnect drivers
        arm64: defconfig: Enable qcom ss & hs usb phy
        arm64: defconfig: enable Qualcomm LPG leds driver
        arm64: defconfig: Enable gpio-fan support
        arm64: defconfig: Enable DRM_V3D
        ARM: configs: Enable DRM_V3D
        arm64: defconfig: Enable R8A779G0 SoC
        ...
      3a829d26