1. 21 May, 2024 23 commits
    • Linus Torvalds's avatar
      Merge tag 'pull-bd_flags-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 3413efa8
      Linus Torvalds authored
      Pull bdev flags update from Al Viro:
       "Compactifying bdev flags.
      
        We can easily have up to 24 flags with sane atomicity, _without_
        pushing anything out of the first cacheline of struct block_device"
      
      * tag 'pull-bd_flags-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        bdev: move ->bd_make_it_fail to ->__bd_flags
        bdev: move ->bd_ro_warned to ->__bd_flags
        bdev: move ->bd_has_subit_bio to ->__bd_flags
        bdev: move ->bd_write_holder into ->__bd_flags
        bdev: move ->bd_read_only to ->__bd_flags
        bdev: infrastructure for flags
        wrapper for access to ->bd_partno
        Use bdev_is_paritition() instead of open-coding it
      3413efa8
    • Linus Torvalds's avatar
      Merge tag 's390-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2a8120d7
      Linus Torvalds authored
      Pull more s390 updates from Alexander Gordeev:
      
       - Switch read and write software bits for PUDs
      
       - Add missing hardware bits for PUDs and PMDs
      
       - Generate unwind information for C modules to fix GDB unwind error for
         vDSO functions
      
       - Create .build-id links for unstripped vDSO files to enable vDSO
         debugging with symbols
      
       - Use standard stack frame layout for vDSO generated stack frames to
         manually walk stack frames without DWARF information
      
       - Rework perf_callchain_user() and arch_stack_walk_user() functions to
         reduce code duplication
      
       - Skip first stack frame when walking user stack
      
       - Add basic checks to identify invalid instruction pointers when
         walking stack frames
      
       - Introduce and use struct stack_frame_vdso_wrapper within vDSO user
         wrapper code to automatically generate an asm-offset define. Also use
         STACK_FRAME_USER_OVERHEAD instead of STACK_FRAME_OVERHEAD to document
         that the code works with user space stack
      
       - Clear the backchain of the extra stack frame added by the vDSO user
         wrapper code. This allows the user stack walker to detect and skip
         the non-standard stack frame. Without this an incorrect instruction
         pointer would be added to stack traces.
      
       - Rewrite psw_idle() function in C to ease maintenance and further
         enhancements
      
       - Remove get_vtimer() function and use get_cpu_timer() instead
      
       - Mark psw variable in __load_psw_mask() as __unitialized to avoid
         superfluous clearing of PSW
      
       - Remove obsolete and superfluous comment about removed TIF_FPU flag
      
       - Replace memzero_explicit() and kfree() with kfree_sensitive() to fix
         warnings reported by Coccinelle
      
       - Wipe sensitive data and all copies of protected- or secure-keys from
         stack when an IOCTL fails
      
       - Both do_airq_interrupt() and do_io_interrupt() functions set
         CIF_NOHZ_DELAY flag. Move it in do_io_irq() to simplify the code
      
       - Provide iucv_alloc_device() and iucv_release_device() helpers, which
         can be used to deduplicate more or less identical IUCV device
         allocation and release code in four different drivers
      
       - Make use of iucv_alloc_device() and iucv_release_device() helpers to
         get rid of quite some code and also remove a cast to an incompatible
         function (clang W=1)
      
       - There is no user of iucv_root outside of the core IUCV code left.
         Therefore remove the EXPORT_SYMBOL
      
       - __apply_alternatives() contains a runtime check which verifies that
         the size of the to be patched code area is even. Convert this to a
         compile time check
      
       - Increase size of buffers for sending z/VM CP DIAGNOSE X'008' commands
         from 128 to 240
      
       - Do not accept z/VM CP DIAGNOSE X'008' commands longer than maximally
         allowed
      
       - Use correct defines IPL_BP_NVME_LEN and IPL_BP0_NVME_LEN instead of
         IPL_BP_FCP_LEN and IPL_BP0_FCP_LEN ones to initialize NVMe reIPL
         block on 'scp_data' sysfs attribute update
      
       - Initialize the correct fields of the NVMe dump block, which were
         confused with FCP fields
      
       - Refactor macros for 'scp_data' (re-)IPL sysfs attribute to reduce
         code duplication
      
       - Introduce 'scp_data' sysfs attribute for dump IPL to allow tools such
         as dumpconf passing additional kernel command line parameters to a
         stand-alone dumper
      
       - Rework the CPACF query functions to use the correct RRE or RRF
         instruction formats and set instruction register fields correctly
      
       - Instead of calling BUG() at runtime force a link error during compile
         when a unsupported opcode is used with __cpacf_query() or
         __cpacf_check_opcode() functions
      
       - Fix a crash in ap_parse_bitmap_str() function on /sys/bus/ap/apmask
         or /sys/bus/ap/aqmask sysfs file update with a relative mask value
      
       - Fix "bindings complete" udev event which should be sent once all AP
         devices have been bound to device drivers and again when unbind/bind
         actions take place and all AP devices are bound again
      
       - Facility list alt_stfle_fac_list is nowhere used in the decompressor,
         therefore remove it there
      
       - Remove custom kprobes insn slot allocator in favour of the standard
         module_alloc() one, since kernel image and module areas are located
         within 4GB
      
       - Use kvcalloc() instead of kvmalloc_array() in zcrypt driver to avoid
         calling memset() with a large byte count and get rid of the sparse
         warning as result
      
      * tag 's390-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits)
        s390/zcrypt: Use kvcalloc() instead of kvmalloc_array()
        s390/kprobes: Remove custom insn slot allocator
        s390/boot: Remove alt_stfle_fac_list from decompressor
        s390/ap: Fix bind complete udev event sent after each AP bus scan
        s390/ap: Fix crash in AP internal function modify_bitmap()
        s390/cpacf: Make use of invalid opcode produce a link error
        s390/cpacf: Split and rework cpacf query functions
        s390/ipl: Introduce sysfs attribute 'scp_data' for dump ipl
        s390/ipl: Introduce macros for (re)ipl sysfs attribute 'scp_data'
        s390/ipl: Fix incorrect initialization of nvme dump block
        s390/ipl: Fix incorrect initialization of len fields in nvme reipl block
        s390/ipl: Do not accept z/VM CP diag X'008' cmds longer than max length
        s390/ipl: Fix size of vmcmd buffers for sending z/VM CP diag X'008' cmds
        s390/alternatives: Convert runtime sanity check into compile time check
        s390/iucv: Unexport iucv_root
        tty: hvc-iucv: Make use of iucv_alloc_device()
        s390/smsgiucv_app: Make use of iucv_alloc_device()
        s390/netiucv: Make use of iucv_alloc_device()
        s390/vmlogrdr: Make use of iucv_alloc_device()
        s390/iucv: Provide iucv_alloc_device() / iucv_release_device()
        ...
      2a8120d7
    • Linus Torvalds's avatar
      Merge tag 'm68knommu-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 334e5639
      Linus Torvalds authored
      Pull m68knommu update from Greg Ungerer:
      
       . remove use of kernel config option from uapi header
      
      * tag 'm68knommu-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: Avoid CONFIG_COLDFIRE switch in uapi header
      334e5639
    • Linus Torvalds's avatar
      Merge tag 'efi-fixes-for-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · 54993156
      Linus Torvalds authored
      Pull EFI fix from Ard Biesheuvel:
      
       - Followup fix for the EFI boot sequence refactor, which may result in
         physical KASLR putting the kernel in a region which is being used for
         a special purpose via a command line argument.
      
      * tag 'efi-fixes-for-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
        x86/efistub: Omit physical KASLR when memory reservations exist
      54993156
    • Linus Torvalds's avatar
      Merge tag 'for-6.10/dm-fixes' of... · 85672639
      Linus Torvalds authored
      Merge tag 'for-6.10/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM discard regressions due to DM core switching over to using
         queue_limits_set() without DM core and targets first being updated to
         set (and stack) discard limits in terms of max_hw_discard_sectors and
         not max_discard_sectors
      
       - Fix stable@ DM integrity discard support to set device's
         discard_granularity limit to the device's logical block size
      
      * tag 'for-6.10/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: always manage discard support in terms of max_hw_discard_sectors
        dm-integrity: set discard_granularity to logical block size
      85672639
    • Linus Torvalds's avatar
      Merge tag 'pm-6.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 98f312bc
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix the amd-pstate driver and the operating performance point
        (OPP) handling related to generic PM domains.
      
        Specifics:
      
         - Fix a memory leak in the exit path of amd-pstate (Peng Ma)
      
         - Fix required_opp_tables handling in the cases when multiple generic
           PM domains share one OPP table (Viresh Kumar)"
      
      * tag 'pm-6.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        OPP: Fix required_opp_tables for multiple genpds using same table
        cpufreq: amd-pstate: fix memory leak on CPU EPP exit
      98f312bc
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 62a12816
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These make the ACPI EC driver always install the EC address space
        handler at the root of the ACPI namespace which causes it to take care
        of all EC operation regions everywhere.
      
        This means that the custom EC address space handler in the WMI driver
        is not needed any more and accordingly it gets removed altogether"
      
      * tag 'acpi-6.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        platform/x86: wmi: Remove custom EC address space handler
        ACPI: EC: Install address space handler at the namespace root
      62a12816
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 5b5a5ad5
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "These fix the MediaTek lvts_thermal driver and the handling of trip
        points that start as invalid and are adjusted later by user space via
        sysfs.
      
        Specifics:
      
         - Fix and clean up the MediaTek lvts_thermal driver (Julien Panis)
      
         - Prevent invalid trip point handling from triggering spurious trip
           point crossing events and allow passive polling to stop when a
           passive trip point involved in it becomes invalid (Rafael Wysocki)"
      
      * tag 'thermal-6.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: Fix the handling of invalid trip points
        thermal/drivers/mediatek/lvts_thermal: Fix wrong lvts_ctrl index
        thermal/drivers/mediatek/lvts_thermal: Remove unused members from struct lvts_ctrl_data
        thermal/drivers/mediatek/lvts_thermal: Check NULL ptr on lvts_data
      5b5a5ad5
    • Linus Torvalds's avatar
      Merge tag 'intel-gpio-v6.10-2' of... · 3b144038
      Linus Torvalds authored
      Merge tag 'intel-gpio-v6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel
      
      Pull intel-gpio fixes from Andy Shevchenko:
      
       - NULL pointer dereference fix in GPIO APCI library
      
       - Restore ACPI handle matching for GPIO devices represented in banks
      
      * tag 'intel-gpio-v6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel:
        gpiolib: acpi: Fix failed in acpi_gpiochip_find() by adding parent node match
        gpiolib: acpi: Move ACPI device NULL check to acpi_can_fallback_to_crs()
      3b144038
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · b9dd56e8
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
      
       - cleanup and conversion for soundwire sysfs groups
      
       - intel support for ace2x bits, auxdevice pm improvements
      
       - qcom multi link device support
      
      * tag 'soundwire-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (33 commits)
        soundwire: intel_ace2.x: add support for DOAISE property
        soundwire: intel_ace2.x: add support for DODSE property
        soundwire: intel_ace2x: use DOAIS and DODS settings from firmware
        soundwire: intel_ace2x: cleanup DOAIS/DODS settings
        soundwire: intel_ace2x: simplify check_wake()
        soundwire: intel_ace2x: fix wakeup handling
        soundwire: intel_init: resume all devices on exit.
        soundwire: intel: export intel_resume_child_device
        soundwire: intel_auxdevice: use pm_runtime_resume() instead of pm_request_resume()
        ASoC: SOF: Intel: hda: disable SoundWire interrupt later
        soundwire: qcom: allow multi-link on newer devices
        soundwire: intel_ace2x: use legacy formula for intel_alh_id
        soundwire: reconcile dp0_prop and dpn_prop
        soundwire: intel_ace2x: set the clock source
        soundwire: intel_ace2.x: power-up first before setting SYNCPRD
        soundwire: intel_ace2x: move and extend clock selection
        soundwire: intel: add support for MeteorLake additional clocks
        soundwire: intel: add more values for SYNCPRD
        soundwire: bus: extend base clock checks to 96 MHz
        soundwire: cadence: show the bus frequency and frame shape
        ...
      b9dd56e8
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 8053d2ff
      Linus Torvalds authored
      Pull generic phy updates from Vinod Koul:
       "New HW Support:
         - Support for Embedded DisplayPort and DisplayPort submodes and
           driver support on Qualcomm X1E80100 edp driver
         - Qualcomm QMP UFS PHY for SM8475, QMP USB phy for QDU1000/QRU1000
           and eusb2-repeater for SMB2360
         - Samsung HDMI PHY for i.MX8MP, gs101 UFS phy
         - Mediatek XFI T-PHY support for mt7988
         - Rockchip usbdp combo phy driver
      
        Updates:
         - Qualcomm x4 lane EP support for sa8775p, v4 ad v6 support for
           X1E80100, SM8650 tables for UFS Gear 4 & 5 and correct voltage
           swing tables
         - Freescale imx8m-pci pcie link-up updates
         - Rockchip rx-common-refclk-mode support
         - More platform remove callback returning void conversions"
      
      * tag 'phy-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (43 commits)
        dt-bindings: phy: qcom,usb-snps-femto-v2: use correct fallback for sc8180x
        dt-bindings: phy: qcom,sc8280xp-qmp-ufs-phy: fix msm899[68] power-domains
        dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: fix x1e80100-gen3x2 schema
        phy: qcpm-qmp-usb: Add support for QDU1000/QRU1000
        dt-bindings: phy: qcom,qmp-usb: Add QDU1000 USB3 PHY
        dt-bindings: phy: qcom,usb-snps-femto-v2: Add bindings for QDU1000
        phy: qcom-qmp-pcie: add x4 lane EP support for sa8775p
        phy: samsung-ufs: ufs: exit on first reported error
        phy: samsung-ufs: ufs: remove superfluous mfd/syscon.h header
        phy: rockchip: fix CONFIG_TYPEC dependency
        phy: rockchip: usbdp: fix uninitialized variable
        phy: rockchip-snps-pcie3: add support for rockchip,rx-common-refclk-mode
        dt-bindings: phy: rockchip,pcie3-phy: add rockchip,rx-common-refclk-mode
        phy: rockchip: add usbdp combo phy driver
        dt-bindings: phy: add rockchip usbdp combo phy document
        phy: add driver for MediaTek XFI T-PHY
        dt-bindings: phy: mediatek,mt7988-xfi-tphy: add new bindings
        phy: freescale: fsl-samsung-hdmi: Convert to platform remove callback returning void
        phy: qcom: qmp-ufs: update SM8650 tables for Gear 4 & 5
        MAINTAINERS: Add phy-gs101-ufs file to Tensor GS101.
        ...
      8053d2ff
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · d4e034b4
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New HW support:
         - Freescale i.MX8ULP edma support in edma driver
         - StarFive JH8100 DMA support in Synopsis axi-dmac driver
      
        Updates:
         - Tracing support for freescale edma driver, updates to dpaa2 driver
         - Remove unused QCom hidma DT support
         - Support for i2c dma in imx-sdma
         - Maintainers update for idxd and edma drivers"
      
      * tag 'dmaengine-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (42 commits)
        MAINTAINERS: Update role for IDXD driver
        dmaengine: fsl-edma: use _Generic to handle difference type
        dmaengine: fsl-edma: add trace event support
        dmaengine: idxd: Avoid unnecessary destruction of file_ida
        dmaengine: xilinx: xdma: fix module autoloading
        dt-bindings: dma: fsl-edma: allow 'power-domains' property
        dt-bindings: dma: fsl-edma: remove 'clocks' from required
        dmaengine: fsl-dpaa2-qdma: Fix kernel-doc check warning
        dmaengine: imx-sdma: Add i2c dma support
        dmaengine: imx-sdma: utilize compiler to calculate ADDRS_ARRAY_SIZE_V<n>
        dt-bindings: fsl-imx-sdma: Add I2C peripheral types ID
        dt-bindings: fsl-dma: fsl-edma: clean up unused "fsl,imx8qm-adma" compatible string
        dmaengine: fsl-edma: clean up unused "fsl,imx8qm-adma" compatible string
        dt-bindings: dma: Drop unused QCom hidma binding
        dmaengine: qcom: Drop hidma DT support
        dmaengine: pl08x: Use kcalloc() instead of kzalloc()
        dmaengine: fsl-dpaa2-qdma: Update DPDMAI interfaces to version 3
        dmaengine: fsl-edma: fix miss mutex unlock at an error return path
        dmaengine: pch_dma: remove unused function chan2parent
        dmaengine: fsl-dpaa2-qdma: Add dpdmai_cmd_open
        ...
      d4e034b4
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox · 34dcc466
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - redo the omap driver from legacy to mailbox api
      
       - enable bufferless IPI for zynqmp
      
       - add mhu-v3 driver
      
       - convert from tasklet to BH workqueue
      
       - add qcom MSM8974 APCS compatible IDs
      
      * tag 'mailbox-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox: (24 commits)
        dt-bindings: mailbox: qcom-ipcc: Document the SDX75 IPCC
        dt-bindings: mailbox: qcom: Add MSM8974 APCS compatible
        mailbox: Convert from tasklet to BH workqueue
        mailbox: mtk-cmdq: Fix pm_runtime_get_sync() warning in mbox shutdown
        mailbox: mtk-cmdq-mailbox: fix module autoloading
        mailbox: zynqmp: handle SGI for shared IPI
        mailbox: arm_mhuv3: Add driver
        dt-bindings: mailbox: arm,mhuv3: Add bindings
        mailbox: omap: Remove kernel FIFO message queuing
        mailbox: omap: Reverse FIFO busy check logic
        mailbox: omap: Remove mbox_chan_to_omap_mbox()
        mailbox: omap: Use mbox_controller channel list directly
        mailbox: omap: Use function local struct mbox_controller
        mailbox: omap: Merge mailbox child node setup loops
        mailbox: omap: Use devm_pm_runtime_enable() helper
        mailbox: omap: Remove device class
        mailbox: omap: Remove unneeded header omap-mailbox.h
        mailbox: omap: Move fifo size check to point of use
        mailbox: omap: Move omap_mbox_irq_t into driver
        mailbox: omap: Remove unused omap_mbox_request_channel() function
        ...
      34dcc466
    • Linus Torvalds's avatar
      Merge tag 'rproc-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · ab7b884a
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This makes the remoteproc core rproc_class const.
      
        DeviceTree bindings for a few different Qualcomm remoteprocs are
        updated to remove a range of validation warnings/errors. The Qualcomm
        SMD binding marks qcom,ipc deprecated, in favor or the mailbox
        interface.
      
        The TI K3 R5 remoteproc driver is updated to ensure that cores are
        powered up in the appropriate order. The driver also see a couple of
        fixes related to cleanups in error paths during probe.
      
        The Mediatek remoteproc driver is extended to support the MT8188 SCP
        core 1. Support for varying DRAM and IPI shared buffer sizes are
        introduced. This together with a couple of bug fixes and improvements
        to the driver.
      
        Support for the AMD-Xilinx Versal and Versal-NET platforms are added.
        Coredump support and support for parsing TCM information from
        DeviceTree is added to the Xilinx R5F remoteproc driver"
      
      * tag 'rproc-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (22 commits)
        dt-bindings: remoteproc: qcom,sdm845-adsp-pil: Fix qcom,halt-regs definition
        dt-bindings: remoteproc: qcom,sc7280-wpss-pil: Fix qcom,halt-regs definition
        dt-bindings: remoteproc: qcom,qcs404-cdsp-pil: Fix qcom,halt-regs definition
        dt-bindings: remoteproc: qcom,msm8996-mss-pil: allow glink-edge on msm8996
        dt-bindings: remoteproc: qcom,smd-edge: Mark qcom,ipc as deprecated
        remoteproc: k3-r5: Jump to error handling labels in start/stop errors
        remoteproc: mediatek: Fix error code in scp_rproc_init()
        remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs
        remoteproc: k3-r5: Wait for core0 power-up before powering up core1
        remoteproc: mediatek: Add IMGSYS IPI command
        remoteproc: mediatek: Support setting DRAM and IPI shared buffer sizes
        remoteproc: mediatek: Support MT8188 SCP core 1
        dt-bindings: remoteproc: mediatek: Support MT8188 dual-core SCP
        drivers: remoteproc: xlnx: Fix uninitialized tcm mode
        drivers: remoteproc: xlnx: Fix uninitialized variable use
        drivers: remoteproc: xlnx: Add Versal and Versal-NET support
        remoteproc: zynqmp: parse TCM from device tree
        dt-bindings: remoteproc: Add Tightly Coupled Memory (TCM) bindings
        remoteproc: zynqmp: fix lockstep mode memory region
        remoteproc: zynqmp: Add coredump support
        ...
      ab7b884a
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · e66128fa
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This makes core rpmsg_class const and ensures that the automatic
        module loading of the Qualcomm glink_ssr driver happens"
      
      * tag 'rpmsg-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        rpmsg: qcom_glink_ssr: fix module autoloading
        rpmsg: core: Make rpmsg_class constant
      e66128fa
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · f0bae243
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Enumeration:
      
         - Skip E820 checks for MCFG ECAM regions for new (2016+) machines,
           since there's no requirement to describe them in E820 and some
           platforms require ECAM to work (Bjorn Helgaas)
      
         - Rename PCI_IRQ_LEGACY to PCI_IRQ_INTX to be more specific (Damien
           Le Moal)
      
         - Remove last user and pci_enable_device_io() (Heiner Kallweit)
      
         - Wait for Link Training==0 to avoid possible race (Ilpo Järvinen)
      
         - Skip waiting for devices that have been disconnected while
           suspended (Ilpo Järvinen)
      
         - Clear Secondary Status errors after enumeration since Master Aborts
           and Unsupported Request errors are an expected part of enumeration
           (Vidya Sagar)
      
        MSI:
      
         - Remove unused IMS (Interrupt Message Store) support (Bjorn Helgaas)
      
        Error handling:
      
         - Mask Genesys GL975x SD host controller Replay Timer Timeout
           correctable errors caused by a hardware defect; the errors cause
           interrupts that prevent system suspend (Kai-Heng Feng)
      
         - Fix EDR-related _DSM support, which previously evaluated revision 5
           but assumed revision 6 behavior (Kuppuswamy Sathyanarayanan)
      
        ASPM:
      
         - Simplify link state definitions and mask calculation (Ilpo
           Järvinen)
      
        Power management:
      
         - Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports, where BIOS
           apparently doesn't know how to put them back in D0 (Mario
           Limonciello)
      
        CXL:
      
         - Support resetting CXL devices; special handling required because
           CXL Ports mask Secondary Bus Reset by default (Dave Jiang)
      
        DOE:
      
         - Support DOE Discovery Version 2 (Alexey Kardashevskiy)
      
        Endpoint framework:
      
         - Set endpoint BAR to be 64-bit if the driver says that's all the
           device supports, in addition to doing so if the size is >2GB
           (Niklas Cassel)
      
         - Simplify endpoint BAR allocation and setting interfaces (Niklas
           Cassel)
      
        Cadence PCIe controller driver:
      
         - Drop DT binding redundant msi-parent and pci-bus.yaml (Krzysztof
           Kozlowski)
      
        Cadence PCIe endpoint driver:
      
         - Configure endpoint BARs to be 64-bit based on the BAR type, not the
           BAR value (Niklas Cassel)
      
        Freescale Layerscape PCIe controller driver:
      
         - Convert DT binding to YAML (Frank Li)
      
        MediaTek MT7621 PCIe controller driver:
      
         - Add DT binding missing 'reg' property for child Root Ports
           (Krzysztof Kozlowski)
      
         - Fix theoretical string truncation in PHY name (Sergio Paracuellos)
      
        NVIDIA Tegra194 PCIe controller driver:
      
         - Return success for endpoint probe instead of falling through to the
           failure path (Vidya Sagar)
      
        Renesas R-Car PCIe controller driver:
      
         - Add DT binding missing IOMMU properties (Geert Uytterhoeven)
      
         - Add DT binding R-Car V4H compatible for host and endpoint mode
           (Yoshihiro Shimoda)
      
        Rockchip PCIe controller driver:
      
         - Configure endpoint BARs to be 64-bit based on the BAR type, not the
           BAR value (Niklas Cassel)
      
         - Add DT binding missing maxItems to ep-gpios (Krzysztof Kozlowski)
      
         - Set the Subsystem Vendor ID, which was previously zero because it
           was masked incorrectly (Rick Wertenbroek)
      
        Synopsys DesignWare PCIe controller driver:
      
         - Restructure DBI register access to accommodate devices where this
           requires Refclk to be active (Manivannan Sadhasivam)
      
         - Remove the deinit() callback, which was only need by the
           pcie-rcar-gen4, and do it directly in that driver (Manivannan
           Sadhasivam)
      
         - Add dw_pcie_ep_cleanup() so drivers that support PERST# can clean
           up things like eDMA (Manivannan Sadhasivam)
      
         - Rename dw_pcie_ep_exit() to dw_pcie_ep_deinit() to make it parallel
           to dw_pcie_ep_init() (Manivannan Sadhasivam)
      
         - Rename dw_pcie_ep_init_complete() to dw_pcie_ep_init_registers() to
           reflect the actual functionality (Manivannan Sadhasivam)
      
         - Call dw_pcie_ep_init_registers() directly from all the glue
           drivers, not just those that require active Refclk from the host
           (Manivannan Sadhasivam)
      
         - Remove the "core_init_notifier" flag, which was an obscure way for
           glue drivers to indicate that they depend on Refclk from the host
           (Manivannan Sadhasivam)
      
        TI J721E PCIe driver:
      
         - Add DT binding J784S4 SoC Device ID (Siddharth Vadapalli)
      
         - Add DT binding J722S SoC support (Siddharth Vadapalli)
      
        TI Keystone PCIe controller driver:
      
         - Add DT binding missing num-viewport, phys and phy-name properties
           (Jan Kiszka)
      
        Miscellaneous:
      
         - Constify and annotate with __ro_after_init (Heiner Kallweit)
      
         - Convert DT bindings to YAML (Krzysztof Kozlowski)
      
         - Check for kcalloc() failure in of_pci_prop_intr_map() (Duoming
           Zhou)"
      
      * tag 'pci-v6.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (97 commits)
        PCI: Do not wait for disconnected devices when resuming
        x86/pci: Skip early E820 check for ECAM region
        PCI: Remove unused pci_enable_device_io()
        ata: pata_cs5520: Remove unnecessary call to pci_enable_device_io()
        PCI: Update pci_find_capability() stub return types
        PCI: Remove PCI_IRQ_LEGACY
        scsi: vmw_pvscsi: Do not use PCI_IRQ_LEGACY instead of PCI_IRQ_LEGACY
        scsi: pmcraid: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        scsi: mpt3sas: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        scsi: megaraid_sas: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        scsi: ipr: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        scsi: hpsa: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        scsi: arcmsr: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        wifi: rtw89: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY
        dt-bindings: PCI: rockchip,rk3399-pcie: Add missing maxItems to ep-gpios
        Revert "genirq/msi: Provide constants for PCI/IMS support"
        Revert "x86/apic/msi: Enable PCI/IMS"
        Revert "iommu/vt-d: Enable PCI/IMS"
        Revert "iommu/amd: Enable PCI/IMS"
        Revert "PCI/MSI: Provide IMS (Interrupt Message Store) support"
        ...
      f0bae243
    • Linus Torvalds's avatar
      Merge tag 'keys-trusted-next-6.10-rc1-part2' of... · fa8151ca
      Linus Torvalds authored
      Merge tag 'keys-trusted-next-6.10-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
      
      Pull trusted keys fixes from Jarkko Sakkinen:
       "These are two bugs I found from trusted keys while working on a new
        RSA key type for TPM2. Both originate form v5.13.
      
        The memory leak is more crucial but I don't think it is either good
        idea if kernel throws WARN when ASN.1 parser fails, even if it is
        related to programming error, as it is not that mature code yet.
      
        There's at least two WARN's in that code but I picked just the one
        more likely to trigger. Planning to fix the other one too over time"
      
      * tag 'keys-trusted-next-6.10-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        KEYS: trusted: Do not use WARN when encode fails
        KEYS: trusted: Fix memory leak in tpm2_key_encode()
      fa8151ca
    • Linus Torvalds's avatar
      Merge tag 'pull-bd_inode-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 38da32ee
      Linus Torvalds authored
      Pull bdev bd_inode updates from Al Viro:
       "Replacement of bdev->bd_inode with sane(r) set of primitives by me and
        Yu Kuai"
      
      * tag 'pull-bd_inode-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        RIP ->bd_inode
        dasd_format(): killing the last remaining user of ->bd_inode
        nilfs_attach_log_writer(): use ->bd_mapping->host instead of ->bd_inode
        block/bdev.c: use the knowledge of inode/bdev coallocation
        gfs2: more obvious initializations of mapping->host
        fs/buffer.c: massage the remaining users of ->bd_inode to ->bd_mapping
        blk_ioctl_{discard,zeroout}(): we only want ->bd_inode->i_mapping here...
        grow_dev_folio(): we only want ->bd_inode->i_mapping there
        use ->bd_mapping instead of ->bd_inode->i_mapping
        block_device: add a pointer to struct address_space (page cache of bdev)
        missing helpers: bdev_unhash(), bdev_drop()
        block: move two helpers into bdev.c
        block2mtd: prevent direct access of bd_inode
        dm-vdo: use bdev_nr_bytes(bdev) instead of i_size_read(bdev->bd_inode)
        blkdev_write_iter(): saner way to get inode and bdev
        bcachefs: remove dead function bdev_sectors()
        ext4: remove block_device_ejected()
        erofs_buf: store address_space instead of inode
        erofs: switch erofs_bread() to passing offset instead of block number
      38da32ee
    • Devyn Liu's avatar
      gpiolib: acpi: Fix failed in acpi_gpiochip_find() by adding parent node match · adbc49a5
      Devyn Liu authored
      Previous patch modified the standard used by acpi_gpiochip_find()
      to match device nodes. Using the device node set in gc->gpiodev->d-
      ev instead of gc->parent.
      
      However, there is a situation in gpio-dwapb where the GPIO device
      driver will set gc->fwnode for each port corresponding to a child
      node under a GPIO device, so gc->gpiodev->dev will be assigned the
      value of each child node in gpiochip_add_data().
      
      gpio-dwapb.c:
      128,31 static int dwapb_gpio_add_port(struct dwapb_gpio *gpio,
      			       struct dwapb_port_property *pp,
      			       unsigned int offs);
      port->gc.fwnode = pp->fwnode;
      
      693,39 static int dwapb_gpio_probe;
      err = dwapb_gpio_add_port(gpio, &pdata->properties[i], i);
      
      When other drivers request GPIO pin resources through the GPIO device
      node provided by ACPI (corresponding to the parent node), the change
      of the matching object to gc->gpiodev->dev in acpi_gpiochip_find()
      only allows finding the value of each port (child node), resulting
      in a failed request.
      
      Reapply the condition of using gc->parent for match in acpi_gpio-
      chip_find() in the code can compatible with the problem of gpio-dwapb,
      and will not affect the two cases mentioned in the patch:
      1. There is no setting for gc->fwnode.
      2. The case that depends on using gc->fwnode for match.
      
      Fixes: 5062e4c1 ("gpiolib: acpi: use the fwnode in acpi_gpiochip_find()")
      Fixes: 067dbc1e ("gpiolib: acpi: Don't use GPIO chip fwnode in acpi_gpiochip_find()")
      Signed-off-by: default avatarDevyn Liu <liudingyuan@huawei.com>
      Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Tested-by: default avatarBenjamin Tissoires <bentiss@kernel.org>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      adbc49a5
    • Linus Torvalds's avatar
      Merge tag 'pull-set_blocksize' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5ad8b6ad
      Linus Torvalds authored
      Pull vfs blocksize updates from Al Viro:
       "This gets rid of bogus set_blocksize() uses, switches it over
        to be based on a 'struct file *' and verifies that the caller
        has the device opened exclusively"
      
      * tag 'pull-set_blocksize' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        make set_blocksize() fail unless block device is opened exclusive
        set_blocksize(): switch to passing struct file *
        btrfs_get_bdev_and_sb(): call set_blocksize() only for exclusive opens
        swsusp: don't bother with setting block size
        zram: don't bother with reopening - just use O_EXCL for open
        swapon(2): open swap with O_EXCL
        swapon(2)/swapoff(2): don't bother with block size
        pktcdvd: sort set_blocksize() calls out
        bcache_register(): don't bother with set_blocksize()
      5ad8b6ad
    • Laura Nao's avatar
      gpiolib: acpi: Move ACPI device NULL check to acpi_can_fallback_to_crs() · 4bcc9bba
      Laura Nao authored
      Following the relocation of the function call outside of
      __acpi_find_gpio(), move the ACPI device NULL check to
      acpi_can_fallback_to_crs().
      Signed-off-by: default avatarLaura Nao <laura.nao@collabora.com>
      Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Reported-by: default avatarkernelci.org bot <bot@kernelci.org>
      Closes: https://lore.kernel.org/all/20240426154208.81894-1-laura.nao@collabora.com/
      Fixes: 49c02f6e ("gpiolib: acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()")
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      4bcc9bba
    • Linus Torvalds's avatar
      fs/pidfs: make 'lsof' happy with our inode changes · db3d841a
      Linus Torvalds authored
      pidfs started using much saner inodes in commit b28ddcc3 ("pidfs:
      convert to path_from_stashed() helper"), but that exposed the fact that
      lsof had some knowledge of just how odd our old anon_inode usage was.
      
      For example, legacy anon_inodes hadn't even initialized the inode type
      in the inode mode, so everything had a type of zero.
      
      So sane tools like 'stat' would report these files as "weird file", but
      'lsof' instead used that (together with the name of the link in proc) to
      notice that it's an anonymous inode, and used it to detect pidfd files.
      
      Let's keep our internal new sane inode model, but mask the file type
      bits at 'stat()' time in the getattr() function we already have, and by
      making the dentry name match what lsof expects too.
      
      This keeps our internal models sane, but should make user space see the
      same old odd behavior.
      Reported-by: default avatarJiri Slaby <jirislaby@kernel.org>
      Link: https://lore.kernel.org/all/a15b1050-4b52-4740-a122-a4d055c17f11@kernel.org/
      Link: https://github.com/lsof-org/lsof/issues/317
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Seth Forshee <sforshee@kernel.org>
      Cc: Tycho Andersen <tycho@tycho.pizza>
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      db3d841a
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · dee8f20e
      Rafael J. Wysocki authored
      Merge an amd-pstate driver fix for 6.10-rc1:
      
       - Fix a memory leak in the exit path of amd-pstate (Peng Ma).
      
      * pm-cpufreq:
        cpufreq: amd-pstate: fix memory leak on CPU EPP exit
      dee8f20e
  2. 20 May, 2024 17 commits
    • Jarkko Sakkinen's avatar
      KEYS: trusted: Do not use WARN when encode fails · 050bf3c7
      Jarkko Sakkinen authored
      When asn1_encode_sequence() fails, WARN is not the correct solution.
      
      1. asn1_encode_sequence() is not an internal function (located
         in lib/asn1_encode.c).
      2. Location is known, which makes the stack trace useless.
      3. Results a crash if panic_on_warn is set.
      
      It is also noteworthy that the use of WARN is undocumented, and it
      should be avoided unless there is a carefully considered rationale to
      use it.
      
      Replace WARN with pr_err, and print the return value instead, which is
      only useful piece of information.
      
      Cc: stable@vger.kernel.org # v5.13+
      Fixes: f2219745 ("security: keys: trusted: use ASN.1 TPM2 key format for the blobs")
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      050bf3c7
    • Jarkko Sakkinen's avatar
      KEYS: trusted: Fix memory leak in tpm2_key_encode() · ffcaa217
      Jarkko Sakkinen authored
      'scratch' is never freed. Fix this by calling kfree() in the success, and
      in the error case.
      
      Cc: stable@vger.kernel.org # +v5.13
      Fixes: f2219745 ("security: keys: trusted: use ASN.1 TPM2 key format for the blobs")
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      ffcaa217
    • Linus Torvalds's avatar
      Merge tag 'cocci-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux · 8f6a15f0
      Linus Torvalds authored
      Pull coccinelle updates from Julia Lawall:
       "One patch slightly improves the text in a comment.
      
        The other patch (on minmax.cocci) removes a report about ? being used
        in return statements that has been generating not very useful
        suggestions to change idiomatic code"
      
      * tag 'cocci-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
        Coccinelle: pm_runtime: Fix grammar in comment
        coccinelle: misc: minmax: Suppress reports for err returns
      8f6a15f0
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 3eb3c33c
      Linus Torvalds authored
      Pull asm-generic cleanups from Arnd Bergmann:
       "These are a few cross-architecture cleanup patches:
      
         - separate out fbdev support from the asm/video.h contents that may
           be used by either the old fbdev drivers or the newer drm display
           code (Thomas Zimmermann)
      
         - cleanups for the generic bitops code and asm-generic/bug.h
           (Thorsten Blum)
      
         - remove the orphaned include/asm-generic/page.h header that used to
           be included by long-removed mmu-less architectures (me)"
      
      * tag 'asm-generic-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        arch: Fix name collision with ACPI's video.o
        bug: Improve comment
        asm-generic: remove unused asm-generic/page.h
        arch: Rename fbdev header and source files
        arch: Remove struct fb_info from video helpers
        arch: Select fbdev helpers with CONFIG_VIDEO
        bitops: Change function return types from long to int
      3eb3c33c
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-late-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1b036162
      Linus Torvalds authored
      Pull more SoC devicetree updates from Arnd Bergmann:
       "This is a follow-up to an earlier pull request for device tree
        changes, as three platform maintainers sent their contents too late to
        be included in the main set, but had not caused any further problems
        since then:
      
         - The Amlogic platform now containts support for two new SoC types,
           the A4 and A5 chips for audio applications. Both come with a
           reference board, and one more dts file gets addded for the
           combination of the MNT Reform Laptop with the BPI-CM4 CPU module
      
         - The ASpeed platform adds support for six addititional server
           platforms that use ast2500 or ast2600 as their BMC, while another
           one gets removed
      
         - The RISC-V platforms from Microchip, Starfive and and T-HEAD get
           additional features for existing hardware, plus the addition of the
           Milk-V Mars based on the StarFive VisionFive v2 board"
      
      * tag 'soc-dt-late-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (76 commits)
        riscv: dts: microchip: add pac1934 power-monitor to icicle
        riscv: dts: thead: Fix node ordering in TH1520 device tree
        ARM: dts: aspeed: Add ASRock E3C256D4I BMC
        dt-bindings: arm: aspeed: document ASRock E3C256D4I
        dt-bindings: trivial-devices: add isil,isl69269
        ARM: dts: aspeed: x4tf: Add dts for asus x4tf project
        dt-bindings: arm: aspeed: add ASUS X4TF board
        ARM: dts: aspeed: Remove Facebook Cloudripper dts
        ARM: dts: aspeed: drop unused ref_voltage ADC property
        ARM: dts: aspeed: harma: correct Mellanox multi-host property
        ARM: dts: aspeed: yosemitev2: correct Mellanox multi-host property
        ARM: dts: aspeed: yosemite4: correct Mellanox multi-host property
        ARM: dts: aspeed: greatlakes: correct Mellanox multi-host property
        ARM: dts: aspeed: Modify I2C bus configuration
        ARM: dts: aspeed: Disable unused ADC channels for Asrock X570D4U BMC
        ARM: dts: aspeed: Modify GPIO table for Asrock X570D4U BMC
        ARM: dts: aspeed: yosemite4: set bus13 frequency to 100k
        ARM: dts: Aspeed: Bonnell: Fix NVMe LED labels
        ARM: dts: aspeed: yosemite4: Enable ipmb device for OCP debug card
        ARM: dts: aspeed: ahe50dc: Update lm25066 regulator name
        ...
      1b036162
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.10-rc1' of https://github.com/awilliam/linux-vfio · 30aec6e1
      Linus Torvalds authored
      Pull vfio updates from Alex Williamson:
      
       - The vfio fsl-mc bus driver has become orphaned. We'll consider
         removing it in future releases if a new maintainer isn't found (Alex
         Williamson)
      
       - Improved usage of opaque data in vfio-pci INTx handling, avoiding
         lookups of the eventfd through the interrupt and irqfd runtime paths
         (Alex Williamson)
      
       - Resolve an error path memory leak introduced in vfio-pci interrupt
         code (Ye Bin)
      
       - Addition of interrupt support for vfio devices exposed on the CDX
         bus, including a new MSI allocation helper and export of existing
         helpers for MSI alloc and free (Nipun Gupta)
      
       - A new vfio-pci variant driver supporting migration of Intel QAT VF
         devices for the GEN4 PFs (Xin Zeng & Yahui Cao)
      
       - Resolve a possibly circular locking dependency in vfio-pci by
         avoiding copy_to_user() from a PCI bus walk callback (Alex
         Williamson)
      
       - Trivial docs update to remove a duplicate semicolon (Foryun Ma)
      
      * tag 'vfio-v6.10-rc1' of https://github.com/awilliam/linux-vfio:
        vfio/pci: Restore zero affected bus reset devices warning
        vfio: remove an extra semicolon
        vfio/pci: Collect hot-reset devices to local buffer
        vfio/qat: Add vfio_pci driver for Intel QAT SR-IOV VF devices
        vfio/cdx: add interrupt support
        genirq/msi: Add MSI allocation helper and export MSI functions
        vfio/pci: fix potential memory leak in vfio_intx_enable()
        vfio/pci: Pass eventfd context object through irqfd
        vfio/pci: Pass eventfd context to IRQ handler
        MAINTAINERS: Orphan vfio fsl-mc bus driver
      30aec6e1
    • Linus Torvalds's avatar
      Merge tag 'linux_kselftest-next-6.10-rc1-fixes' of... · 70ec81c2
      Linus Torvalds authored
      Merge tag 'linux_kselftest-next-6.10-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest fixes from Shuah Khan:
       "Revert framework change to add D_GNU_SOURCE to KHDR_INCLUDES to
        Makefile, lib.mk, and kselftest_harness.h and follow-on changes to
        cgroup and sgx test as they are causing build failures and warnings"
      
      * tag 'linux_kselftest-next-6.10-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        Revert "selftests/cgroup: Drop define _GNU_SOURCE"
        Revert "selftests/sgx: Include KHDR_INCLUDES in Makefile"
        Revert "selftests: Compile kselftest headers with -D_GNU_SOURCE"
      70ec81c2
    • Thomas Zimmermann's avatar
      arch: Fix name collision with ACPI's video.o · 34cda5ab
      Thomas Zimmermann authored
      Commit 2fd001cd ("arch: Rename fbdev header and source files")
      renames the video source files under arch/ such that they do not
      refer to fbdev any longer. The new files named video.o conflict with
      ACPI's video.ko module. Modprobing the ACPI module can then fail with
      warnings about missing symbols, as shown below.
      
        (i915_selftest:1107) igt_kmod-WARNING: i915: Unknown symbol acpi_video_unregister (err -2)
        (i915_selftest:1107) igt_kmod-WARNING: i915: Unknown symbol acpi_video_register_backlight (err -2)
        (i915_selftest:1107) igt_kmod-WARNING: i915: Unknown symbol __acpi_video_get_backlight_type (err -2)
        (i915_selftest:1107) igt_kmod-WARNING: i915: Unknown symbol acpi_video_register (err -2)
      
      Fix the issue by renaming the architecture's video.o to video-common.o.
      Reported-by: default avatarChaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
      Closes: https://lore.kernel.org/intel-gfx/9dcac6e9-a3bf-4ace-bbdc-f697f767f9e0@suse.de/T/#tSigned-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Fixes: 2fd001cd ("arch: Rename fbdev header and source files")
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-fbdev@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      34cda5ab
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-6.10.rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 72ece201
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've tried to address some performance issues on zoned
        storage such as direct IO and write_hints. In addition, we've migrated
        some IO paths using folio. Meanwhile, there are multiple bug fixes in
        the compression paths, sanity check conditions, and error handlers.
      
        Enhancements:
         - allow direct io of pinned files for zoned storage
         - assign the write hint per stream by default
         - convert read paths and test_writeback to folio
         - avoid allocating WARM_DATA segment for direct IO
      
        Bug fixes:
         - fix false alarm on invalid block address
         - fix to add missing iput() in gc_data_segment()
         - fix to release node block count in error path of
           f2fs_new_node_page()
         - compress:
             - don't allow unaligned truncation on released compress inode
             - cover {reserve,release}_compress_blocks() w/ cp_rwsem lock
             - fix error path of inc_valid_block_count()
             - fix to update i_compr_blocks correctly
         - fix block migration when section is not aligned to pow2
         - don't trigger OPU on pinfile for direct IO
         - fix to do sanity check on i_xattr_nid in sanity_check_inode()
         - write missing last sum blk of file pinning section
         - clear writeback when compression failed
         - fix to adjust appropirate defragment pg_end
      
        As usual, there are several minor code clean-ups, and fixes to manage
        missing corner cases in the error paths"
      
      * tag 'f2fs-for-6.10.rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (50 commits)
        f2fs: initialize last_block_in_bio variable
        f2fs: Add inline to f2fs_build_fault_attr() stub
        f2fs: fix some ambiguous comments
        f2fs: fix to add missing iput() in gc_data_segment()
        f2fs: allow dirty sections with zero valid block for checkpoint disabled
        f2fs: compress: don't allow unaligned truncation on released compress inode
        f2fs: fix to release node block count in error path of f2fs_new_node_page()
        f2fs: compress: fix to cover {reserve,release}_compress_blocks() w/ cp_rwsem lock
        f2fs: compress: fix error path of inc_valid_block_count()
        f2fs: compress: fix typo in f2fs_reserve_compress_blocks()
        f2fs: compress: fix to update i_compr_blocks correctly
        f2fs: check validation of fault attrs in f2fs_build_fault_attr()
        f2fs: fix to limit gc_pin_file_threshold
        f2fs: remove unused GC_FAILURE_PIN
        f2fs: use f2fs_{err,info}_ratelimited() for cleanup
        f2fs: fix block migration when section is not aligned to pow2
        f2fs: zone: fix to don't trigger OPU on pinfile for direct IO
        f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()
        f2fs: fix to avoid allocating WARM_DATA segment for direct IO
        f2fs: remove redundant parameter in is_next_segment_free()
        ...
      72ece201
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.10-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 119d1b8a
      Linus Torvalds authored
      Pull xfs updates from Chandan Babu:
       "Online repair feature continues to be expanded. Also, we now support
        delayed allocation for realtime devices which have an extent size that
        is equal to filesystem's block size.
      
        New code:
      
         - Introduce Parent Pointer extended attribute for inodes
      
         - Bring back delalloc support for realtime devices which have an
           extent size that is equal to filesystem's block size
      
         - Improve performance of log incompat feature handling
      
        Online Repair:
      
         - Implement atomic file content exchanges i.e. exchange ranges of
           bytes between two files atomically
      
         - Create temporary files to repair file-based metadata. This uses
           atomic file content exchange facility to swap file fork mappings
           between the temporary file and the metadata inode
      
         - Allow callers of directory/xattr code to set an explicit owner
           number to be written into the header fields of any new blocks that
           are created. This is required to avoid walking every block of the
           new structure and modify their ownership during online repair
      
         - Repair more data structures:
             - Extended attributes
             - Inode unlinked state
             - Directories
             - Symbolic links
             - AGI's unlinked inode list
             - Parent pointers
      
         - Move Orphan files to lost and found directory
      
         - Fixes for Inode repair functionality
      
         - Introduce a new sub-AG FITRIM implementation to reduce the duration
           for which the AGF lock is held
      
         - Updates for the design documentation
      
         - Use Parent Pointers to assist in checking directories, parent
           pointers, extended attributes, and link counts
      
        Fixes:
      
         - Prevent userspace from reading invalid file data due to incorrect.
           updation of file size when performing a non-atomic clone operation
      
         - Minor fixes to online repair
      
         - Fix confusing return values from xfs_bmapi_write()
      
         - Fix an out of bounds access due to incorrect h_size during log
           recovery
      
         - Defer upgrading the extent counters in xfs_reflink_end_cow_extent()
           until we know we are going to modify the extent mapping
      
         - Remove racy access to if_bytes check in
           xfs_reflink_end_cow_extent()
      
         - Fix sparse warnings
      
        Cleanups:
      
         - Hold inode locks on all files involved in a rename until the
           completion of the operation. This is in preparation for the parent
           pointers patchset where parent pointers are applied in a separate
           chained update from the actual directory update
      
         - Compile out v4 support when disabled
      
         - Cleanup xfs_extent_busy_clear()
      
         - Remove unused flags and fields from struct xfs_da_args
      
         - Remove definitions of unused functions
      
         - Improve extended attribute validation
      
         - Add higher level directory operations helpers to remove duplication
           of code
      
         - Cleanup quota (un)reservation interfaces"
      
      * tag 'xfs-6.10-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (221 commits)
        xfs: simplify iext overflow checking and upgrade
        xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extent
        xfs: upgrade the extent counters in xfs_reflink_end_cow_extent later
        xfs: xfs_quota_unreserve_blkres can't fail
        xfs: consolidate the xfs_quota_reserve_blkres definitions
        xfs: clean up buffer allocation in xlog_do_recovery_pass
        xfs: fix log recovery buffer allocation for the legacy h_size fixup
        xfs: widen flags argument to the xfs_iflags_* helpers
        xfs: minor cleanups of xfs_attr3_rmt_blocks
        xfs: create a helper to compute the blockcount of a max sized remote value
        xfs: turn XFS_ATTR3_RMT_BUF_SPACE into a function
        xfs: use unsigned ints for non-negative quantities in xfs_attr_remote.c
        xfs: do not allocate the entire delalloc extent in xfs_bmapi_write
        xfs: fix xfs_bmap_add_extent_delay_real for partial conversions
        xfs: remove the xfs_iext_peek_prev_extent call in xfs_bmapi_allocate
        xfs: pass the actual offset and len to allocate to xfs_bmapi_allocate
        xfs: don't open code XFS_FILBLKS_MIN in xfs_bmapi_write
        xfs: lift a xfs_valid_startblock into xfs_bmapi_allocate
        xfs: remove the unusued tmp_logflags variable in xfs_bmapi_allocate
        xfs: fix error returns from xfs_bmapi_write
        ...
      119d1b8a
    • Mike Snitzer's avatar
      dm: always manage discard support in terms of max_hw_discard_sectors · 825d8bbd
      Mike Snitzer authored
      Commit 4f563a64 ("block: add a max_user_discard_sectors queue
      limit") changed block core to set max_discard_sectors to:
       min(lim->max_hw_discard_sectors, lim->max_user_discard_sectors)
      
      Since commit 1c0e7202 ("dm: use queue_limits_set") it was reported
      dm-thinp was failing in a few fstests (generic/347 and generic/405)
      with the first WARN_ON_ONCE in dm_cell_key_has_valid_range() being
      reported, e.g.:
      WARNING: CPU: 1 PID: 30 at drivers/md/dm-bio-prison-v1.c:128 dm_cell_key_has_valid_range+0x3d/0x50
      
      blk_set_stacking_limits() sets max_user_discard_sectors to UINT_MAX,
      so given how block core now sets max_discard_sectors (detailed above)
      it follows that blk_stack_limits() stacks up the underlying device's
      max_hw_discard_sectors and max_discard_sectors is set to match it. If
      max_hw_discard_sectors exceeds dm's BIO_PRISON_MAX_RANGE, then
      dm_cell_key_has_valid_range() will trigger the warning with:
      WARN_ON_ONCE(key->block_end - key->block_begin > BIO_PRISON_MAX_RANGE)
      
      Aside from this warning, the discard will fail.  Fix this and other DM
      issues by governing discard support in terms of max_hw_discard_sectors
      instead of max_discard_sectors.
      Reported-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Fixes: 1c0e7202 ("dm: use queue_limits_set")
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      825d8bbd
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · bb6b2062
      Linus Torvalds authored
      Pull isofs, udf, quota, ext2, and reiserfs updates from Jan Kara:
      
       - convert isofs to the new mount API
      
       - cleanup isofs Makefile
      
       - udf conversion to folios
      
       - some other small udf cleanups and fixes
      
       - ext2 cleanups
      
       - removal of reiserfs .writepage method
      
       - update reiserfs README file
      
      * tag 'fs_for_v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        isofs: Use *-y instead of *-objs in Makefile
        ext2: Remove LEGACY_DIRECT_IO dependency
        isofs: Remove calls to set/clear the error flag
        ext2: Remove call to folio_set_error()
        udf: Use a folio in udf_write_end()
        udf: Convert udf_page_mkwrite() to use a folio
        udf: Convert udf_symlink_getattr() to use a folio
        udf: Convert udf_adinicb_readpage() to udf_adinicb_read_folio()
        udf: Convert udf_expand_file_adinicb() to use a folio
        udf: Convert udf_write_begin() to use a folio
        udf: Convert udf_symlink_filler() to use a folio
        reiserfs: Trim some README bits
        quota: fix to propagate error of mark_dquot_dirty() to caller
        reiserfs: Convert to writepages
        udf: udftime: prevent overflow in udf_disk_stamp_to_time()
        ext2: set FMODE_CAN_ODIRECT instead of a dummy direct_IO method
        udf: replace deprecated strncpy/strcpy with strscpy
        udf: Remove second semicolon
        isofs: convert isofs to use the new mount API
        fs: quota: use group allocation of per-cpu counters API
      bb6b2062
    • Mikulas Patocka's avatar
      dm-integrity: set discard_granularity to logical block size · 69381cf8
      Mikulas Patocka authored
      dm-integrity could set discard_granularity lower than the logical block
      size. This could result in failures when sending discard requests to
      dm-integrity.
      
      This fix is needed for kernels prior to 6.10.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Reported-by: default avatarEric Wheeler <linux-integrity@lists.ewheeler.net>
      Cc: stable@vger.kernel.org # <= 6.9
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      69381cf8
    • Linus Torvalds's avatar
      Revert "fanotify: remove unneeded sub-zero check for unsigned value" · d0e71e23
      Linus Torvalds authored
      This reverts commit e6595224.
      
      These kinds of patches are only making the code worse.
      
      Compilers don't care about the unnecessary check, but removing it makes
      the code less obvious to a human.  The declaration of 'len' is more than
      80 lines earlier, so a human won't easily see that 'len' is of an
      unsigned type, so to a human the range check that checks against zero is
      much more explicit and obvious.
      
      Any tool that complains about a range check like this just because the
      variable is unsigned is actively detrimental, and should be ignored.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d0e71e23
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 5af9d1cf
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
      
       - reduce overhead of fsnotify infrastructure when no permission events
         are in use
      
       - a few small cleanups
      
      * tag 'fsnotify_for_v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: fix UAF from FS_ERROR event on a shutting down filesystem
        fsnotify: optimize the case of no permission event watchers
        fsnotify: use an enum for group priority constants
        fsnotify: move s_fsnotify_connectors into fsnotify_sb_info
        fsnotify: lazy attach fsnotify_sb_info state to sb
        fsnotify: create helper fsnotify_update_sb_watchers()
        fsnotify: pass object pointer and type to fsnotify mark helpers
        fanotify: merge two checks regarding add of ignore mark
        fsnotify: create a wrapper fsnotify_find_inode_mark()
        fsnotify: create helpers to get sb and connp from object
        fsnotify: rename fsnotify_{get,put}_sb_connectors()
        fsnotify: Avoid -Wflex-array-member-not-at-end warning
        fanotify: remove unneeded sub-zero check for unsigned value
      5af9d1cf
    • Thorsten Blum's avatar
      Coccinelle: pm_runtime: Fix grammar in comment · 88a1fc21
      Thorsten Blum authored
      s/does not use unnecessary/do not unnecessarily use/
      Signed-off-by: default avatarThorsten Blum <thorsten.blum@toblux.com>
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@inria.fr>
      88a1fc21
    • Ricardo Ribalda's avatar
      coccinelle: misc: minmax: Suppress reports for err returns · e4655196
      Ricardo Ribalda authored
      Most of the people prefer:
      
      return ret < 0 ? ret: 0;
      
      than:
      
      return min(ret, 0);
      
      Let's tweak the cocci file to ignore those lines completely.
      Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@inria.fr>
      e4655196