1. 02 May, 2023 2 commits
  2. 01 May, 2023 2 commits
  3. 30 Apr, 2023 9 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 58390c8c
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Convert to platform remove callback returning void
      
       - Extend changing default domain to normal group
      
       - Intel VT-d updates:
           - Remove VT-d virtual command interface and IOASID
           - Allow the VT-d driver to support non-PRI IOPF
           - Remove PASID supervisor request support
           - Various small and misc cleanups
      
       - ARM SMMU updates:
           - Device-tree binding updates:
               * Allow Qualcomm GPU SMMUs to accept relevant clock properties
               * Document Qualcomm 8550 SoC as implementing an MMU-500
               * Favour new "qcom,smmu-500" binding for Adreno SMMUs
      
           - Fix S2CR quirk detection on non-architectural Qualcomm SMMU
             implementations
      
           - Acknowledge SMMUv3 PRI queue overflow when consuming events
      
           - Document (in a comment) why ATS is disabled for bypass streams
      
       - AMD IOMMU updates:
           - 5-level page-table support
           - NUMA awareness for memory allocations
      
       - Unisoc driver: Support for reattaching an existing domain
      
       - Rockchip driver: Add missing set_platform_dma_ops callback
      
       - Mediatek driver: Adjust the dma-ranges
      
       - Various other small fixes and cleanups
      
      * tag 'iommu-updates-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (82 commits)
        iommu: Remove iommu_group_get_by_id()
        iommu: Make iommu_release_device() static
        iommu/vt-d: Remove BUG_ON in dmar_insert_dev_scope()
        iommu/vt-d: Remove a useless BUG_ON(dev->is_virtfn)
        iommu/vt-d: Remove BUG_ON in map/unmap()
        iommu/vt-d: Remove BUG_ON when domain->pgd is NULL
        iommu/vt-d: Remove BUG_ON in handling iotlb cache invalidation
        iommu/vt-d: Remove BUG_ON on checking valid pfn range
        iommu/vt-d: Make size of operands same in bitwise operations
        iommu/vt-d: Remove PASID supervisor request support
        iommu/vt-d: Use non-privileged mode for all PASIDs
        iommu/vt-d: Remove extern from function prototypes
        iommu/vt-d: Do not use GFP_ATOMIC when not needed
        iommu/vt-d: Remove unnecessary checks in iopf disabling path
        iommu/vt-d: Move PRI handling to IOPF feature path
        iommu/vt-d: Move pfsid and ats_qdep calculation to device probe path
        iommu/vt-d: Move iopf code from SVA to IOPF enabling path
        iommu/vt-d: Allow SVA with device-specific IOPF
        dmaengine: idxd: Add enable/disable device IOPF feature
        arm64: dts: mt8186: Add dma-ranges for the parent "soc" node
        ...
      58390c8c
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 7acc1372
      Linus Torvalds authored
      Pull compute express link updates from Dan Williams:
       "DOE support is promoted from drivers/cxl/ to drivers/pci/ with Bjorn's
        blessing, and the CXL core continues to mature its media management
        capabilities with support for listing and injecting media errors. Some
        late fixes that missed v6.3-final are also included:
      
         - Refactor the DOE infrastructure (Data Object Exchange
           PCI-config-cycle mailbox) to be a facility of the PCI core rather
           than the CXL core.
      
           This is foundational for upcoming support for PCI
           device-attestation and PCIe / CXL link encryption.
      
         - Add support for retrieving and injecting poison for CXL memory
           expanders.
      
           This enabling uses trace-events to convey CXL media error records
           to user tooling. It includes translation of device-local addresses
           (DPA) to system physical addresses (SPA) and their corresponding
           CXL region.
      
         - Fixes for decoder enumeration that missed v6.3-final
      
         - Miscellaneous fixups"
      
      * tag 'cxl-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (38 commits)
        cxl/test: Add mock test for set_timestamp
        cxl/mbox: Update CMD_RC_TABLE
        tools/testing/cxl: Require CONFIG_DEBUG_FS
        tools/testing/cxl: Add a sysfs attr to test poison inject limits
        tools/testing/cxl: Use injected poison for get poison list
        tools/testing/cxl: Mock the Clear Poison mailbox command
        tools/testing/cxl: Mock the Inject Poison mailbox command
        cxl/mem: Add debugfs attributes for poison inject and clear
        cxl/memdev: Trace inject and clear poison as cxl_poison events
        cxl/memdev: Warn of poison inject or clear to a mapped region
        cxl/memdev: Add support for the Clear Poison mailbox command
        cxl/memdev: Add support for the Inject Poison mailbox command
        tools/testing/cxl: Mock support for Get Poison List
        cxl/trace: Add an HPA to cxl_poison trace events
        cxl/region: Provide region info to the cxl_poison trace event
        cxl/memdev: Add trigger_poison_list sysfs attribute
        cxl/trace: Add TRACE support for CXL media-error records
        cxl/mbox: Add GET_POISON_LIST mailbox command
        cxl/mbox: Initialize the poison state
        cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all
        ...
      7acc1372
    • Linus Torvalds's avatar
      Merge tag 's390-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 10de638d
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Add support for stackleak feature. Also allow specifying
         architecture-specific stackleak poison function to enable faster
         implementation. On s390, the mvc-based implementation helps decrease
         typical overhead from a factor of 3 to just 25%
      
       - Convert all assembler files to use SYM* style macros, deprecating the
         ENTRY() macro and other annotations. Select ARCH_USE_SYM_ANNOTATIONS
      
       - Improve KASLR to also randomize module and special amode31 code base
         load addresses
      
       - Rework decompressor memory tracking to support memory holes and
         improve error handling
      
       - Add support for protected virtualization AP binding
      
       - Add support for set_direct_map() calls
      
       - Implement set_memory_rox() and noexec module_alloc()
      
       - Remove obsolete overriding of mem*() functions for KASAN
      
       - Rework kexec/kdump to avoid using nodat_stack to call purgatory
      
       - Convert the rest of the s390 code to use flexible-array member
         instead of a zero-length array
      
       - Clean up uaccess inline asm
      
       - Enable ARCH_HAS_MEMBARRIER_SYNC_CORE
      
       - Convert to using CONFIG_FUNCTION_ALIGNMENT and enable
         DEBUG_FORCE_FUNCTION_ALIGN_64B
      
       - Resolve last_break in userspace fault reports
      
       - Simplify one-level sysctl registration
      
       - Clean up branch prediction handling
      
       - Rework CPU counter facility to retrieve available counter sets just
         once
      
       - Other various small fixes and improvements all over the code
      
      * tag 's390-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (118 commits)
        s390/stackleak: provide fast __stackleak_poison() implementation
        stackleak: allow to specify arch specific stackleak poison function
        s390: select ARCH_USE_SYM_ANNOTATIONS
        s390/mm: use VM_FLUSH_RESET_PERMS in module_alloc()
        s390: wire up memfd_secret system call
        s390/mm: enable ARCH_HAS_SET_DIRECT_MAP
        s390/mm: use BIT macro to generate SET_MEMORY bit masks
        s390/relocate_kernel: adjust indentation
        s390/relocate_kernel: use SYM* macros instead of ENTRY(), etc.
        s390/entry: use SYM* macros instead of ENTRY(), etc.
        s390/purgatory: use SYM* macros instead of ENTRY(), etc.
        s390/kprobes: use SYM* macros instead of ENTRY(), etc.
        s390/reipl: use SYM* macros instead of ENTRY(), etc.
        s390/head64: use SYM* macros instead of ENTRY(), etc.
        s390/earlypgm: use SYM* macros instead of ENTRY(), etc.
        s390/mcount: use SYM* macros instead of ENTRY(), etc.
        s390/crc32le: use SYM* macros instead of ENTRY(), etc.
        s390/crc32be: use SYM* macros instead of ENTRY(), etc.
        s390/crypto,chacha: use SYM* macros instead of ENTRY(), etc.
        s390/amode31: use SYM* macros instead of ENTRY(), etc.
        ...
      10de638d
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · d55571c0
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Refactor scripts/kallsyms to make it faster and easier to maintain
      
       - Clean up menuconfig
      
       - Provide Clang with hard-coded target triple instead of CROSS_COMPILE
      
       - Use -z pack-relative-relocs flags instead of --use-android-relr-tags
         for arm64 CONFIG_RELR
      
       - Add srcdeb-pkg target to build only a Debian source package
      
       - Add KDEB_SOURCE_COMPRESS option to specify the compression for a
         Debian source package
      
       - Misc cleanups and fixes
      
      * tag 'kbuild-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: deb-pkg: specify targets in debian/rules as .PHONY
        sparc: unify sparc32/sparc64 archhelp
        kbuild: rpm-pkg: remove kernel-drm PROVIDES
        kbuild: deb-pkg: add KDEB_SOURCE_COMPRESS to specify source compression
        kbuild: add srcdeb-pkg target
        Makefile: use -z pack-relative-relocs
        kbuild: clang: do not use CROSS_COMPILE for target triple
        kconfig: menuconfig: reorder functions to remove forward declarations
        kconfig: menuconfig: remove unused M_EVENT macro
        kconfig: menuconfig: remove OLD_NCURSES macro
        kbuild: builddeb: Eliminate debian/arch use
        scripts/kallsyms: update the usage in the comment block
        scripts/kallsyms: decrease expand_symbol() / cleanup_symbol_name() calls
        scripts/kallsyms: change the output order
        scripts/kallsyms: move compiler-generated symbol patterns to mksysmap
        scripts/kallsyms: exclude symbols generated by itself dynamically
        scripts/mksysmap: use sed with in-line comments
        scripts/mksysmap: remove comments described in nm(1)
        scripts/kallsyms: remove redundant code for omitting U and N
        kallsyms: expand symbol name into comment for debugging
      d55571c0
    • Linus Torvalds's avatar
      Merge tag 'rust-6.4' of https://github.com/Rust-for-Linux/linux · 31089765
      Linus Torvalds authored
      Pull rust updates from Miguel Ojeda
       "More additions to the Rust core. Importantly, this adds the pin-init
        API, which will be used by other abstractions, such as the
        synchronization ones added here too:
      
         - pin-init API: a solution for the safe pinned initialization
           problem.
      
           This allows to reduce the need for 'unsafe' code in the kernel when
           dealing with data structures that require a stable address. Commit
           90e53c5e ("rust: add pin-init API core") contains a nice
           introduction -- here is an example of how it looks like:
      
              #[pin_data]
              struct Example {
                  #[pin]
                  value: Mutex<u32>,
      
                  #[pin]
                  value_changed: CondVar,
              }
      
              impl Example {
                  fn new() -> impl PinInit<Self> {
                      pin_init!(Self {
                          value <- new_mutex!(0),
                          value_changed <- new_condvar!(),
                      })
                  }
              }
      
              // In a `Box`.
              let b = Box::pin_init(Example::new())?;
      
              // In the stack.
              stack_pin_init!(let s = Example::new());
      
         - 'sync' module:
      
           New types 'LockClassKey' ('struct lock_class_key'), 'Lock',
           'Guard', 'Mutex' ('struct mutex'), 'SpinLock' ('spinlock_t'),
           'LockedBy' and 'CondVar' (uses 'wait_queue_head_t'), plus macros
           such as 'static_lock_class!' and 'new_spinlock!'.
      
           In particular, 'Lock' and 'Guard' are generic implementations that
           contain code that is common to all locks. Then, different backends
           (the new 'Backend' trait) are implemented and used to define types
           like 'Mutex':
      
              type Mutex<T> = Lock<T, MutexBackend>;
      
           In addition, new methods 'assume_init()', 'init_with()' and
           'pin_init_with()' for 'UniqueArc<MaybeUninit<T>>' and 'downcast()'
           for 'Arc<dyn Any + Send + Sync>'; as well as 'Debug' and 'Display'
           implementations for 'Arc' and 'UniqueArc'. Reduced stack usage of
           'UniqueArc::try_new_uninit()', too.
      
         - 'types' module:
      
           New trait 'AlwaysRefCounted' and new type 'ARef' (an owned
           reference to an always-reference-counted object, meant to be used
           in wrappers for C types that have their own ref counting
           functions).
      
           Moreover, new associated functions 'raw_get()' and 'ffi_init()' for
           'Opaque'.
      
         - New 'task' module with a new type 'Task' ('struct task_struct'),
           and a new macro 'current!' to safely get a reference to the current
           one.
      
         - New 'ioctl' module with new '_IOC*' const functions (equivalent to
           the C macros).
      
         - New 'uapi' crate, intended to be accessible by drivers directly.
      
         - 'macros' crate: new 'quote!' macro (similar to the one provided in
           userspace by the 'quote' crate); and the 'module!' macro now allows
           specifying multiple module aliases.
      
         - 'error' module:
      
           New associated functions for the 'Error' type, such as
           'from_errno()' and new functions such as 'to_result()'.
      
         - 'alloc' crate:
      
           More fallible 'Vec' methods: 'try_resize` and
           'try_extend_from_slice' and the infrastructure (imported from the
           Rust standard library) they need"
      
      * tag 'rust-6.4' of https://github.com/Rust-for-Linux/linux: (44 commits)
        rust: ioctl: Add ioctl number manipulation functions
        rust: uapi: Add UAPI crate
        rust: sync: introduce `CondVar`
        rust: lock: add `Guard::do_unlocked`
        rust: sync: introduce `LockedBy`
        rust: introduce `current`
        rust: add basic `Task`
        rust: introduce `ARef`
        rust: lock: introduce `SpinLock`
        rust: lock: introduce `Mutex`
        rust: sync: introduce `Lock` and `Guard`
        rust: sync: introduce `LockClassKey`
        MAINTAINERS: add Benno Lossin as Rust reviewer
        rust: init: broaden the blanket impl of `Init`
        rust: sync: add functions for initializing `UniqueArc<MaybeUninit<T>>`
        rust: sync: reduce stack usage of `UniqueArc::try_new_uninit`
        rust: types: add `Opaque::ffi_init`
        rust: prelude: add `pin-init` API items to prelude
        rust: init: add `Zeroable` trait and `init::zeroed` function
        rust: init: add `stack_pin_init!` macro
        ...
      31089765
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · 825a0714
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
      
       - relocate the LoongArch kernel if the preferred address is already
         occupied
      
       - implement BTI annotations for arm64 EFI stub and zboot images
      
       - clean up arm64 zboot Kbuild rules for injecting the kernel code size
      
      * tag 'efi-next-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
        efi/zboot: arm64: Grab code size from ELF symbol in payload
        efi/zboot: arm64: Inject kernel code size symbol into the zboot payload
        efi/zboot: Set forward edge CFI compat header flag if supported
        efi/zboot: Add BSS padding before compression
        arm64: efi: Enable BTI codegen and add PE/COFF annotation
        efi/pe: Import new BTI/IBT header flags from the spec
        efi/loongarch: Reintroduce efi_relocate_kernel() to relocate kernel
      825a0714
    • Linus Torvalds's avatar
      Merge tag 'for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 17d4ded2
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - power-supply core support for automatic handling of constant battery
         data supplied by firmware
      
       - generic-adc-battery: major cleanup
      
       - axp288_charger: fix ACPI issues on x86 Android tablets
      
       - rk817: cleanup and fix handling for low state of charge
      
      * tag 'for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (26 commits)
        power: supply: rk817: Fix low SOC bugs
        power: supply: rk817: Drop unneeded debugging code
        power: supply: axp288_charger: Use alt usb-id extcon on some x86 android tablets
        power: supply: generic-adc-battery: style fixes
        power: supply: generic-adc-battery: improve error message
        power: supply: generic-adc-battery: update copyright info
        power: supply: generic-adc-battery: add DT support
        power: supply: generic-adc-battery: add temperature support
        power: supply: generic-adc-battery: simplify read_channel logic
        power: supply: generic-adc-battery: use simple-battery API
        power: supply: generic-adc-battery: drop memory alloc error message
        power: supply: generic-adc-battery: drop charge now support
        power: supply: generic-adc-battery: drop jitter delay support
        power: supply: generic-adc-battery: fix unit scaling
        power: supply: generic-adc-battery: convert to managed resources
        power: supply: core: auto-exposure of simple-battery data
        dt-bindings: power: supply: adc-battery: add binding
        power: supply: bq256xx: Support to disable charger
        power: supply: charger-manager: Use of_property_read_bool() for boolean properties
        power: reset: qcom-pon: drop of_match_ptr for ID table
        ...
      17d4ded2
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · e81507ac
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "Nothing looks out of the ordinary in this batch of clk driver updates.
      
        There are a couple patches to the core clk framework, but they're all
        basically cleanups or debugging aids. The driver updates and new
        additions are dominated in the diffstat by Qualcomm and MediaTek
        drivers. Qualcomm gained a handful of new drivers for various SoCs,
        and MediaTek gained a bunch of drivers for MT8188. The MediaTek
        drivers are being modernized as well, so there are updates all over
        that vendor's clk drivers. There's also a couple other new clk drivers
        in here, for example the Starfive JH7110 SoC support is added.
      
        Outside of the two major SoC vendors though, we have the usual
        collection of non-critical fixes and cleanups to various clk drivers.
        It's good to see that we're getting more cleanups and modernization
        patches. Maybe one day we'll be able to properly split clk providers
        from clk consumers.
      
        Core:
         - Print an informational message before disabling unused clks
      
        New Drivers:
         - BCM63268 timer clock and reset controller
         - Frequency Hopping (FHCTL) on MediaTek MT6795, MT8173, MT8192 and
           MT8195 SoCs
         - Mediatek MT8188 SoC clk drivers
         - Clock driver for Sunplus SP7021 SoC
         - Clk driver support for Loongson-2 SoCs
         - Clock driver for Skyworks Si521xx I2C PCIe clock generators
         - Initial Starfive JH7110 clk/reset support
         - Global clock controller drivers for Qualcomm SM7150, IPQ9574,
           MSM8917 and IPQ5332 SoCs
         - GPU clock controller drivers for SM6115, SM6125, SM6375 and SA8775P
           SoCs
      
        Updates:
         - Shrink size of clk_fractional_divider a little
         - Convert various clk drivers to devm_of_clk_add_hw_provider()
         - Convert platform clk drivers to remove_new()
         - Converted most Mediatek clock drivers to struct platform_driver
         - MediaTek clock drivers can be built as modules
         - Reimplement Loongson-1 clk driver with DT support
         - Migrate socfpga clk driver to of_clk_add_hw_provider()
         - Support for i3c clks on Aspeed ast2600 SoCs
         - Add clock generic devm_clk_hw_register_gate_parent_data
         - Add audiomix block control for i.MX8MP
         - Add support for determine_rate to i.MX composite-8m
         - Let the LCDIF Pixel clock of i.MX8MM and i.MX8MN set parent rate
         - Provide clock name in error message for clk-gpr-mux on get parent
           failure
         - Drop duplicate imx_clk_mux_flags macro
         - Register the i.MX8MP Media Disp2 Pix clock as bus clock
         - Add Media LDB root clock to i.MX8MP
         - Make i.MX8MP nand_usdhc_bus clock as non-critical
         - Fix the rate table for i.MX fracn-gppll
         - Disable HW control for the fracn-gppll in order to be controlled by
           register write
         - Add support for interger PLL in fracn-gppll
         - Add mcore_booted module parameter to i.MX93 provider
         - Add NIC, A55 and ARM PLL clocks to i.MX93
         - Fix i.MX8ULP XBAR_DIVBUS and AD_SLOW clock parents
         - Use "divider closest" clock type for PLL4_PFD dividers on i.MX8ULP
           to get more accurate clock rates
         - Mark the MU0_Bi and TPM5 clocks on i.MX8ULP as critical
         - Update some of the i.MX critical clocks flags to allow glitchless
           on-the-fly rate change.
         - Add I2C5 clock on Renesas R-Car V3H
         - Exynos850: Add CMU_G3D clock controller for the Mali GPU
         - Extract Exynos5433 (ARM64) clock controller power management code
           to common driver parts
         - Exynos850: make PMU_ALIVE_PCLK clock critical
         - Add Audio, thermal, camera (CSI-2), Image Signal Processor/Channel
           Selector (ISPCS), and video capture (VIN) clocks on Renesas R-Car
           V4H
         - Add video capture (VIN) clocks on Renesas R-Car V3H
         - Add Cortex-A53 System CPU (Z2) clocks on Renesas R-Car V3M and V3H
         - Support for Stromer Plus PLL on Qualcomm IPQ5332
         - Add a missing reset to Qualcomm QCM2290
         - Migrate Qualcomm IPQ4019 to clk_parent_data
         - Make USB GDSCs enter retention state when disabled on Qualcomm
           SM6375, MSM8996 and MSM8998 SoCs
         - Set floor rounding clk_ops for Qualcomm QCM2290 SDCC2 clk
         - Add two EMAC GDSCs on Qualcomm SC8280XP
         - Use shared rcg clk ops in Qualcomm SM6115 GCC
         - Park Qualcomm SM8350 PCIe PIPE clks when disabled
         - Add GDSCs to Qualcomm SC7280 LPASS audio clock controller
         - Add missing XO clocks to Qualcomm MSM8226 and MSM8974
         - Convert some Qualcomm clk DT bindings to YAML
         - Reparenting fix for the clock supplying camera modules on Rockchip
           rk3399
         - Mark more critical (bus-)clocks on Rockchip rk3588"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (290 commits)
        clk: qcom: gcc-sc8280xp: Add EMAC GDSCs
        clk: starfive: Delete the redundant dev_set_drvdata() in JH7110 clock drivers
        clk: rockchip: rk3588: make gate linked clocks critical
        clk: qcom: dispcc-qcm2290: Remove inexistent DSI1PHY clk
        clk: qcom: add the GPUCC driver for sa8775p
        dt-bindings: clock: qcom: describe the GPUCC clock for SA8775P
        clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling
        clk: qcom: lpassaudiocc-sc7280: Add required gdsc power domain clks in lpass_cc_sc7280_desc
        clk: qcom: lpasscc-sc7280: Skip qdsp6ss clock registration
        dt-bindings: clock: qcom,sc7280-lpasscc: Add qcom,adsp-pil-mode property
        clk: starfive: Avoid casting iomem pointers
        clk: microchip: fix potential UAF in auxdev release callback
        clk: qcom: rpm: Use managed `of_clk_add_hw_provider()`
        clk: mediatek: fhctl: Mark local variables static
        clk: sifive: make SiFive clk drivers depend on ARCH_ symbols
        clk: uniphier: Use managed `of_clk_add_hw_provider()`
        clk: si5351: Use managed `of_clk_add_hw_provider()`
        clk: si570: Use managed `of_clk_add_hw_provider()`
        clk: si514: Use managed `of_clk_add_hw_provider()`
        clk: lmk04832: Use managed `of_clk_add_hw_provider()`
        ...
      e81507ac
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · af387726
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Usual wide collection of unrelated items in drivers:
      
         - Driver bug fixes and treewide cleanups in hfi1, siw, qib, mlx5,
           rxe, usnic, usnic, bnxt_re, ocrdma, iser:
             - remove unnecessary NULL checks
             - kmap obsolescence
             - pci_enable_pcie_error_reporting() obsolescence
             - unused variables and macros
             - trace event related warnings
             - casting warnings
      
         - Code cleanups for irdm and erdma
      
         - EFA reporting of 128 byte PCIe TLP support
      
         - mlx5 more agressively uses the out of order HW feature
      
         - Big rework of how state machines and tasks work in rxe
      
         - Fix a syzkaller found crash netdev refcount leak in siw
      
         - bnxt_re revises their HW description header
      
         - Congestion control for bnxt_re
      
         - Use mmu_notifiers more safely in hfi1
      
         - mlx5 gets better support for PCIe relaxed ordering inside VMs"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (81 commits)
        RDMA/efa: Add rdma write capability to device caps
        RDMA/mlx5: Use correct device num_ports when modify DC
        RDMA/irdma: Drop spurious WQ_UNBOUND from alloc_ordered_workqueue() call
        RDMA/rxe: Fix spinlock recursion deadlock on requester
        RDMA/mlx5: Fix flow counter query via DEVX
        RDMA/rxe: Protect QP state with qp->state_lock
        RDMA/rxe: Move code to check if drained to subroutine
        RDMA/rxe: Remove qp->req.state
        RDMA/rxe: Remove qp->comp.state
        RDMA/rxe: Remove qp->resp.state
        RDMA/mlx5: Allow relaxed ordering read in VFs and VMs
        net/mlx5: Update relaxed ordering read HCA capabilities
        RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR
        RDMA/mlx5: Remove pcie_relaxed_ordering_enabled() check for RO write
        RDMA: Add ib_virt_dma_to_page()
        RDMA/rxe: Fix the error "trying to register non-static key in rxe_cleanup_task"
        RDMA/irdma: Slightly optimize irdma_form_ah_cm_frame()
        RDMA/rxe: Fix incorrect TASKLET_STATE_SCHED check in rxe_task.c
        IB/hfi1: Place struct mmu_rb_handler on cache line start
        IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
        ...
      af387726
  4. 29 Apr, 2023 17 commits
    • Linus Torvalds's avatar
      Merge tag '6.4-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd · 1ae78a14
      Linus Torvalds authored
      Pull ksmbd server updates from Steve French:
      
       - SMB3.1.1 negotiate context fixes and cleanup
      
       - new lock_rename_child VFS helper
      
       - ksmbd fix to avoid unlink race and to use the new VFS helper to avoid
         rename race
      
      * tag '6.4-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: fix racy issue from using ->d_parent and ->d_name
        ksmbd: remove unused compression negotiate ctx packing
        ksmbd: avoid duplicate negotiate ctx offset increments
        ksmbd: set NegotiateContextCount once instead of every inc
        fs: introduce lock_rename_child() helper
        ksmbd: remove internal.h include
      1ae78a14
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 4e1c80ae
      Linus Torvalds authored
      Pull nfsd updates from Chuck Lever:
       "The big ticket item for this release is that support for RPC-with-TLS
        [RFC 9289] has been added to the Linux NFS server.
      
        The goal is to provide a simple-to-deploy, low-overhead in-transit
        confidentiality and peer authentication mechanism. It can supplement
        NFS Kerberos and it can protect the use of legacy non-cryptographic
        user authentication flavors such as AUTH_SYS. The TLS Record protocol
        is handled entirely by kTLS, meaning it can use either software
        encryption or offload encryption to smart NICs.
      
        Aside from that, work continues on improving NFSD's open file cache.
        Among the many clean-ups in that area is a patch to convert the
        rhashtable to use the list-hashing version of that data structure"
      
      * tag 'nfsd-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (31 commits)
        NFSD: Handle new xprtsec= export option
        SUNRPC: Support TLS handshake in the server-side TCP socket code
        NFSD: Clean up xattr memory allocation flags
        NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop
        SUNRPC: Clear rq_xid when receiving a new RPC Call
        SUNRPC: Recognize control messages in server-side TCP socket code
        SUNRPC: Be even lazier about releasing pages
        SUNRPC: Convert svc_xprt_release() to the release_pages() API
        SUNRPC: Relocate svc_free_res_pages()
        nfsd: simplify the delayed disposal list code
        SUNRPC: Ignore return value of ->xpo_sendto
        SUNRPC: Ensure server-side sockets have a sock->file
        NFSD: Watch for rq_pages bounds checking errors in nfsd_splice_actor()
        sunrpc: simplify two-level sysctl registration for svcrdma_parm_table
        SUNRPC: return proper error from get_expiry()
        lockd: add some client-side tracepoints
        nfs: move nfs_fhandle_hash to common include file
        lockd: server should unlock lock if client rejects the grant
        lockd: fix races in client GRANTED_MSG wait logic
        lockd: move struct nlm_wait to lockd.h
        ...
      4e1c80ae
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-6.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs · 0127f25b
      Linus Torvalds authored
      Pull NFS client updates from Anna Schumaker:
       "New Features:
      
         - Convert the readdir path to use folios
      
         - Convert the NFS fscache code to use netfs
      
        Bugfixes and Cleanups:
      
         - Always send a RECLAIM_COMPLETE after establishing a lease
      
         - Simplify sysctl registrations and other cleanups
      
         - Handle out-of-order write replies on NFS v3
      
         - Have sunrpc call_bind_status use standard hard/soft task semantics
      
         - Other minor cleanups"
      
      * tag 'nfs-for-6.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        NFSv4.2: Rework scratch handling for READ_PLUS
        NFS: Cleanup unused rpc_clnt variable
        NFS: set varaiable nfs_netfs_debug_id storage-class-specifier to static
        SUNRPC: remove the maximum number of retries in call_bind_status
        NFS: Convert readdir page array functions to use a folio
        NFS: Convert the readdir array-of-pages into an array-of-folios
        NFSv3: handle out-of-order write replies.
        NFS: Remove fscache specific trace points and NFS_INO_FSCACHE bit
        NFS: Remove all NFSIOS_FSCACHE counters due to conversion to netfs API
        NFS: Convert buffered read paths to use netfs when fscache is enabled
        NFS: Configure support for netfs when NFS fscache is configured
        NFS: Rename readpage_async_filler to nfs_read_add_folio
        sunrpc: simplify one-level sysctl registration for debug_table
        sunrpc: move sunrpc_table and proc routines above
        sunrpc: simplify one-level sysctl registration for xs_tunables_table
        sunrpc: simplify one-level sysctl registration for xr_tunables_table
        nfs: simplify two-level sysctl registration for nfs_cb_sysctls
        nfs: simplify two-level sysctl registration for nfs4_cb_sysctls
        lockd: simplify two-level sysctl registration for nlm_sysctls
        NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
      0127f25b
    • Linus Torvalds's avatar
      Merge tag 'ntfs3_for_6.4' of https://github.com/Paragon-Software-Group/linux-ntfs3 · 1e098dec
      Linus Torvalds authored
      Pull ntfs3 updates from Konstantin Komarov:
       "New code:
      
         - add missed "nocase" in ntfs_show_options
      
         - extend information on failures/errors
      
         - small optimizations
      
        Fixes:
      
         - some logic errors
      
         - some dead code was removed
      
         - code is refactored and reformatted according to the new version of
           clang-format
      
        Code removal:
      
         - 'noacsrules' option.
      
           Currently, this option does not work properly, and its use leads to
           unstable results. If we figure out how to implement it without
           errors, we will add it later
      
         - writepage"
      
      * tag 'ntfs3_for_6.4' of https://github.com/Paragon-Software-Group/linux-ntfs3: (30 commits)
        fs/ntfs3: Fix root inode checking
        fs/ntfs3: Print details about mount fails
        fs/ntfs3: Add missed "nocase" in ntfs_show_options
        fs/ntfs3: Code formatting and refactoring
        fs/ntfs3: Changed ntfs_get_acl() to use dentry
        fs/ntfs3: Remove field sbi->used.bitmap.set_tail
        fs/ntfs3: Undo critial modificatins to keep directory consistency
        fs/ntfs3: Undo endian changes
        fs/ntfs3: Optimization in ntfs_set_state()
        fs/ntfs3: Fix ntfs_create_inode()
        fs/ntfs3: Remove noacsrules
        fs/ntfs3: Use bh_read to simplify code
        fs/ntfs3: Fix a possible null-pointer dereference in ni_clear()
        fs/ntfs3: Refactoring of various minor issues
        fs/ntfs3: Restore overflow checking for attr size in mi_enum_attr
        fs/ntfs3: Check for extremely large size of $AttrDef
        fs/ntfs3: Improved checking of attribute's name length
        fs/ntfs3: Add null pointer checks
        fs/ntfs3: fix spelling mistake "attibute" -> "attribute"
        fs/ntfs3: Add length check in indx_get_root
        ...
      1e098dec
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.4-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 56c455b3
      Linus Torvalds authored
      Pull xfs updates from Dave Chinner:
       "This consists mainly of online scrub functionality and the design
        documentation for the upcoming online repair functionality built on
        top of the scrub code:
      
         - Added detailed design documentation for the upcoming online repair
           feature
      
         - major update to online scrub to complete the reverse mapping
           cross-referencing infrastructure enabling us to fully validate
           allocated metadata against owner records. This is the last piece of
           scrub infrastructure needed before we can start merging online
           repair functionality.
      
         - Fixes for the ascii-ci hashing issues
      
         - deprecation of the ascii-ci functionality
      
         - on-disk format verification bug fixes
      
         - various random bug fixes for syzbot and other bug reports"
      
      * tag 'xfs-6.4-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (107 commits)
        xfs: fix livelock in delayed allocation at ENOSPC
        xfs: Extend table marker on deprecated mount options table
        xfs: fix duplicate includes
        xfs: fix BUG_ON in xfs_getbmap()
        xfs: verify buffer contents when we skip log replay
        xfs: _{attr,data}_map_shared should take ILOCK_EXCL until iread_extents is completely done
        xfs: remove WARN when dquot cache insertion fails
        xfs: don't consider future format versions valid
        xfs: deprecate the ascii-ci feature
        xfs: test the ascii case-insensitive hash
        xfs: stabilize the dirent name transformation function used for ascii-ci dir hash computation
        xfs: cross-reference rmap records with refcount btrees
        xfs: cross-reference rmap records with inode btrees
        xfs: cross-reference rmap records with free space btrees
        xfs: cross-reference rmap records with ag btrees
        xfs: introduce bitmap type for AG blocks
        xfs: convert xbitmap to interval tree
        xfs: drop the _safe behavior from the xbitmap foreach macro
        xfs: don't load local xattr values during scrub
        xfs: remove the for_each_xbitmap_ helpers
        ...
      56c455b3
    • Linus Torvalds's avatar
      Merge tag 'iomap-6.4-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · bedf1495
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "The only changes for this cycle are the addition of tracepoints to the
        iomap directio code so that Ritesh (who is working on porting ext2 to
        iomap) can observe the io flows more easily.
      
        Summary:
      
         - Remove an unused symbol
      
         - Add tracepoints for the directio code"
      
      * tag 'iomap-6.4-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: Add DIO tracepoints
        iomap: Remove IOMAP_DIO_NOSYNC unused dio flag
        fs.h: Add TRACE_IOCB_STRINGS for use in trace points
      bedf1495
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.4-2023-04-28' of git://git.infradead.org/users/hch/dma-mapping · b28e6315
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - fix a PageHighMem check in dma-coherent initialization (Doug Berger)
      
       - clean up the coherency defaul initialiation (Jiaxun Yang)
      
       - add cacheline to user/kernel dma-debug space dump messages (Desnes
         Nunes, Geert Uytterhoeve)
      
       - swiotlb statistics improvements (Michael Kelley)
      
       - misc cleanups (Petr Tesarik)
      
      * tag 'dma-mapping-6.4-2023-04-28' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: Omit total_used and used_hiwater if !CONFIG_DEBUG_FS
        swiotlb: track and report io_tlb_used high water marks in debugfs
        swiotlb: fix debugfs reporting of reserved memory pools
        swiotlb: relocate PageHighMem test away from rmem_swiotlb_setup
        of: address: always use dma_default_coherent for default coherency
        dma-mapping: provide CONFIG_ARCH_DMA_DEFAULT_COHERENT
        dma-mapping: provide a fallback dma_default_coherent
        dma-debug: Use %pa to format phys_addr_t
        dma-debug: add cacheline to user/kernel space dump messages
        dma-debug: small dma_debug_entry's comment and variable name updates
        dma-direct: cleanup parameters to dma_direct_optimal_gfp_mask
      b28e6315
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2023-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7d8d2019
      Linus Torvalds authored
      Pull more timer updates from Thomas Gleixner:
       "Timekeeping and clocksource/event driver updates the second batch:
      
         - A trivial documentation fix in the timekeeping core
      
         - A really boring set of small fixes, enhancements and cleanups in
           the drivers code. No new clocksource/clockevent drivers for a
           change"
      
      * tag 'timers-core-2023-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Fix references to nonexistent ktime_get_fast_ns()
        dt-bindings: timer: rockchip: Add rk3588 compatible
        dt-bindings: timer: rockchip: Drop superfluous rk3288 compatible
        clocksource/drivers/ti: Use of_property_read_bool() for boolean properties
        clocksource/drivers/timer-ti-dm: Fix finding alwon timer
        clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
        clocksource/drivers/stm32-lp: Drop of_match_ptr for ID table
        clocksource/drivers/timer-ti-dm: Convert to platform remove callback returning void
        clocksource/drivers/timer-tegra186: Convert to platform remove callback returning void
        clocksource/drivers/timer-ti-dm: Improve error message in .remove
        clocksource/drivers/timer-stm32-lp: Mark driver as non-removable
        clocksource/drivers/sh_mtu2: Mark driver as non-removable
        clocksource/drivers/timer-ti-dm: Use of_address_to_resource()
        clocksource/drivers/timer-imx-gpt: Remove non-DT function
        clocksource/drivers/timer-mediatek: Split out CPUXGPT timers
        clocksource/drivers/exynos_mct: Explicitly return 0 for shared timer
      7d8d2019
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20230428' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · 8c1318e4
      Linus Torvalds authored
      Pull lsm fix from Paul Moore:
       "A single Documentation/LSM fix to update the LSM hook documentation
        references from lsm_hooks.h to security.c"
      
      * tag 'lsm-pr-20230428' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: move hook comments docs to security/security.c
      8c1318e4
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · febf9ee3
      Linus Torvalds authored
      Pull integrity update from Mimi Zohar:
       "Just one one bug fix. Other integrity changes are being upstreamed via
        the tpm and lsm trees"
      
      * tag 'integrity-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        IMA: allow/fix UML builds
      febf9ee3
    • Linus Torvalds's avatar
      Merge tag 'cgroup-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 86e98ed1
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - cpuset changes including the fix for an incorrect interaction with
         CPU hotplug and an optimization
      
       - Other doc and cosmetic changes
      
      * tag 'cgroup-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        docs: cgroup-v1/cpusets: update libcgroup project link
        cgroup/cpuset: Minor updates to test_cpuset_prs.sh
        cgroup/cpuset: Include offline CPUs when tasks' cpumasks in top_cpuset are updated
        cgroup/cpuset: Skip task update if hotplug doesn't affect current cpuset
        cpuset: Clean up cpuset_node_allowed
        cgroup: bpf: use cgroup_lock()/cgroup_unlock() wrappers
      86e98ed1
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · cd546fa3
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Mostly changes from Petr to improve warning and error reporting.
      
        Workqueue now reports more of the relevant failures with better
        context which should help debugging"
      
      * tag 'wq-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Introduce show_freezable_workqueues
        workqueue: Print backtraces from CPUs with hung CPU bound workqueues
        workqueue: Warn when a rescuer could not be created
        workqueue: Interrupted create_worker() is not a repeated event
        workqueue: Warn when a new worker could not be created
        workqueue: Fix hung time report of worker pools
        workqueue: Simplify a pr_warn() call in wq_select_unbound_cpu()
        MAINTAINERS: Add workqueue_internal.h to the WORKQUEUE entry
      cd546fa3
    • Steve French's avatar
      cifs: update internal module version number for cifs.ko · 9be11a69
      Steve French authored
      From 2.42 to 2.43
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      9be11a69
    • Steve French's avatar
      smb3: move some common open context structs to smbfs_common · 2fe187dc
      Steve French authored
      create durable and create durable reconnect context and the maximal
      access create context struct definitions can be put in common code in
      smbfs_common
      Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      2fe187dc
    • Steve French's avatar
      smb3: make query_on_disk_id open context consistent and move to common code · 1149c846
      Steve French authored
      cifs and ksmbd were using a slightly different version of the query_on_disk_id
      struct which could be confusing. Use the ksmbd version of this struct, and
      move it to common code.
      Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      1149c846
    • Steve French's avatar
      SMB3.1.1: add new tree connect ShareFlags · c09ba02c
      Steve French authored
      Also update these flag names in a few places to match the simpler
      easier to understand names now used in the protocol documentation
      (see MS-SMB2 section 2.2.10)
      Acked-by: default avatarBharath SM <bharathsm@microsoft.com>
      Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      c09ba02c
    • Steve French's avatar
      cifs: missing lock when updating session status · 943fb67b
      Steve French authored
      Coverity noted a place where we were not grabbing
      the ses_lock when setting (and checking) ses_status.
      
      Addresses-Coverity: 1536833 ("Data race condition (MISSING_LOCK)")
      Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
      Reviewed-by: default avatarBharath SM <bharathsm@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      943fb67b
  5. 28 Apr, 2023 10 commits
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.4-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 89d77f71
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for runtime detection of the Svnapot extension
      
       - Support for Zicboz when clearing pages
      
       - We've moved to GENERIC_ENTRY
      
       - Support for !MMU on rv32 systems
      
       - The linear region is now mapped via huge pages
      
       - Support for building relocatable kernels
      
       - Support for the hwprobe interface
      
       - Various fixes and cleanups throughout the tree
      
      * tag 'riscv-for-linus-6.4-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (57 commits)
        RISC-V: hwprobe: Explicity check for -1 in vdso init
        RISC-V: hwprobe: There can only be one first
        riscv: Allow to downgrade paging mode from the command line
        dt-bindings: riscv: add sv57 mmu-type
        RISC-V: hwprobe: Remove __init on probe_vendor_features()
        riscv: Use --emit-relocs in order to move .rela.dyn in init
        riscv: Check relocations at compile time
        powerpc: Move script to check relocations at compile time in scripts/
        riscv: Introduce CONFIG_RELOCATABLE
        riscv: Move .rela.dyn outside of init to avoid empty relocations
        riscv: Prepare EFI header for relocatable kernels
        riscv: Unconditionnally select KASAN_VMALLOC if KASAN
        riscv: Fix ptdump when KASAN is enabled
        riscv: Fix EFI stub usage of KASAN instrumented strcmp function
        riscv: Move DTB_EARLY_BASE_VA to the kernel address space
        riscv: Rework kasan population functions
        riscv: Split early and final KASAN population functions
        riscv: Use PUD/P4D/PGD pages for the linear mapping
        riscv: Move the linear mapping creation in its own function
        riscv: Get rid of riscv_pfn_base variable
        ...
      89d77f71
    • Linus Torvalds's avatar
      Merge tag 'm68knommu-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · b23c1376
      Linus Torvalds authored
      Pull m68knommu updates from Greg Ungerer:
       "A couple of minor changes.
      
        One to remove the long dead uclinux.org web address and email list
        from the MAINTAINERS entry for UCLINUX.
      
        The other to remove dead config options in the m68knommu Kconfig"
      
      * tag 'm68knommu-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: Kconfig.machine: remove obsolete configs ROMBASE and ROMSIZE
        MAINTAINERS: drop uclinux.org
      b23c1376
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 70cc1b53
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Add support for building the kernel using PC-relative addressing on
         Power10.
      
       - Allow HV KVM guests on Power10 to use prefixed instructions.
      
       - Unify support for the P2020 CPU (85xx) into a single machine
         description.
      
       - Always build the 64-bit kernel with 128-bit long double.
      
       - Drop support for several obsolete 2000's era development boards as
         identified by Paul Gortmaker.
      
       - A series fixing VFIO on Power since some generic changes.
      
       - Various other small features and fixes.
      
      Thanks to Alexey Kardashevskiy, Andrew Donnellan, Benjamin Gray, Bo Liu,
      Christophe Leroy, Dan Carpenter, David Binderman, Ira Weiny, Joel
      Stanley, Kajol Jain, Kautuk Consul, Liang He, Luis Chamberlain, Masahiro
      Yamada, Michael Neuling, Nathan Chancellor, Nathan Lynch, Nicholas
      Miehlbradt, Nicholas Piggin, Nick Desaulniers, Nysal Jan K.A, Pali
      Rohár, Paul Gortmaker, Paul Mackerras, Petr Vaněk, Randy Dunlap, Rob
      Herring, Sachin Sant, Sean Christopherson, Segher Boessenkool, and
      Timothy Pearson.
      
      * tag 'powerpc-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (156 commits)
        powerpc/64s: Disable pcrel code model on Clang
        powerpc: Fix merge conflict between pcrel and copy_thread changes
        powerpc/configs/powernv: Add IGB=y
        powerpc/configs/64s: Drop JFS Filesystem
        powerpc/configs/64s: Use EXT4 to mount EXT2 filesystems
        powerpc/configs: Make pseries_defconfig an alias for ppc64le_guest
        powerpc/configs: Make pseries_le an alias for ppc64le_guest
        powerpc/configs: Incorporate generic kvm_guest.config into guest configs
        powerpc/configs: Add IBMVETH=y and IBMVNIC=y to guest configs
        powerpc/configs/64s: Enable Device Mapper options
        powerpc/configs/64s: Enable PSTORE
        powerpc/configs/64s: Enable VLAN support
        powerpc/configs/64s: Enable BLK_DEV_NVME
        powerpc/configs/64s: Drop REISERFS
        powerpc/configs/64s: Use SHA512 for module signatures
        powerpc/configs/64s: Enable IO_STRICT_DEVMEM
        powerpc/configs/64s: Enable SCHEDSTATS
        powerpc/configs/64s: Enable DEBUG_VM & other options
        powerpc/configs/64s: Enable EMULATED_STATS
        powerpc/configs/64s: Enable KUNIT and most tests
        ...
      70cc1b53
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 5ea8abf5
      Linus Torvalds authored
      Pull tracing tools updates from Steven Rostedt:
      
       - Add auto-analysis only option to rtla/timerlat
      
         Add an --aa-only option to the tooling to perform only the auto
         analysis and not to parse and format the data.
      
       - Other minor fixes and clean ups
      
      * tag 'trace-tools-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        rtla/timerlat: Fix "Previous IRQ" auto analysis' line
        rtla/timerlat: Add auto-analysis only option
        rv: Remove redundant assignment to variable retval
        rv: Fix addition on an uninitialized variable 'run'
        rtla: Add .gitignore file
      5ea8abf5
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · d579c468
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - User events are finally ready!
      
         After lots of collaboration between various parties, we finally
         locked down on a stable interface for user events that can also work
         with user space only tracing.
      
         This is implemented by telling the kernel (or user space library, but
         that part is user space only and not part of this patch set), where
         the variable is that the application uses to know if something is
         listening to the trace.
      
         There's also an interface to tell the kernel about these events,
         which will show up in the /sys/kernel/tracing/events/user_events/
         directory, where it can be enabled.
      
         When it's enabled, the kernel will update the variable, to tell the
         application to start writing to the kernel.
      
         See https://lwn.net/Articles/927595/
      
       - Cleaned up the direct trampolines code to simplify arm64 addition of
         direct trampolines.
      
         Direct trampolines use the ftrace interface but instead of jumping to
         the ftrace trampoline, applications (mostly BPF) can register their
         own trampoline for performance reasons.
      
       - Some updates to the fprobe infrastructure. fprobes are more efficient
         than kprobes, as it does not need to save all the registers that
         kprobes on ftrace do. More work needs to be done before the fprobes
         will be exposed as dynamic events.
      
       - More updates to references to the obsolete path of
         /sys/kernel/debug/tracing for the new /sys/kernel/tracing path.
      
       - Add a seq_buf_do_printk() helper to seq_bufs, to print a large buffer
         line by line instead of all at once.
      
         There are users in production kernels that have a large data dump
         that originally used printk() directly, but the data dump was larger
         than what printk() allowed as a single print.
      
         Using seq_buf() to do the printing fixes that.
      
       - Add /sys/kernel/tracing/touched_functions that shows all functions
         that was every traced by ftrace or a direct trampoline. This is used
         for debugging issues where a traced function could have caused a
         crash by a bpf program or live patching.
      
       - Add a "fields" option that is similar to "raw" but outputs the fields
         of the events. It's easier to read by humans.
      
       - Some minor fixes and clean ups.
      
      * tag 'trace-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (41 commits)
        ring-buffer: Sync IRQ works before buffer destruction
        tracing: Add missing spaces in trace_print_hex_seq()
        ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus
        recordmcount: Fix memory leaks in the uwrite function
        tracing/user_events: Limit max fault-in attempts
        tracing/user_events: Prevent same address and bit per process
        tracing/user_events: Ensure bit is cleared on unregister
        tracing/user_events: Ensure write index cannot be negative
        seq_buf: Add seq_buf_do_printk() helper
        tracing: Fix print_fields() for __dyn_loc/__rel_loc
        tracing/user_events: Set event filter_type from type
        ring-buffer: Clearly check null ptr returned by rb_set_head_page()
        tracing: Unbreak user events
        tracing/user_events: Use print_format_fields() for trace output
        tracing/user_events: Align structs with tabs for readability
        tracing/user_events: Limit global user_event count
        tracing/user_events: Charge event allocs to cgroups
        tracing/user_events: Update documentation for ABI
        tracing/user_events: Use write ABI in example
        tracing/user_events: Add ABI self-test
        ...
      d579c468
    • Linus Torvalds's avatar
      Merge tag 'smp-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f20730ef
      Linus Torvalds authored
      Pull SMP cross-CPU function-call updates from Ingo Molnar:
      
       - Remove diagnostics and adjust config for CSD lock diagnostics
      
       - Add a generic IPI-sending tracepoint, as currently there's no easy
         way to instrument IPI origins: it's arch dependent and for some major
         architectures it's not even consistently available.
      
      * tag 'smp-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        trace,smp: Trace all smp_function_call*() invocations
        trace: Add trace_ipi_send_cpu()
        sched, smp: Trace smp callback causing an IPI
        smp: reword smp call IPI comment
        treewide: Trace IPIs sent via smp_send_reschedule()
        irq_work: Trace self-IPIs sent via arch_irq_work_raise()
        smp: Trace IPIs sent via arch_send_call_function_ipi_mask()
        sched, smp: Trace IPIs sent via send_call_function_single_ipi()
        trace: Add trace_ipi_send_cpumask()
        kernel/smp: Make csdlock_debug= resettable
        locking/csd_lock: Remove per-CPU data indirection from CSD lock debugging
        locking/csd_lock: Remove added data from CSD lock debugging
        locking/csd_lock: Add Kconfig option for csd_debug default
      f20730ef
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 586b222d
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - Allow unprivileged PSI poll()ing
      
       - Fix performance regression introduced by mm_cid
      
       - Improve livepatch stalls by adding livepatch task switching to
         cond_resched(). This resolves livepatching busy-loop stalls with
         certain CPU-bound kthreads
      
       - Improve sched_move_task() performance on autogroup configs
      
       - On core-scheduling CPUs, avoid selecting throttled tasks to run
      
       - Misc cleanups, fixes and improvements
      
      * tag 'sched-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/clock: Fix local_clock() before sched_clock_init()
        sched/rt: Fix bad task migration for rt tasks
        sched: Fix performance regression introduced by mm_cid
        sched/core: Make sched_dynamic_mutex static
        sched/psi: Allow unprivileged polling of N*2s period
        sched/psi: Extract update_triggers side effect
        sched/psi: Rename existing poll members in preparation
        sched/psi: Rearrange polling code in preparation
        sched/fair: Fix inaccurate tally of ttwu_move_affine
        vhost: Fix livepatch timeouts in vhost_worker()
        livepatch,sched: Add livepatch task switching to cond_resched()
        livepatch: Skip task_call_func() for current task
        livepatch: Convert stack entries array to percpu
        sched: Interleave cfs bandwidth timers for improved single thread performance at low utilization
        sched/core: Reduce cost of sched_move_task when config autogroup
        sched/core: Avoid selecting the task that is throttled to run when core-sched enable
        sched/topology: Make sched_energy_mutex,update static
      586b222d
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7c339778
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
      
       - Add Intel Granite Rapids support
      
       - Add uncore events for Intel SPR IMC PMU
      
       - Fix perf IRQ throttling bug
      
      * tag 'perf-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel/uncore: Add events for Intel SPR IMC PMU
        perf/core: Fix hardlockup failure caused by perf throttle
        perf/x86/cstate: Add Granite Rapids support
        perf/x86/msr: Add Granite Rapids
        perf/x86/intel: Add Granite Rapids
      7c339778
    • Linus Torvalds's avatar
      Merge tag 'objtool-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2aff7c70
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
      
       - Mark arch_cpu_idle_dead() __noreturn, make all architectures &
         drivers that did this inconsistently follow this new, common
         convention, and fix all the fallout that objtool can now detect
         statically
      
       - Fix/improve the ORC unwinder becoming unreliable due to
         UNWIND_HINT_EMPTY ambiguity, split it into UNWIND_HINT_END_OF_STACK
         and UNWIND_HINT_UNDEFINED to resolve it
      
       - Fix noinstr violations in the KCSAN code and the lkdtm/stackleak code
      
       - Generate ORC data for __pfx code
      
       - Add more __noreturn annotations to various kernel startup/shutdown
         and panic functions
      
       - Misc improvements & fixes
      
      * tag 'objtool-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
        x86/hyperv: Mark hv_ghcb_terminate() as noreturn
        scsi: message: fusion: Mark mpt_halt_firmware() __noreturn
        x86/cpu: Mark {hlt,resume}_play_dead() __noreturn
        btrfs: Mark btrfs_assertfail() __noreturn
        objtool: Include weak functions in global_noreturns check
        cpu: Mark nmi_panic_self_stop() __noreturn
        cpu: Mark panic_smp_self_stop() __noreturn
        arm64/cpu: Mark cpu_park_loop() and friends __noreturn
        x86/head: Mark *_start_kernel() __noreturn
        init: Mark start_kernel() __noreturn
        init: Mark [arch_call_]rest_init() __noreturn
        objtool: Generate ORC data for __pfx code
        x86/linkage: Fix padding for typed functions
        objtool: Separate prefix code from stack validation code
        objtool: Remove superfluous dead_end_function() check
        objtool: Add symbol iteration helpers
        objtool: Add WARN_INSN()
        scripts/objdump-func: Support multiple functions
        context_tracking: Fix KCSAN noinstr violation
        objtool: Add stackleak instrumentation to uaccess safe list
        ...
      2aff7c70
    • Anna Schumaker's avatar
      NFSv4.2: Rework scratch handling for READ_PLUS · fbd2a05f
      Anna Schumaker authored
      Instead of using a tiny, static scratch buffer, we should use a kmalloc()-ed
      buffer that is allocated when checking for read plus usage. This lets us
      use the buffer before decoding any part of the READ_PLUS operation
      instead of setting it right before segment decoding, meaning it should
      be a little more robust.
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      fbd2a05f