1. 04 Oct, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · da380aef
      Linus Torvalds authored
      Pull coredump fix from Al Viro:
       "Brown paper bag bug fix for the coredumping fix late in the 6.0
        release cycle"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        [brown paperbag] fix coredump breakage
      da380aef
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20221003' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · 26b84401
      Linus Torvalds authored
      Pull LSM updates from Paul Moore:
       "Seven patches for the LSM layer and we've got a mix of trivial and
        significant patches. Highlights below, starting with the smaller bits
        first so they don't get lost in the discussion of the larger items:
      
         - Remove some redundant NULL pointer checks in the common LSM audit
           code.
      
         - Ratelimit the lockdown LSM's access denial messages.
      
           With this change there is a chance that the last visible lockdown
           message on the console is outdated/old, but it does help preserve
           the initial series of lockdown denials that started the denial
           message flood and my gut feeling is that these might be the more
           valuable messages.
      
         - Open userfaultfds as readonly instead of read/write.
      
           While this code obviously lives outside the LSM, it does have a
           noticeable impact on the LSMs with Ondrej explaining the situation
           in the commit description. It is worth noting that this patch
           languished on the VFS list for over a year without any comments
           (objections or otherwise) so I took the liberty of pulling it into
           the LSM tree after giving fair notice. It has been in linux-next
           since the end of August without any noticeable problems.
      
         - Add a LSM hook for user namespace creation, with implementations
           for both the BPF LSM and SELinux.
      
           Even though the changes are fairly small, this is the bulk of the
           diffstat as we are also including BPF LSM selftests for the new
           hook.
      
           It's also the most contentious of the changes in this pull request
           with Eric Biederman NACK'ing the LSM hook multiple times during its
           development and discussion upstream. While I've never taken NACK's
           lightly, I'm sending these patches to you because it is my belief
           that they are of good quality, satisfy a long-standing need of
           users and distros, and are in keeping with the existing nature of
           the LSM layer and the Linux Kernel as a whole.
      
           The patches in implement a LSM hook for user namespace creation
           that allows for a granular approach, configurable at runtime, which
           enables both monitoring and control of user namespaces. The general
           consensus has been that this is far preferable to the other
           solutions that have been adopted downstream including outright
           removal from the kernel, disabling via system wide sysctls, or
           various other out-of-tree mechanisms that users have been forced to
           adopt since we haven't been able to provide them an upstream
           solution for their requests. Eric has been steadfast in his
           objections to this LSM hook, explaining that any restrictions on
           the user namespace could have significant impact on userspace.
           While there is the possibility of impacting userspace, it is
           important to note that this solution only impacts userspace when it
           is requested based on the runtime configuration supplied by the
           distro/admin/user. Frederick (the pathset author), the LSM/security
           community, and myself have tried to work with Eric during
           development of this patchset to find a mutually acceptable
           solution, but Eric's approach and unwillingness to engage in a
           meaningful way have made this impossible. I have CC'd Eric directly
           on this pull request so he has a chance to provide his side of the
           story; there have been no objections outside of Eric's"
      
      * tag 'lsm-pr-20221003' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lockdown: ratelimit denial messages
        userfaultfd: open userfaultfds with O_RDONLY
        selinux: Implement userns_create hook
        selftests/bpf: Add tests verifying bpf lsm userns_create hook
        bpf-lsm: Make bpf_lsm_userns_create() sleepable
        security, lsm: Introduce security_create_user_ns()
        lsm: clean up redundant NULL pointer check
      26b84401
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20221003' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · e816da29
      Linus Torvalds authored
      Pull SELinux updates from Paul Moore:
       "Six SELinux patches, all are simple and easily understood, but a list
        of the highlights is below:
      
         - Use 'grep -E' instead of 'egrep' in the SELinux policy install
           script.
      
           Fun fact, this seems to be GregKH's *second* dedicated SELinux
           patch since we transitioned to git (ignoring merges, the SPDX
           stuff, and a trivial fs reference removal when lustre was yanked);
           the first was back in 2011 when selinuxfs was placed in
           /sys/fs/selinux. Oh, the memories ...
      
         - Convert the SELinux policy boolean values to use signed integer
           types throughout the SELinux kernel code.
      
           Prior to this we were using a mix of signed and unsigned integers
           which was probably okay in this particular case, but it is
           definitely not a good idea in general.
      
         - Remove a reference to the SELinux runtime disable functionality in
           /etc/selinux/config as we are in the process of deprecating that.
      
           See [1] for more background on this if you missed the previous
           notes on the deprecation.
      
         - Minor cleanups: remove unneeded variables and function parameter
           constification"
      
      Link: https://github.com/SELinuxProject/selinux-kernel/wiki/DEPRECATE-runtime-disable [1]
      
      * tag 'selinux-pr-20221003' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: remove runtime disable message in the install_policy.sh script
        selinux: use "grep -E" instead of "egrep"
        selinux: remove the unneeded result variable
        selinux: declare read-only parameters const
        selinux: use int arrays for boolean values
        selinux: remove an unneeded variable in sel_make_class_dir_entries()
      e816da29
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · eafb121e
      Linus Torvalds authored
      Pull integrity updates from Mimi Zohar:
       "Just two bug fixes"
      
      * tag 'integrity-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        efi: Correct Macmini DMI match in uefi cert quirk
        ima: fix blocking of security.ima xattrs of unsupported algorithms
      eafb121e
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-6.1' of https://github.com/cschaufler/smack-next · 74a0f845
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "Two minor code clean-ups: one removes constants left over from the old
        mount API, while the other gets rid of an unneeded variable.
      
        The other change fixes a flaw in handling IPv6 labeling"
      
      * tag 'Smack-for-6.1' of https://github.com/cschaufler/smack-next:
        smack: cleanup obsolete mount option flags
        smack: lsm: remove the unneeded result variable
        SMACK: Add sk_clone_security LSM hook
      74a0f845
    • Al Viro's avatar
      [brown paperbag] fix coredump breakage · 4f526fef
      Al Viro authored
      Let me count the ways in which I'd screwed up:
      
      * when emitting a page, handling of gaps in coredump should happen
      before fetching the current file position.
      * fix for a problem that occurs on rather uncommon setups (and hadn't
      been observed in the wild) had been sent very late in the cycle.
      * ... with badly insufficient testing, introducing an easily
      reproducible breakage.  Without giving it time to soak in -next.
      Fucked-up-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Reported-by: default avatar"J. R. Okajima" <hooanon05g@gmail.com>
      Tested-by: default avatar"J. R. Okajima" <hooanon05g@gmail.com>
      Fixes: 06bbaa6d "[coredump] don't use __kernel_write() on kmap_local_page()"
      Cc: stable@kernel.org	# v6.0-only
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      4f526fef
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · d0989d01
      Linus Torvalds authored
      Pull kernel hardening updates from Kees Cook:
       "Most of the collected changes here are fixes across the tree for
        various hardening features (details noted below).
      
        The most notable new feature here is the addition of the memcpy()
        overflow warning (under CONFIG_FORTIFY_SOURCE), which is the next step
        on the path to killing the common class of "trivially detectable"
        buffer overflow conditions (i.e. on arrays with sizes known at compile
        time) that have resulted in many exploitable vulnerabilities over the
        years (e.g. BleedingTooth).
      
        This feature is expected to still have some undiscovered false
        positives. It's been in -next for a full development cycle and all the
        reported false positives have been fixed in their respective trees.
        All the known-bad code patterns we could find with Coccinelle are also
        either fixed in their respective trees or in flight.
      
        The commit message in commit 54d9469b ("fortify: Add run-time WARN
        for cross-field memcpy()") for the feature has extensive details, but
        I'll repeat here that this is a warning _only_, and is not intended to
        actually block overflows (yet). The many patches fixing array sizes
        and struct members have been landing for several years now, and we're
        finally able to turn this on to find any remaining stragglers.
      
        Summary:
      
        Various fixes across several hardening areas:
      
         - loadpin: Fix verity target enforcement (Matthias Kaehlcke).
      
         - zero-call-used-regs: Add missing clobbers in paravirt (Bill
           Wendling).
      
         - CFI: clean up sparc function pointer type mismatches (Bart Van
           Assche).
      
         - Clang: Adjust compiler flag detection for various Clang changes
           (Sami Tolvanen, Kees Cook).
      
         - fortify: Fix warnings in arch-specific code in sh, ARM, and xen.
      
        Improvements to existing features:
      
         - testing: improve overflow KUnit test, introduce fortify KUnit test,
           add more coverage to LKDTM tests (Bart Van Assche, Kees Cook).
      
         - overflow: Relax overflow type checking for wider utility.
      
        New features:
      
         - string: Introduce strtomem() and strtomem_pad() to fill a gap in
           strncpy() replacement needs.
      
         - um: Enable FORTIFY_SOURCE support.
      
         - fortify: Enable run-time struct member memcpy() overflow warning"
      
      * tag 'hardening-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (27 commits)
        Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
        hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero
        sparc: Unbreak the build
        x86/paravirt: add extra clobbers with ZERO_CALL_USED_REGS enabled
        x86/paravirt: clean up typos and grammaros
        fortify: Convert to struct vs member helpers
        fortify: Explicitly check bounds are compile-time constants
        x86/entry: Work around Clang __bdos() bug
        ARM: decompressor: Include .data.rel.ro.local
        fortify: Adjust KUnit test for modular build
        sh: machvec: Use char[] for section boundaries
        kunit/memcpy: Avoid pathological compile-time string size
        lib: Improve the is_signed_type() kunit test
        LoadPin: Require file with verity root digests to have a header
        dm: verity-loadpin: Only trust verity targets with enforcement
        LoadPin: Fix Kconfig doc about format of file with verity digests
        um: Enable FORTIFY_SOURCE
        lkdtm: Update tests for memcpy() run-time warnings
        fortify: Add run-time WARN for cross-field memcpy()
        fortify: Use SIZE_MAX instead of (size_t)-1
        ...
      d0989d01
    • Linus Torvalds's avatar
      Merge tag 'kcfi-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 865dad20
      Linus Torvalds authored
      Pull kcfi updates from Kees Cook:
       "This replaces the prior support for Clang's standard Control Flow
        Integrity (CFI) instrumentation, which has required a lot of special
        conditions (e.g. LTO) and work-arounds.
      
        The new implementation ("Kernel CFI") is specific to C, directly
        designed for the Linux kernel, and takes advantage of architectural
        features like x86's IBT. This series retains arm64 support and adds
        x86 support.
      
        GCC support is expected in the future[1], and additional "generic"
        architectural support is expected soon[2].
      
        Summary:
      
         - treewide: Remove old CFI support details
      
         - arm64: Replace Clang CFI support with Clang KCFI support
      
         - x86: Introduce Clang KCFI support"
      
      Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107048 [1]
      Link: https://github.com/samitolvanen/llvm-project/commits/kcfi_generic [2]
      
      * tag 'kcfi-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (22 commits)
        x86: Add support for CONFIG_CFI_CLANG
        x86/purgatory: Disable CFI
        x86: Add types to indirectly called assembly functions
        x86/tools/relocs: Ignore __kcfi_typeid_ relocations
        kallsyms: Drop CONFIG_CFI_CLANG workarounds
        objtool: Disable CFI warnings
        objtool: Preserve special st_shndx indexes in elf_update_symbol
        treewide: Drop __cficanonical
        treewide: Drop WARN_ON_FUNCTION_MISMATCH
        treewide: Drop function_nocfi
        init: Drop __nocfi from __init
        arm64: Drop unneeded __nocfi attributes
        arm64: Add CFI error handling
        arm64: Add types to indirect called assembly functions
        psci: Fix the function type for psci_initcall_t
        lkdtm: Emit an indirect call for CFI tests
        cfi: Add type helper macros
        cfi: Switch to -fsanitize=kcfi
        cfi: Drop __CFI_ADDRESSABLE
        cfi: Remove CONFIG_CFI_CLANG_SHADOW
        ...
      865dad20
  2. 03 Oct, 2022 21 commits
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 12ed00ba
      Linus Torvalds authored
      Pull execve updates from Kees Cook:
       "This removes a.out support globally; it has been disabled for a while
        now.
      
         - Remove a.out implementation globally (Eric W. Biederman)
      
         - Remove unused linux_binprm::taso member (Lukas Bulwahn)"
      
      * tag 'execve-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        binfmt: remove taso from linux_binprm struct
        a.out: Remove the a.out implementation
      12ed00ba
    • Linus Torvalds's avatar
      Merge tag 'rust-v6.1-rc1' of https://github.com/Rust-for-Linux/linux · 8aebac82
      Linus Torvalds authored
      Pull Rust introductory support from Kees Cook:
       "The tree has a recent base, but has fundamentally been in linux-next
        for a year and a half[1]. It's been updated based on feedback from the
        Kernel Maintainer's Summit, and to gain recent Reviewed-by: tags.
      
        Miguel is the primary maintainer, with me helping where needed/wanted.
        Our plan is for the tree to switch to the standard non-rebasing
        practice once this initial infrastructure series lands.
      
        The contents are the absolute minimum to get Rust code building in the
        kernel, with many more interfaces[2] (and drivers - NVMe[3], 9p[4], M1
        GPU[5]) on the way.
      
        The initial support of Rust-for-Linux comes in roughly 4 areas:
      
         - Kernel internals (kallsyms expansion for Rust symbols, %pA format)
      
         - Kbuild infrastructure (Rust build rules and support scripts)
      
         - Rust crates and bindings for initial minimum viable build
      
         - Rust kernel documentation and samples
      
        Rust support has been in linux-next for a year and a half now, and the
        short log doesn't do justice to the number of people who have
        contributed both to the Linux kernel side but also to the upstream
        Rust side to support the kernel's needs. Thanks to these 173 people,
        and many more, who have been involved in all kinds of ways:
      
        Miguel Ojeda, Wedson Almeida Filho, Alex Gaynor, Boqun Feng, Gary Guo,
        Björn Roy Baron, Andreas Hindborg, Adam Bratschi-Kaye, Benno Lossin,
        Maciej Falkowski, Finn Behrens, Sven Van Asbroeck, Asahi Lina, FUJITA
        Tomonori, John Baublitz, Wei Liu, Geoffrey Thomas, Philip Herron,
        Arthur Cohen, David Faust, Antoni Boucher, Philip Li, Yujie Liu,
        Jonathan Corbet, Greg Kroah-Hartman, Paul E. McKenney, Josh Triplett,
        Kent Overstreet, David Gow, Alice Ryhl, Robin Randhawa, Kees Cook,
        Nick Desaulniers, Matthew Wilcox, Linus Walleij, Joe Perches, Michael
        Ellerman, Petr Mladek, Masahiro Yamada, Arnaldo Carvalho de Melo,
        Andrii Nakryiko, Konstantin Shelekhin, Rasmus Villemoes, Konstantin
        Ryabitsev, Stephen Rothwell, Andy Shevchenko, Sergey Senozhatsky, John
        Paul Adrian Glaubitz, David Laight, Nathan Chancellor, Jonathan
        Cameron, Daniel Latypov, Shuah Khan, Brendan Higgins, Julia Lawall,
        Laurent Pinchart, Geert Uytterhoeven, Akira Yokosawa, Pavel Machek,
        David S. Miller, John Hawley, James Bottomley, Arnd Bergmann,
        Christian Brauner, Dan Robertson, Nicholas Piggin, Zhouyi Zhou, Elena
        Zannoni, Jose E. Marchesi, Leon Romanovsky, Will Deacon, Richard
        Weinberger, Randy Dunlap, Paolo Bonzini, Roland Dreier, Mark Brown,
        Sasha Levin, Ted Ts'o, Steven Rostedt, Jarkko Sakkinen, Michal
        Kubecek, Marco Elver, Al Viro, Keith Busch, Johannes Berg, Jan Kara,
        David Sterba, Connor Kuehl, Andy Lutomirski, Andrew Lunn, Alexandre
        Belloni, Peter Zijlstra, Russell King, Eric W. Biederman, Willy
        Tarreau, Christoph Hellwig, Emilio Cobos Álvarez, Christian Poveda,
        Mark Rousskov, John Ericson, TennyZhuang, Xuanwo, Daniel Paoliello,
        Manish Goregaokar, comex, Josh Stone, Stephan Sokolow, Philipp Krones,
        Guillaume Gomez, Joshua Nelson, Mats Larsen, Marc Poulhiès, Samantha
        Miller, Esteban Blanc, Martin Schmidt, Martin Rodriguez Reboredo,
        Daniel Xu, Viresh Kumar, Bartosz Golaszewski, Vegard Nossum, Milan
        Landaverde, Dariusz Sosnowski, Yuki Okushi, Matthew Bakhtiari, Wu
        XiangCheng, Tiago Lam, Boris-Chengbiao Zhou, Sumera Priyadarsini,
        Viktor Garske, Niklas Mohrin, Nándor István Krácser, Morgan Bartlett,
        Miguel Cano, Léo Lanteri Thauvin, Julian Merkle, Andreas Reindl,
        Jiapeng Chong, Fox Chen, Douglas Su, Antonio Terceiro, SeongJae Park,
        Sergio González Collado, Ngo Iok Ui (Wu Yu Wei), Joshua Abraham,
        Milan, Daniel Kolsoi, ahomescu, Manas, Luis Gerhorst, Li Hongyu,
        Philipp Gesang, Russell Currey, Jalil David Salamé Messina, Jon Olson,
        Raghvender, Angelos, Kaviraj Kanagaraj, Paul Römer, Sladyn Nunes,
        Mauro Baladés, Hsiang-Cheng Yang, Abhik Jain, Hongyu Li, Sean Nash,
        Yuheng Su, Peng Hao, Anhad Singh, Roel Kluin, Sara Saa, Geert
        Stappers, Garrett LeSage, IFo Hancroft, and Linus Torvalds"
      
      Link: https://lwn.net/Articles/849849/ [1]
      Link: https://github.com/Rust-for-Linux/linux/commits/rust [2]
      Link: https://github.com/metaspace/rust-linux/commit/d88c3744d6cbdf11767e08bad56cbfb67c4c96d0 [3]
      Link: https://github.com/wedsonaf/linux/commit/9367032607f7670de0ba1537cf09ab0f4365a338 [4]
      Link: https://github.com/AsahiLinux/linux/commits/gpu/rust-wip [5]
      
      * tag 'rust-v6.1-rc1' of https://github.com/Rust-for-Linux/linux: (27 commits)
        MAINTAINERS: Rust
        samples: add first Rust examples
        x86: enable initial Rust support
        docs: add Rust documentation
        Kbuild: add Rust support
        rust: add `.rustfmt.toml`
        scripts: add `is_rust_module.sh`
        scripts: add `rust_is_available.sh`
        scripts: add `generate_rust_target.rs`
        scripts: add `generate_rust_analyzer.py`
        scripts: decode_stacktrace: demangle Rust symbols
        scripts: checkpatch: enable language-independent checks for Rust
        scripts: checkpatch: diagnose uses of `%pA` in the C side as errors
        vsprintf: add new `%pA` format specifier
        rust: export generated symbols
        rust: add `kernel` crate
        rust: add `bindings` crate
        rust: add `macros` crate
        rust: add `compiler_builtins` crate
        rust: adapt `alloc` crate to the kernel
        ...
      8aebac82
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a5088ee7
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "The most significant part of this update is the thermal control DT
        initialization rework from Daniel Lezcano and the following conversion
        of drivers to use the new API introduced by it
      
        Apart from that, the maximum number of trip points in a thermal zone
        is increased and there are some fixes and code cleanups
      
        Specifics:
      
         - Rework the device tree initialization, convert the drivers to the
           new API and remove the old OF code (Daniel Lezcano)
      
         - Fix return value to -ENODEV when searching for a specific thermal
           zone which does not exist (Daniel Lezcano)
      
         - Fix the return value inspection in of_thermal_zone_find() (Dan
           Carpenter)
      
         - Fix kernel panic when KASAN is enabled as it detects use after free
           when unregistering a thermal zone (Daniel Lezcano)
      
         - Move the set_trip ops inside the therma sysfs code (Daniel Lezcano)
      
         - Remove unnecessary error message as it is already shown in the
           underlying function (Jiapeng Chong)
      
         - Rework the monitoring path and move the locks upper in the call
           stack to fix some potentials race windows (Daniel Lezcano)
      
         - Fix lockdep_assert() warning introduced by the lock rework (Daniel
           Lezcano)
      
         - Do not lock thermal zone mutex in the user space governor (Rafael
           Wysocki)
      
         - Revert the Mellanox 'hotter thermal zone' feature because it is
           already handled in the thermal framework core code (Daniel Lezcano)
      
         - Increase maximum number of trip points in the thermal core (Sumeet
           Pawnikar)
      
         - Replace strlcpy() with unused retval with strscpy() in the core
           thermal control code (Wolfram Sang)
      
         - Use module_pci_driver() macro in the int340x processor_thermal
           driver (Shang XiaoJing)
      
         - Use get_cpu() instead of smp_processor_id() in the intel_powerclamp
           thermal driver to prevent it from crashing and remove unused
           accounting for IRQ wakes from it (Srinivas Pandruvada)
      
         - Consolidate priv->data_vault checks in int340x_thermal (Rafael
           Wysocki)
      
         - Check the policy first in cpufreq_cooling_register() (Xuewen Yan)
      
         - Drop redundant error message from da9062-thermal (zhaoxiao)
      
         - Drop of_match_ptr() from thermal_mmio (Jean Delvare)"
      
      * tag 'thermal-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (55 commits)
        thermal: core: Increase maximum number of trip points
        thermal: int340x: processor_thermal: Use module_pci_driver() macro
        thermal: intel_powerclamp: Remove accounting for IRQ wakes
        thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to avoid crash
        thermal: int340x_thermal: Consolidate priv->data_vault checks
        thermal: cpufreq_cooling: Check the policy first in cpufreq_cooling_register()
        thermal: Drop duplicate words from comments
        thermal: move from strlcpy() with unused retval to strscpy()
        thermal: da9062-thermal: Drop redundant error message
        thermal/drivers/thermal_mmio: Drop of_match_ptr()
        thermal: gov_user_space: Do not lock thermal zone mutex
        Revert "mlxsw: core: Add the hottest thermal zone detection"
        thermal/core: Fix lockdep_assert() warning
        thermal/core: Move the mutex inside the thermal_zone_device_update() function
        thermal/core: Move the thermal zone lock out of the governors
        thermal/governors: Group the thermal zone lock inside the throttle function
        thermal/core: Rework the monitoring a bit
        thermal/core: Rearm the monitoring only one time
        thermal/drivers/qcom/spmi-adc-tm5: Remove unnecessary print function dev_err()
        thermal/of: Remove old OF code
        ...
      a5088ee7
    • Linus Torvalds's avatar
      Merge tag 'pm-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c79e6fa9
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These add support for some new hardware, extend the existing hardware
        support, fix some issues and clean up code
      
        Specifics:
      
         - Add isupport for Tiger Lake in no-HWP mode to intel_pstate (Doug
           Smythies)
      
         - Update the AMD P-state driver (Perry Yuan):
            - Fix wrong lowest perf fetch
            - Map desired perf into pstate scope for powersave governor
            - Update pstate frequency transition delay time
            - Fix initial highest_perf value
            - Clean up
      
         - Move max CPU capacity to sugov_policy in the schedutil cpufreq
           governor (Lukasz Luba)
      
         - Add SM6115 to cpufreq-dt blocklist (Adam Skladowski)
      
         - Add support for Tegra239 and minor cleanups (Sumit Gupta, ye
           xingchen, and Yang Yingliang)
      
         - Add freq qos for qcom cpufreq driver and minor cleanups (Xuewen
           Yan, and Viresh Kumar)
      
         - Minor cleanups around functions called at module_init() (Xiu
           Jianfeng)
      
         - Use module_init and add module_exit for bmips driver (Zhang
           Jianhua)
      
         - Add AlderLake-N support to intel_idle (Zhang Rui)
      
         - Replace strlcpy() with unused retval with strscpy() in intel_idle
           (Wolfram Sang)
      
         - Remove redundant check from cpuidle_switch_governor() (Yu Liao)
      
         - Replace strlcpy() with unused retval with strscpy() in the powernv
           cpuidle driver (Wolfram Sang)
      
         - Drop duplicate word from a comment in the coupled cpuidle driver
           (Jason Wang)
      
         - Make rpm_resume() return -EINPROGRESS if RPM_NOWAIT is passed to it
           in the flags and the device is about to resume (Rafael Wysocki)
      
         - Add extra debugging statement for multiple active IRQs to system
           wakeup handling code (Mario Limonciello)
      
         - Replace strlcpy() with unused retval with strscpy() in the core
           system suspend support code (Wolfram Sang)
      
         - Update the intel_rapl power capping driver:
            - Use standard Energy Unit for SPR Dram RAPL domain (Zhang Rui).
            - Add support for RAPTORLAKE_S (Zhang Rui).
            - Fix UBSAN shift-out-of-bounds issue (Chao Qin)
      
         - Handle -EPROBE_DEFER when regulator is not probed on
           mtk-ci-devfreq.c (AngeloGioacchino Del Regno)
      
         - Fix message typo and use dev_err_probe() in rockchip-dfi.c
           (Christophe JAILLET)"
      
      * tag 'pm-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (29 commits)
        cpufreq: qcom-cpufreq-hw: Add cpufreq qos for LMh
        cpufreq: Add __init annotation to module init funcs
        cpufreq: tegra194: change tegra239_cpufreq_soc to static
        PM / devfreq: rockchip-dfi: Fix an error message
        PM / devfreq: mtk-cci: Handle sram regulator probe deferral
        powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain
        PM: runtime: Return -EINPROGRESS from rpm_resume() in the RPM_NOWAIT case
        intel_idle: Add AlderLake-N support
        powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
        cpufreq: tegra194: Add support for Tegra239
        cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
        cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode
        powercap: intel_rapl: Add support for RAPTORLAKE_S
        cpufreq: amd-pstate: Fix initial highest_perf value
        cpuidle: Remove redundant check in cpuidle_switch_governor()
        PM: wakeup: Add extra debugging statement for multiple active IRQs
        cpufreq: tegra194: Remove the unneeded result variable
        PM: suspend: move from strlcpy() with unused retval to strscpy()
        intel_idle: move from strlcpy() with unused retval to strscpy()
        cpuidle: powernv: move from strlcpy() with unused retval to strscpy()
        ...
      c79e6fa9
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9388076b
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "ACPI and PNP updates for 6.1-rc1.
      
        These rearrange the ACPI device object initialization code (to get rid
        of a redundant parent pointer from struct acpi_device among other
        things), unify the _UID handling, drop support for some _OSI strings
        that should not be necessary any more, add new IDs to support more
        hardware and some more quirks, fix a few issues and clean up code all
        over.
      
        Specifics:
      
         - Reimplement acpi_get_pci_dev() using the list of physical devices
           associated with the given ACPI device object (Rafael Wysocki)
      
         - Rename ACPI device object reference counting functions (Rafael
           Wysocki)
      
         - Rearrange ACPI device object initialization code (Rafael Wysocki)
      
         - Drop parent field from struct acpi_device (Rafael Wysocki)
      
         - Extend the the int3472-tps68470 driver to support multiple
           consumers of a single TPS68470 along with the requisite
           framework-level support (Daniel Scally)
      
         - Filter out non-memory resources in is_memory(), add a helper
           function to find all memory type resources of an ACPI device object
           and use that function in 3 places (Heikki Krogerus)
      
         - Add IRQ override quirks for Asus Vivobook K3402ZA/K3502ZA and ASUS
           model S5402ZA (Tamim Khan, Kellen Renshaw)
      
         - Fix acpi_dev_state_d0() kerneldoc (Sakari Ailus)
      
         - Fix up suspend-to-idle support on ASUS Rembrandt laptops (Mario
           Limonciello)
      
         - Clean up ACPI platform devices support code (Andy Shevchenko, John
           Garry)
      
         - Clean up ACPI bus management code (Andy Shevchenko, ye xingchen)
      
         - Add support for multiple DMA windows with different offsets to the
           ACPI device enumeration code and use it on LoongArch (Jianmin Lv)
      
         - Clean up the ACPI LPSS (Intel SoC) driver (Andy Shevchenko)
      
         - Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable (Mario
           Limonciello)
      
         - Drop unused dev_fmt() and redundant 'HMAT' prefix from the HMAT
           parsing code (Liu Shixin)
      
         - Make ACPI FPDT parsing code avoid calling acpi_os_map_memory() on
           invalid physical addresses (Hans de Goede)
      
         - Silence missing-declarations warning related to Apple device
           properties management (Lukas Wunner)
      
         - Disable frequency invariance in the CPPC library if registers used
           by cppc_get_perf_ctrs() are accessed via PCC (Jeremy Linton)
      
         - Add ACPI disabled check to acpi_cpc_valid() (Perry Yuan)
      
         - Fix Tx acknowledge in the PCC address space handler (Huisong Li)
      
         - Use wait_for_completion_timeout() for PCC mailbox operations
           (Huisong Li)
      
         - Release resources on PCC address space setup failure path (Rafael
           Mendonca)
      
         - Remove unneeded result variables from APEI code (ye xingchen)
      
         - Print total number of records found during BERT log parsing (Dmitry
           Monakhov)
      
         - Drop support for 3 _OSI strings that should not be necessary any
           more and update documentation on custom _OSI strings so that adding
           new ones is not encouraged any more (Mario Limonciello)
      
         - Drop unneeded result variable from ec_write() (ye xingchen)
      
         - Remove the leftover struct acpi_ac_bl from the ACPI AC driver
           (Hanjun Guo)
      
         - Reorder symbols to get rid of a few forward declarations in the
           ACPI fan driver (Uwe Kleine-König)
      
         - Add Toshiba Satellite/Portege Z830 ACPI backlight quirk (Arvid
           Norlander)
      
         - Add ARM DMA-330 controller to the supported list in the ACPI AMBA
           driver (Vijayenthiran Subramaniam)
      
         - Drop references to non-functional 01.org/linux-acpi web site from
           MAINTAINERS and Kconfig help texts (Rafael Wysocki)
      
         - Replace strlcpy() with unused retval with strscpy() in the ACPI
           support code (Wolfram Sang)
      
         - Do not initialize ret in main() in the pfrut utility (Shi junming)
      
         - Drop useless ACPI DSDT override documentation (Rafael Wysocki)
      
         - Fix a few typos and wording mistakes in the ACPI device enumeration
           documentation (Jean Delvare)
      
         - Introduce acpi_dev_uid_to_integer() to convert a _UID string into
           an integer value (Andy Shevchenko)
      
         - Use acpi_dev_uid_to_integer() in several places to unify _UID
           handling (Andy Shevchenko)
      
         - Drop unused pnpid32_to_pnpid() declaration from PNP code (Gaosheng
           Cui)"
      
      * tag 'acpi-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (79 commits)
        ACPI: LPSS: Deduplicate skipping device in acpi_lpss_create_device()
        ACPI: LPSS: Replace loop with first entry retrieval
        ACPI: x86: s2idle: Add another ID to s2idle_dmi_table
        ACPI: x86: s2idle: Fix a NULL pointer dereference
        MAINTAINERS: Drop records pointing to 01.org/linux-acpi
        ACPI: Kconfig: Drop link to https://01.org/linux-acpi
        ACPI: docs: Drop useless DSDT override documentation
        ACPI: DPTF: Drop stale link from Kconfig help
        ACPI: x86: s2idle: Add a quirk for ASUSTeK COMPUTER INC. ROG Flow X13
        ACPI: x86: s2idle: Add a quirk for Lenovo Slim 7 Pro 14ARH7
        ACPI: x86: s2idle: Add a quirk for ASUS ROG Zephyrus G14
        ACPI: x86: s2idle: Add a quirk for ASUS TUF Gaming A17 FA707RE
        ACPI: x86: s2idle: Add module parameter to prefer Microsoft GUID
        ACPI: x86: s2idle: If a new AMD _HID is missing assume Rembrandt
        ACPI: x86: s2idle: Move _HID handling for AMD systems into structures
        platform/x86: int3472: Add board data for Surface Go2 IR camera
        platform/x86: int3472: Support multiple gpio lookups in board data
        platform/x86: int3472: Support multiple clock consumers
        ACPI: bus: Add iterator for dependent devices
        ACPI: scan: Add acpi_dev_get_next_consumer_dev()
        ...
      9388076b
    • Rafael J. Wysocki's avatar
      Merge branches 'thermal-intel' and 'thermal-drivers' · 2e70ea7f
      Rafael J. Wysocki authored
      Merge thermal control driver changes for 6.1-rc1:
      
       - Use module_pci_driver() macro in the int340x processor_thermal
         driver (Shang XiaoJing).
      
       - Use get_cpu() instead of smp_processor_id() in the intel_powerclamp
         thermal driver to prevent it from crashing and remove unused
         accounting for IRQ wakes from it (Srinivas Pandruvada).
      
       - Consolidate priv->data_vault checks in int340x_thermal (Rafael
         Wysocki).
      
       - Check the policy first in cpufreq_cooling_register() (Xuewen Yan).
      
       - Drop redundant error message from da9062-thermal (zhaoxiao).
      
       - Drop of_match_ptr() from thermal_mmio (Jean Delvare).
      
      * thermal-intel:
        thermal: int340x: processor_thermal: Use module_pci_driver() macro
        thermal: intel_powerclamp: Remove accounting for IRQ wakes
        thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to avoid crash
        thermal: int340x_thermal: Consolidate priv->data_vault checks
      
      * thermal-drivers:
        thermal: cpufreq_cooling: Check the policy first in cpufreq_cooling_register()
        thermal: da9062-thermal: Drop redundant error message
        thermal/drivers/thermal_mmio: Drop of_match_ptr()
      2e70ea7f
    • Rafael J. Wysocki's avatar
      Merge branch 'thermal-core' · a7ae50fc
      Rafael J. Wysocki authored
      Merge core thermal control changes for 6.1-rc1:
      
       - Increase maximum number of trip points in the thermal core (Sumeet
         Pawnikar).
      
       - Replace strlcpy() with unused retval with strscpy() in the core
         thermal control code (Wolfram Sang).
      
       - Do not lock thermal zone mutex in the user space governor (Rafael
         Wysocki)
      
       - Rework the device tree initialization, convert the drivers to the
         new API and remove the old OF code (Daniel Lezcano)
      
       - Fix return value to -ENODEV when searching for a specific thermal
         zone which does not exist (Daniel Lezcano)
      
       - Fix the return value inspection in of_thermal_zone_find() (Dan
         Carpenter)
      
       - Fix kernel panic when KASAN is enabled as it detects use after
         free when unregistering a thermal zone (Daniel Lezcano)
      
       - Move the set_trip ops inside the therma sysfs code (Daniel Lezcano)
      
       - Remove unnecessary error message as it is already showed in the
         underlying function (Jiapeng Chong)
      
       - Rework the monitoring path and move the locks upper in the call
         stack to fix some potentials race windows (Daniel Lezcano)
      
       - Fix lockdep_assert() warning introduced by the lock rework (Daniel
         Lezcano)
      
       - Revert the Mellanox 'hotter thermal zone' feature because it is
         already handled in the thermal framework core code (Daniel Lezcano)
      
      * thermal-core: (47 commits)
        thermal: core: Increase maximum number of trip points
        thermal: move from strlcpy() with unused retval to strscpy()
        thermal: gov_user_space: Do not lock thermal zone mutex
        Revert "mlxsw: core: Add the hottest thermal zone detection"
        thermal/core: Fix lockdep_assert() warning
        thermal/core: Move the mutex inside the thermal_zone_device_update() function
        thermal/core: Move the thermal zone lock out of the governors
        thermal/governors: Group the thermal zone lock inside the throttle function
        thermal/core: Rework the monitoring a bit
        thermal/core: Rearm the monitoring only one time
        thermal/drivers/qcom/spmi-adc-tm5: Remove unnecessary print function dev_err()
        thermal/of: Remove old OF code
        thermal/core: Move set_trip_temp ops to the sysfs code
        thermal/drivers/samsung: Switch to new of thermal API
        regulator/drivers/max8976: Switch to new of thermal API
        Input: sun4i-ts - switch to new of thermal API
        iio/drivers/sun4i_gpadc: Switch to new of thermal API
        hwmon/drivers/core: Switch to new of thermal API
        hwmon: pm_bus: core: Switch to new of thermal API
        ata/drivers/ahci_imx: Switch to new of thermal API
        ...
      a7ae50fc
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle', 'pm-core', 'pm-sleep' and 'powercap' · ac73ce39
      Rafael J. Wysocki authored
      Merge cpuidle changes, PM core changes and power capping changes for
      6.1-rc1:
      
       - Add AlderLake-N support to intel_idle (Zhang Rui).
      
       - Replace strlcpy() with unused retval with strscpy() in intel_idle
         (Wolfram Sang).
      
       - Remove redundant check from cpuidle_switch_governor() (Yu Liao).
      
       - Replace strlcpy() with unused retval with strscpy() in the powernv
         cpuidle driver (Wolfram Sang).
      
       - Drop duplicate word from a comment in the coupled cpuidle driver
         (Jason Wang).
      
       - Make rpm_resume() return -EINPROGRESS if RPM_NOWAIT is passed to it
         in the flags and the device is about to resume (Rafael Wysocki).
      
       - Add extra debugging statement for multiple active IRQs to system
         wakeup handling code (Mario Limonciello).
      
       - Replace strlcpy() with unused retval with strscpy() in the core
         system suspend support code (Wolfram Sang).
      
       - Update the intel_rapl power capping driver:
         * Use standard Energy Unit for SPR Dram RAPL domain (Zhang Rui).
         * Add support for RAPTORLAKE_S (Zhang Rui).
         * Fix UBSAN shift-out-of-bounds issue (Chao Qin).
      
      * pm-cpuidle:
        intel_idle: Add AlderLake-N support
        cpuidle: Remove redundant check in cpuidle_switch_governor()
        intel_idle: move from strlcpy() with unused retval to strscpy()
        cpuidle: powernv: move from strlcpy() with unused retval to strscpy()
        cpuidle: coupled: Drop duplicate word from a comment
      
      * pm-core:
        PM: runtime: Return -EINPROGRESS from rpm_resume() in the RPM_NOWAIT case
      
      * pm-sleep:
        PM: wakeup: Add extra debugging statement for multiple active IRQs
        PM: suspend: move from strlcpy() with unused retval to strscpy()
      
      * powercap:
        powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain
        powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
        powercap: intel_rapl: Add support for RAPTORLAKE_S
      ac73ce39
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 0766fa2e
      Rafael J. Wysocki authored
      Merge cpufreq changes for 6.1-rc1:
      
       - Add isupport for Tiger Lake in no-HWP mode to intel_pstate (Doug
         Smythies).
      
       - Update the AMD P-state driver (Perry Yuan):
         * Fix wrong lowest perf fetch.
         * Map desired perf into pstate scope for powersave governor.
         * Update pstate frequency transition delay time.
         * Fix initial highest_perf value.
         * Clean up.
      
       - Move max CPU capacity to sugov_policy in the schedutil cpufreq
         governor (Lukasz Luba).
      
       - Add SM6115 to cpufreq-dt blocklist (Adam Skladowski).
      
       - Add support for Tegra239 and minor cleanups (Sumit Gupta, ye xingchen,
         and Yang Yingliang).
      
       - Add freq qos for qcom cpufreq driver and minor cleanups (Xuewen Yan,
         and Viresh Kumar).
      
       - Minor cleanups around functions called at module_init() (Xiu Jianfeng).
      
       - Use module_init and add module_exit for bmips driver (Zhang Jianhua).
      
      * pm-cpufreq:
        cpufreq: qcom-cpufreq-hw: Add cpufreq qos for LMh
        cpufreq: Add __init annotation to module init funcs
        cpufreq: tegra194: change tegra239_cpufreq_soc to static
        cpufreq: tegra194: Add support for Tegra239
        cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
        cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode
        cpufreq: amd-pstate: Fix initial highest_perf value
        cpufreq: tegra194: Remove the unneeded result variable
        cpufreq: amd-pstate: update pstate frequency transition delay time
        cpufreq: amd_pstate: map desired perf into pstate scope for powersave governor
        cpufreq: amd_pstate: fix wrong lowest perf fetch
        cpufreq: amd-pstate: fix white-space
        cpufreq: amd-pstate: simplify cpudata pointer assignment
        cpufreq: bmips-cpufreq: Use module_init and add module_exit
        cpufreq: schedutil: Move max CPU capacity to sugov_policy
        cpufreq: Add SM6115 to cpufreq-dt-platdev blocklist
      0766fa2e
    • Rafael J. Wysocki's avatar
      Merge branch 'pnp' · c8efe77f
      Rafael J. Wysocki authored
      Merge a PNP changes for 6.1-rc1:
      
        - Drop unused pnpid32_to_pnpid() declaration from  PNP code (Gaosheng
          Cui).
      
      * pnp:
        PNPBIOS: remove unused pnpid32_to_pnpid() declaration
      c8efe77f
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-uid' · 4aa497ca
      Rafael J. Wysocki authored
      Merge ACPI _UID handling unification changes for 6.1-rc1:
      
       - Introduce acpi_dev_uid_to_integer() to convert a _UID string into an
         integer value (Andy Shevchenko).
      
       - Use acpi_dev_uid_to_integer() in several places to unify _UID
         handling (Andy Shevchenko).
      
      * acpi-uid:
        efi/dev-path-parser: Refactor _UID handling to use acpi_dev_uid_to_integer()
        spi: pxa2xx: Refactor _UID handling to use acpi_dev_uid_to_integer()
        perf: qcom_l2_pmu: Refactor _UID handling to use acpi_dev_uid_to_integer()
        i2c: mlxbf: Refactor _UID handling to use acpi_dev_uid_to_integer()
        i2c: amd-mp2-plat: Refactor _UID handling to use acpi_dev_uid_to_integer()
        ACPI: x86: Refactor _UID handling to use acpi_dev_uid_to_integer()
        ACPI: LPSS: Refactor _UID handling to use acpi_dev_uid_to_integer()
        ACPI: utils: Add acpi_dev_uid_to_integer() helper to get _UID as integer
      4aa497ca
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-misc', 'acpi-tools' and 'acpi-docs' · a7ece531
      Rafael J. Wysocki authored
      Merge miscellaneous ACPI material, ACPI tools changes and ACPI
      documentation updates for 6.1-rc1:
      
       - Drop references to non-functional 01.org/linux-acpi web site from
         MAINTAINERS and Kconfig help texts (Rafael Wysocki).
      
       - Replace strlcpy() with unused retval with strscpy() in the ACPI
         support code (Wolfram Sang).
      
       - Do not initialize ret in main() in the pfrut utility (Shi junming).
      
       - Drop useless ACPI DSDT override documentation (Rafael Wysocki).
      
       - Fix a few typos and wording mistakes in the ACPI device enumeration
         documentation (Jean Delvare).
      
      * acpi-misc:
        MAINTAINERS: Drop records pointing to 01.org/linux-acpi
        ACPI: Kconfig: Drop link to https://01.org/linux-acpi
        ACPI: DPTF: Drop stale link from Kconfig help
        ACPI: move from strlcpy() with unused retval to strscpy()
      
      * acpi-tools:
        ACPI: tools: pfrut: Do not initialize ret in main()
      
      * acpi-docs:
        ACPI: docs: Drop useless DSDT override documentation
        ACPI: docs: enumeration: Fix a few typos and wording mistakes
      a7ece531
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-ec', 'acpi-ac', 'acpi-fan', 'acpi-video' and 'acpi-amba' · 7b4baa39
      Rafael J. Wysocki authored
      Merge EC, AC, fan and backlight driver changes and ACPI AMBA support
      update for 6.1-rc1:
      
       - Drop unneeded result variable from ec_write() (ye xingchen).
      
       - Remove the leftover struct acpi_ac_bl from the ACPI AC driver (Hanjun
         Guo).
      
       - Reorder symbols to get rid of a few forward declarations in the ACPI
         fan driver (Uwe Kleine-König).
      
       - Add Toshiba Satellite/Portege Z830 ACPI backlight quirk (Arvid
         Norlander).
      
       - Add ARM DMA-330 controller to the supported list in the ACPI AMBA
         driver (Vijayenthiran Subramaniam).
      
      * acpi-ec:
        ACPI: EC: Drop unneeded result variable from ec_write()
      
      * acpi-ac:
        ACPI: AC: Remove the leftover struct acpi_ac_bl
      
      * acpi-fan:
        ACPI: fan: Reorder symbols to get rid of a few forward declarations
      
      * acpi-video:
        ACPI: video: Add Toshiba Satellite/Portege Z830 quirk
      
      * acpi-amba:
        ACPI: AMBA: Add ARM DMA-330 controller to the supported list
      7b4baa39
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-cppc', 'acpi-pcc', 'acpi-apei' and 'acpi-osi' · b1d03b7e
      Rafael J. Wysocki authored
      Merge new material related to CPPC, PCC, APEI and OSI strings handling
      for 6.1-rc1:
      
       - Disable frequency invariance in the CPPC library if registers used
         by cppc_get_perf_ctrs() are accessed via PCC (Jeremy Linton).
      
       - Add ACPI disabled check to acpi_cpc_valid() (Perry Yuan).
      
       - Fix Tx acknowledge in the PCC address space handler (Huisong Li).
      
       - Use wait_for_completion_timeout() for PCC mailbox operations (Huisong
         Li).
      
       - Release resources on PCC address space setup failure path (Rafael
         Mendonca).
      
       - Remove unneeded result variables from APEI code (ye xingchen).
      
       - Print total number of records found during BERT log parsing (Dmitry
         Monakhov).
      
       - Drop support for 3 _OSI strings that should not be necessary any
         more and update documentation on custom _OSI strings so that adding
         new ones is not encouraged any more (Mario Limonciello).
      
      * acpi-cppc:
        ACPI: CPPC: Disable FIE if registers in PCC regions
        ACPI: CPPC: Add ACPI disabled check to acpi_cpc_valid()
      
      * acpi-pcc:
        ACPI: PCC: Fix Tx acknowledge in the PCC address space handler
        ACPI: PCC: replace wait_for_completion()
        ACPI: PCC: Release resources on address space setup failure path
      
      * acpi-apei:
        ACPI: APEI: Remove unneeded result variables
        ACPI: APEI: Add BERT error log footer
      
      * acpi-osi:
        ACPI: OSI: Update Documentation on custom _OSI strings
        ACPI: OSI: Remove Linux-HPI-Hybrid-Graphics _OSI string
        ACPI: OSI: Remove Linux-Lenovo-NV-HDMI-Audio _OSI string
        ACPI: OSI: Remove Linux-Dell-Video _OSI string
      b1d03b7e
    • Linus Torvalds's avatar
      Merge tag 'docs-6.1' of git://git.lwn.net/linux · f3dfe925
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "There's not a huge amount of activity in the docs tree this time
        around, but a few significant changes even so:
      
         - A complete rewriting of the top-level index.rst file, which mostly
           reflects itself in a redone top page in the HTML-rendered docs. The
           hope is that the new organization will be a friendlier starting
           point for both users and developers.
      
         - Some math-rendering improvements.
      
         - A coding-style.rst update on the use of BUG() and WARN()
      
         - A big maintainer-PHP guide update.
      
         - Some code-of-conduct updates
      
         - More Chinese translation work
      
        Plus the usual pile of typo fixes, corrections, and updates"
      
      * tag 'docs-6.1' of git://git.lwn.net/linux: (66 commits)
        checkpatch: warn on usage of VM_BUG_ON() and other BUG variants
        coding-style.rst: document BUG() and WARN() rules ("do not crash the kernel")
        Documentation: devres: add missing IO helper
        Documentation: devres: update IRQ helper
        Documentation/mm: modify page_referenced to folio_referenced
        Documentation/CoC: Reflect current CoC interpretation and practices
        docs/doc-guide: Add documentation on SPHINX_IMGMATH
        docs: process/5.Posting.rst: clarify use of Reported-by: tag
        docs, kprobes: Fix the wrong location of Kprobes
        docs: add a man-pages link to the front page
        docs: put atomic*.txt and memory-barriers.txt into the core-api book
        docs: move asm-annotations.rst into core-api
        docs: remove some index.rst cruft
        docs: reconfigure the HTML left column
        docs: Rewrite the front page
        docs: promote the title of process/index.rst
        Documentation: devres: add missing SPI helper
        Documentation: devres: add missing PINCTRL helpers
        docs: hugetlbpage.rst: fix a typo of hugepage size
        docs/zh_CN: Add new translation of admin-guide/bootconfig.rst
        ...
      f3dfe925
    • Linus Torvalds's avatar
      Merge tag 'rcu.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 890f2420
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Documentation updates.
      
         This is the first in a series from an ongoing review of the RCU
         documentation. "Why are people thinking -that- about RCU? Oh. Because
         that is an entirely reasonable interpretation of its documentation."
      
       - Miscellaneous fixes.
      
       - Improved memory allocation and heuristics.
      
       - Improve rcu_nocbs diagnostic output.
      
       - Add full-sized polled RCU grace period state values.
      
         These are the same size as an rcu_head structure, which is double
         that of the traditional unsigned long state values that may still be
         obtained from et_state_synchronize_rcu(). The added size avoids
         missing overlapping grace periods. This benefit is that call_rcu()
         can be replaced by polling, which can be attractive in situations
         where RCU-protected data is aged out of memory.
      
         Early in the series, the size of this state value is three unsigned
         longs. Later in the series, the fastpaths in synchronize_rcu() and
         synchronize_rcu_expedited() are reworked to permit the full state to
         be represented by only two unsigned longs. This reworking slows these
         two functions down in SMP kernels running either on single-CPU
         systems or on systems with all but one CPU offlined, but this should
         not be a significant problem. And if it somehow becomes a problem in
         some yet-as-unforeseen situations, three-value state values can be
         provided for only those situations.
      
         Finally, a pair of functions named same_state_synchronize_rcu() and
         same_state_synchronize_rcu_full() allow grace-period state values to
         be compared for equality. This permits users to maintain lists of
         data structures having the same state value, removing the need for
         per-data-structure grace-period state values, thus decreasing memory
         footprint.
      
       - Polled SRCU grace-period updates, including adding tests to
         rcutorture and reducing the incidence of Tiny SRCU grace-period-state
         counter wrap.
      
       - Improve Tasks RCU diagnostics and quiescent-state detection.
      
      * tag 'rcu.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (55 commits)
        rcutorture: Use the barrier operation specified by cur_ops
        rcu-tasks: Make RCU Tasks Trace check for userspace execution
        rcu-tasks: Ensure RCU Tasks Trace loops have quiescent states
        rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE()
        srcu: Make Tiny SRCU use full-sized grace-period counters
        srcu: Make Tiny SRCU poll_state_synchronize_srcu() more precise
        srcu: Add GP and maximum requested GP to Tiny SRCU rcutorture output
        rcutorture: Make "srcud" option also test polled grace-period API
        rcutorture: Limit read-side polling-API testing
        rcu: Add functions to compare grace-period state values
        rcutorture: Expand rcu_torture_write_types() first "if" statement
        rcutorture: Use 1-suffixed variable in rcu_torture_write_types() check
        rcu: Make synchronize_rcu() fastpath update only boot-CPU counters
        rcutorture: Adjust rcu_poll_need_2gp() for rcu_gp_oldstate field removal
        rcu: Remove ->rgos_polled field from rcu_gp_oldstate structure
        rcu: Make synchronize_rcu_expedited() fast path update .expedited_sequence
        rcu: Remove expedited grace-period fast-path forward-progress helper
        rcu: Make synchronize_rcu() fast path update ->gp_seq counters
        rcu-tasks: Remove grace-period fast-path rcu-tasks helper
        rcu: Set rcu_data structures' initial ->gpwrap value to true
        ...
      890f2420
    • Linus Torvalds's avatar
      Merge tag 'lkmm.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · b8fb65e1
      Linus Torvalds authored
      Pull LKMM (Linux Kernel Memory Model) updates from Paul McKenney:
       "Several documentation updates"
      
      * tag 'lkmm.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/memory-model: Clarify LKMM's limitations in litmus-tests.txt
        docs/memory-barriers.txt: Fixup long lines
        docs/memory-barriers.txt: Fix confusing name of 'data dependency barrier'
      b8fb65e1
    • Linus Torvalds's avatar
      Merge tag 'nolibc.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · dda0ba40
      Linus Torvalds authored
      Pull nolibc updates from Paul McKenney:
       "Most notably greatly improved testing. These tests are located in
        tools/testing/selftests/nolibc. The output of "make help" is as
        follows:
      
          Supported targets under selftests/nolibc:
            all          call the "run" target below
            help         this help
            sysroot      create the nolibc sysroot here (uses $ARCH)
            nolibc-test  build the executable (uses $CC and $CROSS_COMPILE)
            initramfs    prepare the initramfs with nolibc-test
            defconfig    create a fresh new default config (uses $ARCH)
            kernel       (re)build the kernel with the initramfs (uses $ARCH)
            run          runs the kernel in QEMU after building it (uses $ARCH, $TEST)
            rerun        runs a previously prebuilt kernel in QEMU (uses $ARCH, $TEST)
            clean        clean the sysroot, initramfs, build and output files
      
          The output file is "run.out". Test ranges may be passed using $TEST.
      
          Currently using the following variables:
            ARCH          = x86
            CROSS_COMPILE =
            CC            = gcc
            OUTPUT        = /home/git/linux-rcu/tools/testing/selftests/nolibc/
            TEST          =
            QEMU_ARCH     = x86_64 [determined from $ARCH]
            IMAGE_NAME    = bzImage [determined from $ARCH]
      
        The output of a successful x86 "make run" is currently as follows,
        with kernel build output omitted:
      
          $ make run
          71 test(s) passed."
      
      * tag 'nolibc.2022.09.30a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        selftests/nolibc: Avoid generated files being committed
        selftests/nolibc: add a "help" target
        selftests/nolibc: "sysroot" target installs a local copy of the sysroot
        selftests/nolibc: add a "run" target to start the kernel in QEMU
        selftests/nolibc: add a "defconfig" target
        selftests/nolibc: add a "kernel" target to build the kernel with the initramfs
        selftests/nolibc: support glibc as well
        selftests/nolibc: condition some tests on /proc existence
        selftests/nolibc: recreate and populate /dev and /proc if missing
        selftests/nolibc: on x86, support exiting with isa-debug-exit
        selftests/nolibc: exit with poweroff on success when getpid() == 1
        selftests/nolibc: add a few tests for some libc functions
        selftests/nolibc: implement a few tests for various syscalls
        selftests/nolibc: support a test definition format
        selftests/nolibc: add basic infrastructure to ease creation of nolibc tests
        tools/nolibc: make sys_mmap() automatically use the right __NR_mmap definition
        tools/nolibc: fix build warning in sys_mmap() when my_syscall6 is not defined
        tools/nolibc: make argc 32-bit in riscv startup code
      dda0ba40
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 03823964
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Three fixes for ARM:
      
         - unbreak the RiscPC build
      
         - fix wrong pg_level in page table dumper
      
         - make MT_MEMORY_RO really read-only with LPAE"
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE
        ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd()
        ARM: 9243/1: riscpc: Unbreak the build
      03823964
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 75003fa7
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Fix forward secrecy of RNG seed boot record handling
      
       - Make RNG seed boot record handling generic for all m68k platforms
         using bootinfo
      
       - defconfig updates
      
       - Minor fixes and improvements
      
      * tag 'm68k-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Rework BI_VIRT_RNG_SEED as BI_RNG_SEED
        m68k: Process bootinfo records before saving them
        m68k: defconfig: Update defconfigs for v6.0-rc2
        m68k: Allow kexec on M68KCLASSIC with MMU enabled only
        m68k: Move from strlcpy with unused retval to strscpy
      75003fa7
    • Linus Torvalds's avatar
      Merge tag 'mips_6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · fb443f36
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - mainly cleanups
      
       - fix enabling interrupts on second VPE for Lantiq platform
      
       - switch to use gpiod API
      
       - allow firmware passing RND seed
      
      * tag 'mips_6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (29 commits)
        MIPS: pci: lantiq: switch to using gpiod API
        mips: allow firmware to pass RNG seed to kernel
        MIPS: Simplify __bswapdi2() and __bswapsi2()
        MIPS: Silence missing prototype warning
        mips: update config files
        MIPS: Lantiq: vmmc: fix compile break introduced by gpiod patch
        MIPS: IRQ: remove orphan allocate_irqno() declaration
        MIPS: remove orphan sb1250_time_init() declaration
        MIPS: Lantiq: switch vmmc to use gpiod API
        MIPS: lantiq: enable all hardware interrupts on second VPE
        MIPS: BCM47XX: Cast memcmp() of function to (void *)
        mips: ralink: convert to DEFINE_SHOW_ATTRIBUTE
        mips: kernel: convert to DEFINE_SHOW_ATTRIBUTE
        mips: cavium: convert to DEFINE_SHOW_ATTRIBUTE
        MIPS: AR7: remove orphan declarations from arch/mips/include/asm/mach-ar7/ar7.h
        MIPS: remove orphan sni_cpu_time_init() declaration
        MIPS: IRQ: remove orphan declarations from arch/mips/include/asm/irq.h
        MIPS: Octeon: remove orphan octeon_hal_setup_reserved32() declaration
        MIPS: Octeon: remove orphan cvmx_fpa_setup_pool() declaration
        MIPS: Octeon: remove orphan octeon_swiotlb declaration
        ...
      fb443f36
  3. 02 Oct, 2022 4 commits
  4. 01 Oct, 2022 7 commits