1. 19 Jul, 2024 20 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 12cc3d53
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "Lots of changes in this cycle, but mostly for cleanups and
        refactoring.
      
        Significant amount of changes are about DT schema conversions for ASoC
        at this time while we see other usual suspects, too.
      
        Some highlights below:
      
        Core:
         - Re-introduction of PCM sync ID support API
         - MIDI2 time-base extension in ALSA sequencer API
      
        ASoC:
         - Syncing of features between simple-audio-card and the two
           audio-graph cards
         - Support for specifying the order of operations for components
           within cards to allow quirking for unusual systems
         - Lots of DT schema conversions
         - Continued SOF/Intel updates for topology, SoundWire, IPC3/4
         - New support for Asahi Kasei AK4619, Cirrus Logic CS530x, Everest
           Semiconductors ES8311, NXP i.MX95 and LPC32xx, Qualcomm LPASS v2.5
           and WCD937x, Realtek RT1318 and RT1320 and Texas Instruments
           PCM5242
      
        HD-audio:
         - More quirks, Intel PantherLake support, senarytech codec support
         - Refactoring of Cirrus codec component-binding
      
        Others:
         - ALSA control kselftest improvements, and fixes for input value
           checks in various drivers"
      
      * tag 'sound-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (349 commits)
        kselftest/alsa: Log the PCM ID in pcm-test
        kselftest/alsa: Use card name rather than number in test names
        ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360
        ALSA: hda/tas2781: Add new quirk for Lenovo Hera2 Laptop
        ALSA: seq: ump: Skip useless ports for static blocks
        ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused
        ALSA: usb: Use BIT() for bit values
        ALSA: usb: Fix UBSAN warning in parse_audio_unit()
        ALSA: hda/realtek: Enable headset mic on Positivo SU C1400
        ASoC: tas2781: Add new Kontrol to set tas2563 digital Volume
        ASoC: codecs: wcd937x: Remove separate handling for vdd-buck supply
        ASoC: codecs: wcd937x: Remove the string compare in MIC BIAS widget settings
        ASoC: codecs: wcd937x-sdw: Fix Unbalanced pm_runtime_enable
        ASoC: dt-bindings: cirrus,cs42xx8: Convert to dtschema
        ASoC: cs530x: Remove bclk from private structure
        ASoC: cs530x: Calculate proper bclk rate using TDM
        ASoC: dt-bindings: cirrus,cs4270: Convert to dtschema
        firmware: cs_dsp: Rename fw_ver to wmfw_ver
        firmware: cs_dsp: Clarify wmfw format version log message
        firmware: cs_dsp: Make wmfw and bin filename arguments const char *
        ...
      12cc3d53
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · a4f92855
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This a large collection of clk driver updates and a handful of new SoC
        clk driver support.
      
        We have the usual Qualcomm clk drivers, along with clk drivers for the
        Sophgo and T-Head vendors, all to support some new SoCs.
      
        Nothing in particular stands out to me in the updates. There's the
        interconnect clk driver which exposes clks as interconnects, crossing
        subsystems. There's a bunch of janitorial things that are improving
        drivers in general like kmemdup_array() or fixing error paths. But
        overall the updates look normal to fix the description data which is
        usually the stuff that's wrong and/or untested.
      
        Core:
         - Skip gate basic type KUnit tests on s390 due to lack of MMIO
           emulation
      
        New Drivers:
         - AP sub-system clock controller in the T-Head TH1520
         - Sophgo Sophon sg2042 clk driver
         - Qualcomm SM7150 camera, display and video clk drivers
         - Qualcomm QCM2290 GPU clk driver
         - Qualcomm QCS8386/QCS8084 NSS clk driver
         - Qualcomm SM8650 camera and video drivers
      
        Updates:
         - Add reset support to Airoha EN7581 clk driver
         - Add MODULE_DESCRIPTIONs to various clk drivers
         - Introduce helper logic to expose clock controllers as simple
           interconnect providers
         - Use the interconnect helper above on Qualcomm ipq9574
         - Add CLK_SET_RATE_PARENT to the remaining USB pipe clocks on
           Qualcomm X1Elite
         - Improve error handling in Qualcomm kpss-xcc driver
         - Mark Qualcomm SC8280XP LPASS clock controller regmap_config const
         - Export more clocks for Rockchip rk3128 peripherals
         - Convert Rockchip clk drivers to use kmemdup_array()
         - Drop CLK_NR_CLKS from Rockchip rk3128 and rk3188 binding headers
         - Make qcom_cc_really_probe() take a struct device to allow reuse in
           non-platform-drivers
         - Introduce prepare-only branch clock ops in the qcom clk driver to
           support clocks on buses that take locks
         - Describe parent/child relationship for Qualcomm SC7280 camera GDSCs
         - Support Qualcomm Huayra 2290 alpha PLL
         - Adjust the highest SDCC clock frequency on Qualcomm IPQ6018 to
           match HS200 support
         - Add missing PCIe PIPE clocks on Qualcomm IPQ9574
         - Fix various configurations and properties in the Qualcomm SA8775P,
           X1E80100 and SM7280 drivers
         - Park Qualcomm SM8350 GPU RCGs on XO while disabled
         - Remove unused CONFIG_QCOM_RPMCC Kconfig symbol
         - exynos-clkout: Remove usage of of_device_id table as
           .of_match_table, because the driver is instantiated as MFD cell,
           not as standalone platform driver. Populated .of_match_table
           confused people few times to convert the code to
           device_get_match_data(), which broke the driver
         - Mark one Samsung UFS clock as critical, because having it off stops
           the system from shutdown
         - Use kmemdup_array() when applicable
         - Remove unused 'struct gates_data' from old sunxi driver library
         - Add GPADC clock and reset for Allwinner H616
         - Minor Amlogic S4 clock fixes
         - DT bindings Yaml conversion of the Amlogic AXG audio controller
         - Amlogic C3 clock controllers support
         - Amlogic clk flag added to skip init of already enabled PLLs and
           avoid relocking
         - Amlogic A1 DT bindings updates for system pll support
         - Add missing MODULE_DESCRIPTION where necessary
         - Remove obsolete clock DT binding header files
         - Add Battery Backup (VBATTB) and I2C clocks, resets, and power
           domains on Renesas RZ/G3S
         - Add audio clocks on Renesas R-Car V4M
         - Add video capture (ISPCS, CSI-2, VIN) clocks on Renesas R-Car V4M"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (135 commits)
        clk: thead: Add support for T-Head TH1520 AP_SUBSYS clocks
        dt-bindings: clock: Document T-Head TH1520 AP_SUBSYS controller
        clk: sophgo: Avoid -Wsometimes-uninitialized in sg2042_clk_pll_set_rate()
        clk/sophgo: Using BUG() instead of unreachable() in mmux_get_parent_id()
        clk: mxs: Use clamp() in clk_ref_round_rate() and clk_ref_set_rate()
        clk: sunxi-ng r40: Constify struct regmap_config
        clk: en7523: fix rate divider for slic and spi clocks
        clk: lpc32xx: Constify struct regmap_config
        clk: xilinx: Constify struct regmap_config
        clk: en7523: Remove PCIe reset open drain configuration for EN7581
        clk: en7523: Remove pcie prepare/unpreare callbacks for EN7581 SoC
        clk: en7523: Add reset-controller support for EN7581 SoC
        dt-bindings: clock: airoha: Add reset support to EN7581 clock binding
        dt-bindings: clock: mediatek: Document reset cells for MT8188 sys
        clk: mediatek: mt8173-infracfg: Handle unallocated infracfg when module
        dt-bindings: clock: mediatek: add syscon compatible for mt7622 pciesys
        dt-bindings: clock: sprd,sc9860-clk: convert to YAML
        dt-bindings: clock: qoriq-clock: convert to yaml format
        clk: qcom: Park shared RCGs upon registration
        clk: qcom: ipq9574: Use icc-clk for enabling NoC related clocks
        ...
      a4f92855
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · f4f92db4
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "Several new features here:
      
         - Virtio find vqs API has been reworked (required to fix the
           scalability issue we have with adminq, which I hope to merge later
           in the cycle)
      
         - vDPA driver for Marvell OCTEON
      
         - virtio fs performance improvement
      
         - mlx5 migration speedups
      
        Fixes, cleanups all over the place"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (56 commits)
        virtio: rename virtio_find_vqs_info() to virtio_find_vqs()
        virtio: remove unused virtio_find_vqs() and virtio_find_vqs_ctx() helpers
        virtio: convert the rest virtio_find_vqs() users to virtio_find_vqs_info()
        virtio_balloon: convert to use virtio_find_vqs_info()
        virtiofs: convert to use virtio_find_vqs_info()
        scsi: virtio_scsi: convert to use virtio_find_vqs_info()
        virtio_net: convert to use virtio_find_vqs_info()
        virtio_crypto: convert to use virtio_find_vqs_info()
        virtio_console: convert to use virtio_find_vqs_info()
        virtio_blk: convert to use virtio_find_vqs_info()
        virtio: rename find_vqs_info() op to find_vqs()
        virtio: remove the original find_vqs() op
        virtio: call virtio_find_vqs_info() from virtio_find_single_vq() directly
        virtio: convert find_vqs() op implementations to find_vqs_info()
        virtio_pci: convert vp_*find_vqs() ops to find_vqs_info()
        virtio: introduce virtio_queue_info struct and find_vqs_info() config op
        virtio: make virtio_find_single_vq() call virtio_find_vqs()
        virtio: make virtio_find_vqs() call virtio_find_vqs_ctx()
        caif_virtio: use virtio_find_single_vq() for single virtqueue finding
        vdpa/mlx5: Don't enable non-active VQs in .set_vq_ready()
        ...
      f4f92db4
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.11-rc1' of https://github.com/awilliam/linux-vfio · f66b07c5
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Add support for 8-byte accesses when using read/write through the
         device regions.  This fills a gap for userspace drivers that might
         not be able to use access through mmap to perform native register
         width accesses (Gerd Bayer)
      
       - Add missing MODULE_DESCRIPTION to vfio-mdev sample drivers and
         replace a non-standard MODULE_INFO usage (Jeff Johnson)
      
      * tag 'vfio-v6.11-rc1' of https://github.com/awilliam/linux-vfio:
        vfio-mdev: add missing MODULE_DESCRIPTION() macros
        vfio/pci: Fix typo in macro to declare accessors
        vfio/pci: Support 8-byte PCI loads and stores
        vfio/pci: Extract duplicated code into macro
      f66b07c5
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 4305ca00
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (ufs, lpfc, qla2xxx, mpi3mr) plus some
        misc small fixes.
      
        The only core changes are to both bsg and scsi to pass in the device
        instead of setting it afterwards as q->queuedata, so no functional
        change"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (69 commits)
        scsi: aha152x: Use DECLARE_COMPLETION_ONSTACK for non-constant completion
        scsi: qla2xxx: Convert comma to semicolon
        scsi: qla2xxx: Update version to 10.02.09.300-k
        scsi: qla2xxx: Use QP lock to search for bsg
        scsi: qla2xxx: Reduce fabric scan duplicate code
        scsi: qla2xxx: Fix optrom version displayed in FDMI
        scsi: qla2xxx: During vport delete send async logout explicitly
        scsi: qla2xxx: Complete command early within lock
        scsi: qla2xxx: Fix flash read failure
        scsi: qla2xxx: Return ENOBUFS if sg_cnt is more than one for ELS cmds
        scsi: qla2xxx: Fix for possible memory corruption
        scsi: qla2xxx: validate nvme_local_port correctly
        scsi: qla2xxx: Unable to act on RSCN for port online
        scsi: ufs: exynos: Add support for Flash Memory Protector (FMP)
        scsi: ufs: core: Add UFSHCD_QUIRK_KEYS_IN_PRDT
        scsi: ufs: core: Add fill_crypto_prdt variant op
        scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_CRYPTO_ENABLE
        scsi: ufs: core: fold ufshcd_clear_keyslot() into its caller
        scsi: ufs: core: Add UFSHCD_QUIRK_CUSTOM_CRYPTO_PROFILE
        scsi: ufs: mcq: Make .get_hba_mac() optional
        ...
      4305ca00
    • Linus Torvalds's avatar
      Merge tag 'for-6.11/dm-changes' of... · 661fb4e6
      Linus Torvalds authored
      Merge tag 'for-6.11/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mikulas Patocka:
      
       - Optimize processing of flush bios in the dm-linear and dm-stripe
         targets
      
       - Dm-io cleansups and refactoring
      
       - Remove unused 'struct thunk' in dm-cache
      
       - Handle minor device numbers > 255 in dm-init
      
       - Dm-verity refactoring & enabling platform keyring
      
       - Fix warning in dm-raid
      
       - Improve dm-crypt performance - split bios to smaller pieces, so that
         They could be processed concurrently
      
       - Stop using blk_limits_io_{min,opt}
      
       - Dm-vdo cleanup and refactoring
      
       - Remove max_write_zeroes_granularity and max_secure_erase_granularity
      
       - Dm-multipath cleanup & refactoring
      
       - Add dm-crypt and dm-integrity support for non-power-of-2 sector size
      
       - Fix reshape in dm-raid
      
       - Make dm_block_validator const
      
      * tag 'for-6.11/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (33 commits)
        dm vdo: fix a minor formatting issue in vdo.rst
        dm vdo int-map: fix kerneldoc formatting
        dm vdo repair: add missing kerneldoc fields
        dm: Constify struct dm_block_validator
        dm-integrity: introduce the Inline mode
        dm: introduce the target flag mempool_needs_integrity
        dm raid: fix stripes adding reshape size issues
        dm raid: move _get_reshape_sectors() as prerequisite to fixing reshape size issues
        dm-crypt: support for per-sector NVMe metadata
        dm mpath: don't call dm_get_device in multipath_message
        dm: factor out helper function from dm_get_device
        dm-verity: fix dm_is_verity_target() when dm-verity is builtin
        dm: Remove max_secure_erase_granularity
        dm: Remove max_write_zeroes_granularity
        dm vdo indexer: use swap() instead of open coding it
        dm vdo: remove unused struct 'uds_attribute'
        dm: stop using blk_limits_io_{min,opt}
        dm-crypt: limit the size of encryption requests
        dm verity: add support for signature verification with platform keyring
        dm-raid: Fix WARN_ON_ONCE check for sync_thread in raid_resume
        ...
      661fb4e6
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.11-2024-07-19' of git://git.infradead.org/users/hch/dma-mapping · afd81d91
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - reduce duplicate swiotlb pool lookups (Michael Kelley)
      
       - minor small fixes (Yicong Yang, Yang Li)
      
      * tag 'dma-mapping-6.11-2024-07-19' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: fix kernel-doc description for swiotlb_del_transient
        swiotlb: reduce swiotlb pool lookups
        dma-mapping: benchmark: Don't starve others when doing the test
      afd81d91
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux · ebcfbf02
      Linus Torvalds authored
      Pull iommu updates from Will Deacon:
       "Core:
      
         - Support for the "ats-supported" device-tree property
      
         - Removal of the 'ops' field from 'struct iommu_fwspec'
      
         - Introduction of iommu_paging_domain_alloc() and partial conversion
           of existing users
      
         - Introduce 'struct iommu_attach_handle' and provide corresponding
           IOMMU interfaces which will be used by the IOMMUFD subsystem
      
         - Remove stale documentation
      
         - Add missing MODULE_DESCRIPTION() macro
      
         - Misc cleanups
      
        Allwinner Sun50i:
      
         - Ensure bypass mode is disabled on H616 SoCs
      
         - Ensure page-tables are allocated below 4GiB for the 32-bit
           page-table walker
      
         - Add new device-tree compatible strings
      
        AMD Vi:
      
         - Use try_cmpxchg64() instead of cmpxchg64() when updating pte
      
        Arm SMMUv2:
      
         - Print much more useful information on context faults
      
         - Fix Qualcomm TBU probing when CONFIG_ARM_SMMU_QCOM_DEBUG=n
      
         - Add new Qualcomm device-tree bindings
      
        Arm SMMUv3:
      
         - Support for hardware update of access/dirty bits and reporting via
           IOMMUFD
      
         - More driver rework from Jason, this time updating the PASID/SVA
           support to prepare for full IOMMUFD support
      
         - Add missing MODULE_DESCRIPTION() macro
      
         - Minor fixes and cleanups
      
        NVIDIA Tegra:
      
         - Fix for benign fwspec initialisation issue exposed by rework on the
           core branch
      
        Intel VT-d:
      
         - Use try_cmpxchg64() instead of cmpxchg64() when updating pte
      
         - Use READ_ONCE() to read volatile descriptor status
      
         - Remove support for handling Execute-Requested requests
      
         - Avoid calling iommu_domain_alloc()
      
         - Minor fixes and refactoring
      
        Qualcomm MSM:
      
         - Updates to the device-tree bindings"
      
      * tag 'iommu-updates-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux: (72 commits)
        iommu/tegra-smmu: Pass correct fwnode to iommu_fwspec_init()
        iommu/vt-d: Fix identity map bounds in si_domain_init()
        iommu: Move IOMMU_DIRTY_NO_CLEAR define
        dt-bindings: iommu: Convert msm,iommu-v0 to yaml
        iommu/vt-d: Fix aligned pages in calculate_psi_aligned_address()
        iommu/vt-d: Limit max address mask to MAX_AGAW_PFN_WIDTH
        docs: iommu: Remove outdated Documentation/userspace-api/iommu.rst
        arm64: dts: fvp: Enable PCIe ATS for Base RevC FVP
        iommu/of: Support ats-supported device-tree property
        dt-bindings: PCI: generic: Add ats-supported property
        iommu: Remove iommu_fwspec ops
        OF: Simplify of_iommu_configure()
        ACPI: Retire acpi_iommu_fwspec_ops()
        iommu: Resolve fwspec ops automatically
        iommu/mediatek-v1: Clean up redundant fwspec checks
        RDMA/usnic: Use iommu_paging_domain_alloc()
        wifi: ath11k: Use iommu_paging_domain_alloc()
        wifi: ath10k: Use iommu_paging_domain_alloc()
        drm/msm: Use iommu_paging_domain_alloc()
        vhost-vdpa: Use iommu_paging_domain_alloc()
        ...
      ebcfbf02
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 3d515209
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Usual collection of small improvements and fixes:
      
         - Bug fixes and minor improvments in efa, irdma, mlx4, mlx5, rxe,
           hf1, qib, ocrdma
      
         - bnxt_re support for MSN, which is a new retransmit logic
      
         - Initial mana support for RC qps
      
         - Use after free bug and cleanups in iwcm
      
         - Reduce resource usage in mlx5 when RDMA verbs features are not used
      
         - New verb to drain shared recieve queues, similar to normal recieve
           queues. This is necessary to allow ULPs a clean shutdown. Used in
           the iscsi rdma target
      
         - mlx5 support for more than 16 bits of doorbell indexes
      
         - Doorbell moderation support for bnxt_re
      
         - IB multi-plane support for mlx5
      
         - New EFA adaptor PCI IDs
      
         - RDMA_NAME_ASSIGN_TYPE_USER to hint to userspace that it shouldn't
           rename the device
      
         - A collection of hns bugs
      
         - Fix long standing bug in bnxt_re with incorrect endian handling of
           immediate data"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (65 commits)
        IB/hfi1: Constify struct flag_table
        RDMA/mana_ib: Set correct device into ib
        bnxt_re: Fix imm_data endianness
        RDMA: Fix netdev tracker in ib_device_set_netdev
        RDMA/hns: Fix mbx timing out before CMD execution is completed
        RDMA/hns: Fix insufficient extend DB for VFs.
        RDMA/hns: Fix undifined behavior caused by invalid max_sge
        RDMA/hns: Fix shift-out-bounds when max_inline_data is 0
        RDMA/hns: Fix missing pagesize and alignment check in FRMR
        RDMA/hns: Fix unmatch exception handling when init eq table fails
        RDMA/hns: Fix soft lockup under heavy CEQE load
        RDMA/hns: Check atomic wr length
        RDMA/ocrdma: Don't inline statistics functions
        RDMA/core: Introduce "name_assign_type" for an IB device
        RDMA/qib: Fix truncation compilation warnings in qib_verbs.c
        RDMA/qib: Fix truncation compilation warnings in qib_init.c
        RDMA/efa: Add EFA 0xefa3 PCI ID
        RDMA/mlx5: Support per-plane port IB counters by querying PPCNT register
        net/mlx5: mlx5_ifc update for accessing ppcnt register of plane ports
        RDMA/mlx5: Add plane index support when querying PTYS registers
        ...
      3d515209
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · ef7c8f2b
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
      
       - The iova_bitmap logic for efficiently reporting dirty pages back to
         userspace has a few more tricky corner case bugs that have been
         resolved and backed with new tests.
      
         The revised version has simpler logic.
      
       - Shared branch with iommu for handle support when doing domain attach.
      
         Handles allow the domain owner to include additional private data on
         a per-device basis.
      
       - IO Page Fault Reporting to userspace via iommufd. Page faults can be
         generated on fault capable HWPTs when a translation is not present.
      
         Routing them to userspace would allow a VMM to be able to virtualize
         them into an emulated vIOMMU. This is the next step to fully enabling
         vSVA support.
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (26 commits)
        iommufd: Put constants for all the uAPI enums
        iommufd: Fix error pointer checking
        iommufd: Add check on user response code
        iommufd: Remove IOMMUFD_PAGE_RESP_FAILURE
        iommufd: Require drivers to supply the cache_invalidate_user ops
        iommufd/selftest: Add coverage for IOPF test
        iommufd/selftest: Add IOPF support for mock device
        iommufd: Associate fault object with iommufd_hw_pgtable
        iommufd: Fault-capable hwpt attach/detach/replace
        iommufd: Add iommufd fault object
        iommufd: Add fault and response message definitions
        iommu: Extend domain attach group with handle support
        iommu: Add attach handle to struct iopf_group
        iommu: Remove sva handle list
        iommu: Introduce domain attachment handle
        iommufd/iova_bitmap: Remove iterator logic
        iommufd/iova_bitmap: Dynamic pinning on iova_bitmap_set()
        iommufd/iova_bitmap: Consolidate iova_bitmap_set exit conditionals
        iommufd/iova_bitmap: Move initial pinning to iova_bitmap_for_each()
        iommufd/iova_bitmap: Cache mapped length in iova_bitmap_map struct
        ...
      ef7c8f2b
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-6.11-rc1-roundtwo' of... · 07e773db
      Linus Torvalds authored
      Merge tag 'tpmdd-next-6.11-rc1-roundtwo' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
      
      Pull tpm fix from Jarkko Sakkinen:
       "An additional fix that supplements my earlier fixes for handling auth,
        which I unfortunately missed last time"
      
      * tag 'tpmdd-next-6.11-rc1-roundtwo' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm: Use auth only after NULL check in tpm_buf_check_hmac_response()
      07e773db
    • Linus Torvalds's avatar
      Merge tag 'v6.11-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · c434e25b
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
       "API:
         - Test setkey in no-SIMD context
         - Add skcipher speed test for user-specified algorithm
      
        Algorithms:
         - Add x25519 support on ppc64le
         - Add VAES and AVX512 / AVX10 optimized AES-GCM on x86
         - Remove sm2 algorithm
      
        Drivers:
         - Add Allwinner H616 support to sun8i-ce
         - Use DMA in stm32
         - Add Exynos850 hwrng support to exynos"
      
      * tag 'v6.11-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (81 commits)
        hwrng: core - remove (un)register_miscdev()
        crypto: lib/mpi - delete unnecessary condition
        crypto: testmgr - generate power-of-2 lengths more often
        crypto: mxs-dcp - Ensure payload is zero when using key slot
        hwrng: Kconfig - Do not enable by default CN10K driver
        crypto: starfive - Fix nent assignment in rsa dec
        crypto: starfive - Align rsa input data to 32-bit
        crypto: qat - fix unintentional re-enabling of error interrupts
        crypto: qat - extend scope of lock in adf_cfg_add_key_value_param()
        Documentation: qat: fix auto_reset attribute details
        crypto: sun8i-ce - add Allwinner H616 support
        crypto: sun8i-ce - wrap accesses to descriptor address fields
        dt-bindings: crypto: sun8i-ce: Add compatible for H616
        hwrng: core - Fix wrong quality calculation at hw rng registration
        hwrng: exynos - Enable Exynos850 support
        hwrng: exynos - Add SMC based TRNG operation
        hwrng: exynos - Implement bus clock control
        hwrng: exynos - Use devm_clk_get_enabled() to get the clock
        hwrng: exynos - Improve coding style
        dt-bindings: rng: Add Exynos850 support to exynos-trng
        ...
      c434e25b
    • Masatake YAMATO's avatar
    • Matthew Sakai's avatar
    • Matthew Sakai's avatar
      dm vdo repair: add missing kerneldoc fields · fa398e60
      Matthew Sakai authored
      Also remove trivial comment for increment_recovery_point.
      Reported-by: default avatarAbaci Robot <abaci@linux.alibaba.com>
      Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=9518Signed-off-by: default avatarMatthew Sakai <msakai@redhat.com>
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      fa398e60
    • Christophe JAILLET's avatar
      dm: Constify struct dm_block_validator · 0b60be16
      Christophe JAILLET authored
      'struct dm_block_validator' are not modified in these drivers.
      
      Constifying this structure moves some data to a read-only section, so
      increase overall security.
      
      On a x86_64, with allmodconfig, as an example:
      
      Before:
      ======
         text	   data	    bss	    dec	    hex	filename
        32047	    920	     16	  32983	   80d7	drivers/md/dm-cache-metadata.o
      
      After:
      =====
         text	   data	    bss	    dec	    hex	filename
        32075	    896	     16	  32987	   80db	drivers/md/dm-cache-metadata.o
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      0b60be16
    • Mikulas Patocka's avatar
      dm-integrity: introduce the Inline mode · fb098768
      Mikulas Patocka authored
      This commit introduces a new 'I' mode for dm-integrity.
      
      The 'I' mode may be selected if the underlying device has non-power-of-2
      sector size. In this mode, dm-integrity will store integrity data
      directly in device's sectors and it will not use journal.
      
      This mode improves performance and reduces flash wear because there would
      be no journal writes.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      fb098768
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-07-18.2' of https://evilpiepirate.org/git/bcachefs · 720261cf
      Linus Torvalds authored
      Pull bcachefs updates from Kent Overstreet:
      
       - Metadata version 1.8: Stripe sectors accounting, BCH_DATA_unstriped
      
         This splits out the accounting of dirty sectors and stripe sectors in
         alloc keys; this lets us see stripe buckets that still have unstriped
         data in them.
      
         This is needed for ensuring that erasure coding is working correctly,
         as well as completing stripe creation after a crash.
      
       - Metadata version 1.9: Disk accounting rewrite
      
         The previous disk accounting scheme relied heavily on percpu counters
         that were also sharded by outstanding journal buffer; it was fast but
         not extensible or scalable, and meant that all accounting counters
         were recorded in every journal entry.
      
         The new disk accounting scheme stores accounting as normal btree
         keys; updates are deltas until they are flushed by the btree write
         buffer.
      
         This means we have no practical limit on the number of counters, and
         a new tagged union format that's easy to extend.
      
         We now have counters for compression type/ratio, per-snapshot-id
         usage, per-btree-id usage, and pending rebalance work.
      
       - Self healing on read IO/checksum error
      
         Data is now automatically rewritten if we get a read error and then a
         successful retry
      
       - Mount API conversion (thanks to Thomas Bertschinger)
      
       - Better lockdep coverage
      
         Previously, btree node locks were tracked individually by lockdep,
         like any other lock. But we may take _many_ btree node locks
         simultaneously, we easily blow through the limit of 48 locks that
         lockdep can track, leading to lockdep turning itself off.
      
         Tracking each btree node lock individually isn't really necessary
         since we have our own cycle detector for deadlock avoidance and
         centralized tracking of btree node locks, so we now have a single
         lockdep_map in btree_trans for "any btree nodes are locked".
      
       - Some more small incremental work towards online check_allocations
      
       - Lots more debugging improvements
      
       - Fixes, including:
          - undefined behaviour fixes, originally noted as breaking userspace
            LTO builds
          - fix a spurious warning in fsck_err, reported by Marcin
          - fix an integer overflow on trans->nr_updates, also reported by
            Marcin; this broke during deletion of highly fragmented indirect
            extents
      
      * tag 'bcachefs-2024-07-18.2' of https://evilpiepirate.org/git/bcachefs: (120 commits)
        lockdep: Add comments for lockdep_set_no{validate,track}_class()
        bcachefs: Fix integer overflow on trans->nr_updates
        bcachefs: silence silly kdoc warning
        bcachefs: Fix fsck warning about btree_trans not passed to fsck error
        bcachefs: Add an error message for insufficient rw journal devs
        bcachefs: varint: Avoid left-shift of a negative value
        bcachefs: darray: Don't pass NULL to memcpy()
        bcachefs: Kill bch2_assert_btree_nodes_not_locked()
        bcachefs: Rename BCH_WRITE_DONE -> BCH_WRITE_SUBMITTED
        bcachefs: __bch2_read(): call trans_begin() on every loop iter
        bcachefs: show none if label is not set
        bcachefs: drop packed, aligned from bkey_inode_buf
        bcachefs: btree node scan: fall back to comparing by journal seq
        bcachefs: Add lockdep support for btree node locks
        lockdep: lockdep_set_notrack_class()
        bcachefs: Improve copygc_wait_to_text()
        bcachefs: Convert clock code to u64s
        bcachefs: Improve startup message
        bcachefs: Self healing on read IO error
        bcachefs: Make read_only a mount option again, but hidden
        ...
      720261cf
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-6.11-1' of git://git.linux-nfs.org/projects/anna/linux-nfs · 4f40c636
      Linus Torvalds authored
      Pull NFS client updates from Anna Schumaker:
       "New Features:
         - Add support for large folios
         - Implement rpcrdma generic device removal notification
         - Add client support for attribute delegations
         - Use a LAYOUTRETURN during reboot recovery to report layoutstats
           and errors
         - Improve throughput for random buffered writes
         - Add NVMe support to pnfs/blocklayout
      
        Bugfixes:
         - Fix rpcrdma_reqs_reset()
         - Avoid soft lockups when using UDP
         - Fix an nfs/blocklayout premature PR key unregestration
         - Another fix for EXCHGID4_FLAG_USE_PNFS_DS for DS server
         - Do not extend writes to the entire folio
         - Pass explicit offset and count values to tracepoints
         - Fix a race to wake up sleeping SUNRPC sync tasks
         - Fix gss_status tracepoint output
      
        Cleanups:
         - Add missing MODULE_DESCRIPTION() macros
         - Add blocklayout / SCSI layout tracepoints
         - Remove asm-generic headers from xprtrdma verbs.c
         - Remove unused 'struct mnt_fhstatus'
         - Other delegation related cleanups
         - Other folio related cleanups
         - Other pNFS related cleanups
         - Other xprtrdma cleanups"
      
      * tag 'nfs-for-6.11-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (63 commits)
        SUNRPC: Fixup gss_status tracepoint error output
        SUNRPC: Fix a race to wake a sync task
        nfs: split nfs_read_folio
        nfs: pass explicit offset/count to trace events
        nfs: do not extend writes to the entire folio
        nfs/blocklayout: add support for NVMe
        nfs: remove nfs_page_length
        nfs: remove the unused max_deviceinfo_size field from struct pnfs_layoutdriver_type
        nfs: don't reuse partially completed requests in nfs_lock_and_join_requests
        nfs: move nfs_wait_on_request to write.c
        nfs: fold nfs_page_group_lock_subrequests into nfs_lock_and_join_requests
        nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests
        nfs: simplify nfs_folio_find_and_lock_request
        nfs: remove nfs_folio_private_request
        nfs: remove dead code for the old swap over NFS implementation
        NFSv4.1 another fix for EXCHGID4_FLAG_USE_PNFS_DS for DS server
        nfs: Block on write congestion
        nfs: Properly initialize server->writeback
        nfs: Drop pointless check from nfs_commit_release_pages()
        nfs/blocklayout: SCSI layout trace points for reservation key reg/unreg
        ...
      4f40c636
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 51ed42a8
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Many cleanups and bug fixes in ext4, especially for the fast commit
        feature.
      
        Also some performance improvements; in particular, improving IOPS and
        throughput on fast devices running Async Direct I/O by up to 20% by
        optimizing jbd2_transaction_committed()"
      
      * tag 'ext4_for_linus-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: make sure the first directory block is not a hole
        ext4: check dot and dotdot of dx_root before making dir indexed
        ext4: sanity check for NULL pointer after ext4_force_shutdown
        jbd2: increase maximum transaction size
        jbd2: drop pointless shrinker batch initialization
        jbd2: avoid infinite transaction commit loop
        jbd2: precompute number of transaction descriptor blocks
        jbd2: make jbd2_journal_get_max_txn_bufs() internal
        jbd2: avoid mount failed when commit block is partial submitted
        ext4: avoid writing unitialized memory to disk in EA inodes
        ext4: don't track ranges in fast_commit if inode has inlined data
        ext4: fix possible tid_t sequence overflows
        ext4: use ext4_update_inode_fsync_trans() helper in inode creation
        ext4: add missing MODULE_DESCRIPTION()
        jbd2: add missing MODULE_DESCRIPTION()
        ext4: use memtostr_pad() for s_volume_name
        jbd2: speed up jbd2_transaction_committed()
        ext4: make ext4_da_map_blocks() buffer_head unaware
        ext4: make ext4_insert_delayed_block() insert multi-blocks
        ext4: factor out a helper to check the cluster allocation state
        ...
      51ed42a8
  2. 18 Jul, 2024 20 commits
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.11-rc1.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · dddebdec
      Linus Torvalds authored
      Pull vfs fixes from Christian Brauner:
      
       - Fix a missing rcu_read_unlock() in nsfs by switching to a cleanup
         guard
      
       - Add missing module descriptor for adfs
      
      * tag 'vfs-6.11-rc1.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        nsfs: use cleanup guard
        fs/adfs: add MODULE_DESCRIPTION
      dddebdec
    • Linus Torvalds's avatar
      Merge tag 'docs-6.11' of git://git.lwn.net/linux · cf05e93a
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "Nothing hugely exciting happening in the documentation tree this time
        around, mostly more of the usual:
      
         - More Spanish, Italian, and Chinese translations
      
         - A new script, scripts/checktransupdate.py, can be used to see which
           commits have touched an (English) document since a given
           translation was last updated.
      
         - A couple of "best practices" suggestions (on Link: tags and
           off-list discussions) that were not entirely at consensus level,
           but I concluded they were close enough to accept.
      
         - Some nice cleanups removing documentation for kernel parameters
           that have not been recognized for ... a long time.
      
        ...along with the usual updates, typo fixes, and such"
      
      * tag 'docs-6.11' of git://git.lwn.net/linux: (57 commits)
        Documentation: Document user_events ioctl code
        docs/pinctrl: fix typo in mapping example
        docs: maintainer: discourage taking conversations off-list
        docs: driver-model: platform: update the definition of platform_driver
        docs/sp_SP: Add translation for scheduler/sched-design-CFS.rst
        writing_musb_glue_layer.rst: Fix broken URL
        zh_CN/admin-guide: one typo fix
        docs/zh_CN/virt: Update the translation of guest-halt-polling.rst
        Documentation: add reference from dynamic debug to loglevel kernel params
        Documentation: best practices for using Link trailers
        Documentation: fix links to mailing list services
        Documentation: exception-tables.rst: Fix the wrong steps referenced
        docs/zh_CN: add process/researcher-guidelines Chinese translation
        Documentation/tools/rv: fix document header
        docs/sp_SP: Add translation of process/maintainer-kvm-x86.rst
        docs/admin-guide/mm: correct typo 'quired' to 'queried'
        Add libps2 to the input section of driver-api
        Docs/mm/index: move allocation profiling document to unsorted documents chapter
        Docs/mm/index: rename 'Legacy Documentation' to 'Unsorted Documentation'
        Docs/mm/index: Remove 'Memory Management Guide' chapter marker
        ...
      cf05e93a
    • Linus Torvalds's avatar
      Merge tag 'sparc-for-6.11-tag1' of... · 7dd894c1
      Linus Torvalds authored
      Merge tag 'sparc-for-6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc
      
      Pull sparc updates from Andreas Larsson:
      
       - Add MODULE_DESCRIPTION for a number of sbus drivers
      
       - Fix linking error for large sparc32 kernels
      
       - Fix incorrect functions signature and prototype warnings for sparc64
      
      * tag 'sparc-for-6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc:
        sparc64: Fix prototype warnings in hibernate.c
        sparc64: Fix prototype warning for prom_get_mmu_ihandle
        sparc64: Fix incorrect function signature and add prototype for prom_cif_init
        sparc64: Fix prototype warnings for floppy_64.h
        sparc32: Fix truncated relocation errors when linking large kernels
        sbus: add missing MODULE_DESCRIPTION() macros
      7dd894c1
    • Linus Torvalds's avatar
      Merge tag 's390-6.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 1c7d0c3a
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Remove restrictions on PAI NNPA and crypto counters, enabling
         concurrent per-task and system-wide sampling and counting events
      
       - Switch to GENERIC_CPU_DEVICES by setting up the CPU present mask in
         the architecture code and letting the generic code handle CPU
         bring-up
      
       - Add support for the diag204 busy indication facility to prevent
         undesirable blocking during hypervisor logical CPU utilization
         queries. Implement results caching
      
       - Improve the handling of Store Data SCLP events by suppressing
         unnecessary warning, preventing buffer release in I/O during
         failures, and adding timeout handling for Store Data requests to
         address potential firmware issues
      
       - Provide optimized __arch_hweight*() implementations
      
       - Remove the unnecessary CPU KOBJ_CHANGE uevents generated during
         topology updates, as they are unused and also not present on other
         architectures
      
       - Cleanup atomic_ops, optimize __atomic_set() for small values and
         __atomic_cmpxchg_bool() for compilers supporting flag output
         constraint
      
       - Couple of cleanups for KVM:
           - Move and improve KVM struct definitions for DAT tables from
             gaccess.c to a new header
           - Pass the asce as parameter to sie64a()
      
       - Make the crdte() and cspg() page table handling wrappers return a
         boolean to indicate success, like the other existing "compare and
         swap" wrappers
      
       - Add documentation for HWCAP flags
      
       - Switch to obtaining total RAM pages from memblock instead of
         totalram_pages() during mm init, to ensure correct calculation of
         zero page size, when defer_init is enabled
      
       - Refactor lowcore access and switch to using the get_lowcore()
         function instead of the S390_lowcore macro
      
       - Cleanups for PG_arch_1 and folio handling in UV and hugetlb code
      
       - Add missing MODULE_DESCRIPTION() macros
      
       - Fix VM_FAULT_HWPOISON handling in do_exception()
      
      * tag 's390-6.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (54 commits)
        s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception()
        s390/kvm: Move bitfields for dat tables
        s390/entry: Pass the asce as parameter to sie64a()
        s390/sthyi: Use cached data when diag is busy
        s390/sthyi: Move diag operations
        s390/hypfs_diag: Diag204 busy loop
        s390/diag: Add busy-indication-facility requirements
        s390/diag: Diag204 add busy return errno
        s390/diag: Return errno's from diag204
        s390/sclp: Diag204 busy indication facility detection
        s390/atomic_ops: Make use of flag output constraint
        s390/atomic_ops: Improve __atomic_set() for small values
        s390/atomic_ops: Use symbolic names
        s390/smp: Switch to GENERIC_CPU_DEVICES
        s390/hwcaps: Add documentation for HWCAP flags
        s390/pgtable: Make crdte() and cspg() return a value
        s390/topology: Remove CPU KOBJ_CHANGE uevents
        s390/sclp: Add timeout to Store Data requests
        s390/sclp: Prevent release of buffer in I/O
        s390/sclp: Suppress unnecessary Store Data warning
        ...
      1c7d0c3a
    • Kent Overstreet's avatar
      lockdep: Add comments for lockdep_set_no{validate,track}_class() · a97b43fa
      Kent Overstreet authored
      Cc: Waiman Long <longman@redhat.com>
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      a97b43fa
    • Kent Overstreet's avatar
      bcachefs: Fix integer overflow on trans->nr_updates · 6f719cbe
      Kent Overstreet authored
      We can't have more updates than paths, so btree_path_idx_t is the
      correct type to use.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      6f719cbe
    • Kent Overstreet's avatar
      f05a0b9c
    • Kent Overstreet's avatar
      bcachefs: Fix fsck warning about btree_trans not passed to fsck error · 2c4c17fe
      Kent Overstreet authored
      If a btree_trans is in use it's supposed to be passed to fsck_err so
      that it can be unlocked if we're waiting on userspace input; but the
      btree IO paths do call fsck errors where a btree_trans exists on the
      stack but it's not passed through.
      
      But it's ok, because it's unlocked while doing IO.
      
      Fixes: a850bde6 ("bcachefs: fsck_err() may now take a btree_trans")
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      2c4c17fe
    • Kent Overstreet's avatar
      bcachefs: Add an error message for insufficient rw journal devs · f12410bb
      Kent Overstreet authored
      This causes us to go read-only - need an error message saying why.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      f12410bb
    • Tavian Barnes's avatar
      bcachefs: varint: Avoid left-shift of a negative value · ee1b8dc1
      Tavian Barnes authored
      Shifting a negative value left is undefined.
      Signed-off-by: default avatarTavian Barnes <tavianator@tavianator.com>
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      ee1b8dc1
    • Linus Torvalds's avatar
      Merge tag 'x86-percpu-2024-07-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dde1a0e1
      Linus Torvalds authored
      Pull x86 percpu updates from Ingo Molnar:
      
       - Enable the named address spaces based percpu accessors optimization
         on all GCC versions that contain this feature, detected through a
         build-time testcase.
      
         This effectively enables the feature on GCC 6, GCC 7 and GCC 8
         versions.
      
       - Fix operand constraint modifier in __raw_cpu_write()
      
       - Reorganize the per-CPU headers for better readability
      
       - Misc cleanups and fixes
      
      * tag 'x86-percpu-2024-07-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/percpu: Enable named address spaces for all capable GCC versions
        x86/percpu: Clean up <asm/percpu.h> vertical alignment details
        x86/percpu: Clean up <asm/percpu.h> a bit
        x86/percpu: Move some percpu accessors around to reduce ifdeffery
        x86/percpu: Rename percpu_stable_op() to __raw_cpu_read_stable()
        x86/percpu: Fix operand constraint modifier in __raw_cpu_write()
        x86/percpu: Introduce the __raw_cpu_read_const() macro
        x86/percpu: Unify percpu read-write accessors
        x86/percpu: Move some percpu macros around for readability
        x86/percpu: Introduce the pcpu_binary_op() macro
      dde1a0e1
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 76d9b92e
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
       "The most prominent change this time is the kmem_buckets based
        hardening of kmalloc() allocations from Kees Cook.
      
        We have also extended the kmalloc() alignment guarantees for
        non-power-of-two sizes in a way that benefits rust.
      
        The rest are various cleanups and non-critical fixups.
      
         - Dedicated bucket allocator (Kees Cook)
      
           This series [1] enhances the probabilistic defense against heap
           spraying/grooming of CONFIG_RANDOM_KMALLOC_CACHES from last year.
      
           kmalloc() users that are known to be useful for exploits can get
           completely separate set of kmalloc caches that can't be shared with
           other users. The first converted users are alloc_msg() and
           memdup_user().
      
           The hardening is enabled by CONFIG_SLAB_BUCKETS.
      
         - Extended kmalloc() alignment guarantees (Vlastimil Babka)
      
           For years now we have guaranteed natural alignment for power-of-two
           allocations, but nothing was defined for other sizes (in practice,
           we have two such buckets, kmalloc-96 and kmalloc-192).
      
           To avoid unnecessary padding in the rust layer due to its alignment
           rules, extend the guarantee so that the alignment is at least the
           largest power-of-two divisor of the requested size.
      
           This fits what rust needs, is a superset of the existing
           power-of-two guarantee, and does not in practice change the layout
           (and thus does not add overhead due to padding) of the kmalloc-96
           and kmalloc-192 caches, unless slab debugging is enabled for them.
      
         - Cleanups and non-critical fixups (Chengming Zhou, Suren
           Baghdasaryan, Matthew Willcox, Alex Shi, and Vlastimil Babka)
      
           Various tweaks related to the new alloc profiling code, folio
           conversion, debugging and more leftovers after SLAB"
      
      Link: https://lore.kernel.org/all/20240701190152.it.631-kees@kernel.org/ [1]
      
      * tag 'slab-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm/memcg: alignment memcg_data define condition
        mm, slab: move prepare_slab_obj_exts_hook under CONFIG_MEM_ALLOC_PROFILING
        mm, slab: move allocation tagging code in the alloc path into a hook
        mm/util: Use dedicated slab buckets for memdup_user()
        ipc, msg: Use dedicated slab buckets for alloc_msg()
        mm/slab: Introduce kmem_buckets_create() and family
        mm/slab: Introduce kvmalloc_buckets_node() that can take kmem_buckets argument
        mm/slab: Plumb kmem_buckets into __do_kmalloc_node()
        mm/slab: Introduce kmem_buckets typedef
        slab, rust: extend kmalloc() alignment guarantees to remove Rust padding
        slab: delete useless RED_INACTIVE and RED_ACTIVE
        slab: don't put freepointer outside of object if only orig_size
        slab: make check_object() more consistent
        mm: Reduce the number of slab->folio casts
        mm, slab: don't wrap internal functions with alloc_hooks()
      76d9b92e
    • Linus Torvalds's avatar
      Merge tag 'memblock-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · b2fc97c1
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
      
       - 'reserve_mem' command line parameter to allow creation of named
         memory reservation at boot time.
      
         The driving use-case is to improve the ability of pstore to retain
         ramoops data across reboots.
      
       - cleanups and small improvements in memblock and mm_init
      
       - new tests cases in memblock test suite
      
      * tag 'memblock-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock tests: fix implicit declaration of function 'numa_valid_node'
        memblock: Move late alloc warning down to phys alloc
        pstore/ramoops: Add ramoops.mem_name= command line option
        mm/memblock: Add "reserve_mem" to reserved named memory at boot up
        mm/mm_init.c: don't initialize page->lru again
        mm/mm_init.c: not always search next deferred_init_pfn from very beginning
        mm/mm_init.c: use deferred_init_mem_pfn_range_in_zone() to decide loop condition
        mm/mm_init.c: get the highest zone directly
        mm/mm_init.c: move nr_initialised reset down a bit
        mm/memblock: fix a typo in description of for_each_mem_region()
        mm/mm_init.c: use memblock_region_memory_base_pfn() to get startpfn
        mm/memblock: use PAGE_ALIGN_DOWN to get pgend in free_memmap
        mm/memblock: return true directly on finding overlap region
        memblock tests: add memblock_overlaps_region_checks
        mm/memblock: fix comment for memblock_isolate_range()
        memblock tests: add memblock_reserve_many_may_conflict_check()
        memblock tests: add memblock_reserve_all_locations_check()
        mm/memblock: remove empty dummy entry
      b2fc97c1
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.11-2024-07-16' of... · 68b59730
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.11-2024-07-16' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
      
      Pull perf tools updates from Namhyung Kim:
       "Build:
      
         - Build each directory as a library so that depedency check for the
           python extension module can be automatic
      
         - Use pkg-config to check libtraceevent and libtracefs
      
        perf sched:
      
         - Add --task-name and --fuzzy-name options for `perf sched map`
      
           It focuses on selected tasks only by removing unrelated tasks in
           the output. It matches the task comm with the given string and the
           --fuzzy-name option allows the partial matching:
      
             $ sudo perf sched record -a sleep 1
      
             $ sudo perf sched map --task-name kworker --fuzzy-name
                .   .   .   .   -  *A0  .   .    481065.315131 secs A0 => kworker/5:2-i91:438521
                .   .   .   .   -  *-   .   .    481065.315160 secs
               *B0  .   .   .   -   .   .   .    481065.316435 secs B0 => kworker/0:0-i91:437860
               *-   .   .   .   .   .   .   .    481065.316441 secs
                .   .   .   .   .  *A0  .   .    481065.318703 secs
                .   .   .   .   .  *-   .   .    481065.318717 secs
                .   .  *C0  .   .   .   .   .    481065.320544 secs C0 => kworker/u16:30-:430186
                .   .  *-   .   .   .   .   .    481065.320555 secs
                .   .  *D0  .   .   .   .   .    481065.328524 secs D0 => kworker/2:0-kdm:429654
               *B0  .   D0  .   -   .   .   .    481065.328527 secs
               *-   .   D0  .   -   .   .   .    481065.328535 secs
                .   .  *-   .   .   .   .   .    481065.328535 secs
      
         - Fix -r/--repeat option of perf sched replay
      
           The documentation said -1 will work as infinity but it didn't
           accept the value. Update the code and document to use 0 instead
      
         - Fix perf sched timehist to account the delay time for preempted
           tasks
      
        Perf event filtering:
      
         - perf top gained filtering support on regular events using BPF like
           perf record. Previously it was able to use it for tracepoints only
      
         - The BPF filter now supports filtering by UID/GID. This should be
           preferred than -u <UID> option as it's racy to scan /proc to check
           tasks for the user and fails to open an event for the task if it's
           already gone
      
             $ sudo perf top -e cycles --filter "uid == $(id -u)"
      
        perf report:
      
         - Skip dummy events in the group output by default. The --skip-empty
           option controls display of empty events without samples. But perf
           report can force display all events in a group
      
           In this case, auto-added a dummy event (for a system-wide record)
           ends up in the output. Now it can skip those empty events even in
           the group display mode
      
           To preserve the old behavior, run this:
      
             $ perf report --group --no-skip-empty
      
        perf stat:
      
         - Choose the most disaggregate option when multiple aggregation
           options are given. It used to pick the last option in the command
           line but it can be confusing and not consistent. Now it'll choose
           the smallest unit
      
           For example, it'd aggregate the result per-core when the user gave
           both --per-socket and --per-core options at the same time
      
        Internals:
      
         - Fix `perf bench` when some CPUs are offline
      
         - Fix handling of JIT symbol mappings to accept "/tmp/perf-${PID}.map
           patterns only so that it can not be confused by other /tmp/perf-*
           files
      
         - Many improvements and fixes for `perf test`
      
        Others:
      
         - Support some new instructions for Intel-PT
      
         - Fix syscall ID mapping in perf trace
      
         - Document AMD IBS PMU usages
      
         - Change `perf lock info` to show map and thread info by default
      
        Vendor JSON events:
      
         - Update Intel events and metrics
      
         - Add i.MX9[35] DDR metrics"
      
      * tag 'perf-tools-for-v6.11-2024-07-16' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (125 commits)
        perf trace: Fix iteration of syscall ids in syscalltbl->entries
        perf dso: Fix address sanitizer build
        perf mem: Warn if memory events are not supported on all CPUs
        perf arm-spe: Support multiple Arm SPE PMUs
        perf build x86: Fix SC2034 error in syscalltbl.sh
        perf record: Fix memset out-of-range error
        perf sched map: Add --fuzzy-name option for fuzzy matching in task names
        perf sched map: Add support for multiple task names using CSV
        perf sched map: Add task-name option to filter the output map
        perf build: Conditionally add feature check flags for libtrace{event,fs}
        perf install: Don't propagate subdir to Documentation submake
        perf vendor events arm64:: Add i.MX95 DDR Performance Monitor metrics
        perf vendor events arm64:: Add i.MX93 DDR Performance Monitor metrics
        perf dsos: When adding a dso into sorted dsos maintain the sort order
        perf comm str: Avoid sort during insert
        perf report: Calling available function for stats printing
        perf intel-pt: Fix exclude_guest setting
        perf intel-pt: Fix aux_watermark calculation for 64-bit size
        perf sched replay: Fix -r/--repeat command line option for infinity
        perf: pmus: Remove unneeded semicolon
        ...
      68b59730
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · f669aac3
      Linus Torvalds authored
      Pull tracing CREDITS file update from Steven Rostedt:
       "Update of MAINTAINERS and CREDITS file
      
         - Update Daniel Bristot de Oliveira's entry in MAINTAINERS with
           respect to his tracing code.
      
         - Add more credits to him in CREDITS file and move his entry to be
           alphabetical"
      
      * tag 'trace-v6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: Update MAINTAINERS file
      f669aac3
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 1777e471
      Linus Torvalds authored
      Pull tracing tools updates from Steven Rostedt:
       "Trivial updates for 6.11:
      
         - Use pretty formatting only on interactive tty in rtla/osnoise
      
         - Better reporting when histogram is empty in rtla/osnoise
      
         - Use the correct library name for "libtracefs" in feature detection"
      
      * tag 'trace-tools-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tools: build: use correct lib name for libtracefs feature detection
        rtla/osnoise: Better report when histogram is empty
        rtla/osnoise: Use pretty formatting only on interactive tty
      1777e471
    • Linus Torvalds's avatar
      Merge tag 'ftrace-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 70045bfc
      Linus Torvalds authored
      Pull ftrace updates from Steven Rostedt:
       "Rewrite of function graph tracer to allow multiple users
      
        Up until now, the function graph tracer could only have a single user
        attached to it. If another user tried to attach to the function graph
        tracer while one was already attached, it would fail. Allowing
        function graph tracer to have more than one user has been asked for
        since 2009, but it required a rewrite to the logic to pull it off so
        it never happened. Until now!
      
        There's three systems that trace the return of a function. That is
        kretprobes, function graph tracer, and BPF. kretprobes and function
        graph tracing both do it similarly. The difference is that kretprobes
        uses a shadow stack per callback and function graph tracer creates a
        shadow stack for all tasks. The function graph tracer method makes it
        possible to trace the return of all functions. As kretprobes now needs
        that feature too, allowing it to use function graph tracer was needed.
        BPF also wants to trace the return of many probes and its method
        doesn't scale either. Having it use function graph tracer would
        improve that.
      
        By allowing function graph tracer to have multiple users allows both
        kretprobes and BPF to use function graph tracer in these cases. This
        will allow kretprobes code to be removed in the future as it's version
        will no longer be needed.
      
        Note, function graph tracer is only limited to 16 simultaneous users,
        due to shadow stack size and allocated slots"
      
      * tag 'ftrace-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (49 commits)
        fgraph: Use str_plural() in test_graph_storage_single()
        function_graph: Add READ_ONCE() when accessing fgraph_array[]
        ftrace: Add missing kerneldoc parameters to unregister_ftrace_direct()
        function_graph: Everyone uses HAVE_FUNCTION_GRAPH_RET_ADDR_PTR, remove it
        function_graph: Fix up ftrace_graph_ret_addr()
        function_graph: Make fgraph_update_pid_func() a stub for !DYNAMIC_FTRACE
        function_graph: Rename BYTE_NUMBER to CHAR_NUMBER in selftests
        fgraph: Remove some unused functions
        ftrace: Hide one more entry in stack trace when ftrace_pid is enabled
        function_graph: Do not update pid func if CONFIG_DYNAMIC_FTRACE not enabled
        function_graph: Make fgraph_do_direct static key static
        ftrace: Fix prototypes for ftrace_startup/shutdown_subops()
        ftrace: Assign RCU list variable with rcu_assign_ptr()
        ftrace: Assign ftrace_list_end to ftrace_ops_list type cast to RCU
        ftrace: Declare function_trace_op in header to quiet sparse warning
        ftrace: Add comments to ftrace_hash_move() and friends
        ftrace: Convert "inc" parameter to bool in ftrace_hash_rec_update_modify()
        ftrace: Add comments to ftrace_hash_rec_disable/enable()
        ftrace: Remove "filter_hash" parameter from __ftrace_hash_rec_update()
        ftrace: Rename dup_hash() and comment it
        ...
      70045bfc
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 2fd4130e
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "Trivial updates for 6.11:
      
         - Set rtla/osnoise default threshold to 1us from 5us
      
           The 5us default was missing noise that people cared about. Changing
           it to 1us makes it work as expected.
      
         - Restructure how sched_switch prev_comm and next_comm was being saved
      
           The prev_comm was being saved along with the other next fields, and
           the next_comm was being saved along with the other prev fields.
           This is just a cosmetic change.
      
         - Have the allocation of pid_list use GFP_NOWAIT instead of GFP_KERNEL
      
           The allocation can happen in irq_work context, but luckily, the
           size was by default so large, it was never triggered. But in case
           it ever is, use the NOWAIT allocation in the interrupt context.
      
         - Fix some kernel doc errors"
      
      * tag 'trace-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        trace/pid_list: Change gfp flags in pid_list_fill_irq()
        tracing/sched: sched_switch: place prev_comm and next_comm in right order
        rtla/osnoise: set the default threshold to 1us
        tracing: Fix trace_pid_list_free() kernel-doc
      2fd4130e
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · db2451e7
      Linus Torvalds authored
      Pull bootconfig update from Masami Hiramatsu:
      
       - Remove duplicate included header file linux/bootconfig.h from
         lib/bootconfig.c. This is a cleanup, no behavior change.
      
      * tag 'bootconfig-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        bootconfig: Remove duplicate included header file linux/bootconfig.h
      db2451e7
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 91bd008d
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
       "Uprobes:
      
         - x86/shstk: Make return uprobe work with shadow stack
      
         - Add uretprobe syscall which speeds up the uretprobe 10-30% faster.
           This syscall is automatically used from user-space trampolines
           which are generated by the uretprobe. If this syscall is used by
           normal user program, it will cause SIGILL. Note that this is
           currently only implemented on x86_64.
      
           (This also has two fixes for adjusting the syscall number to avoid
           conflict with new *attrat syscalls.)
      
         - uprobes/perf: fix user stack traces in the presence of pending
           uretprobe. This corrects the uretprobe's trampoline address in the
           stacktrace with correct return address
      
         - selftests/x86: Add a return uprobe with shadow stack test
      
         - selftests/bpf: Add uretprobe syscall related tests.
            - test case for register integrity check
            - test case with register changing case
            - test case for uretprobe syscall without uprobes (expected to fail)
            - test case for uretprobe with shadow stack
      
         - selftests/bpf: add test validating uprobe/uretprobe stack traces
      
         - MAINTAINERS: Add uprobes entry. This does not specify the tree but
           to clarify who maintains and reviews the uprobes
      
        Kprobes:
      
         - tracing/kprobes: Test case cleanups.
      
           Replace redundant WARN_ON_ONCE() + pr_warn() with WARN_ONCE() and
           remove unnecessary code from selftest
      
         - tracing/kprobes: Add symbol counting check when module loads.
      
           This checks the uniqueness of the probed symbol on modules. The
           same check has already done for kernel symbols
      
           (This also has a fix for build error with CONFIG_MODULES=n)
      
        Cleanup:
      
         - Add MODULE_DESCRIPTION() macros for fprobe and kprobe examples"
      
      * tag 'probes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        MAINTAINERS: Add uprobes entry
        selftests/bpf: Change uretprobe syscall number in uprobe_syscall test
        uprobe: Change uretprobe syscall scope and number
        tracing/kprobes: Fix build error when find_module() is not available
        tracing/kprobes: Add symbol counting check when module loads
        selftests/bpf: add test validating uprobe/uretprobe stack traces
        perf,uprobes: fix user stack traces in the presence of pending uretprobes
        tracing/kprobe: Remove cleanup code unrelated to selftest
        tracing/kprobe: Integrate test warnings into WARN_ONCE
        selftests/bpf: Add uretprobe shadow stack test
        selftests/bpf: Add uretprobe syscall call from user space test
        selftests/bpf: Add uretprobe syscall test for regs changes
        selftests/bpf: Add uretprobe syscall test for regs integrity
        selftests/x86: Add return uprobe shadow stack test
        uprobe: Add uretprobe syscall to speed up return probe
        uprobe: Wire up uretprobe system call
        x86/shstk: Make return uprobe work with shadow stack
        samples: kprobes: add missing MODULE_DESCRIPTION() macros
        fprobe: add missing MODULE_DESCRIPTION() macro
      91bd008d