1. 21 May, 2024 5 commits
    • 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
    • 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
    • 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
  2. 20 May, 2024 25 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
    • 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
    • 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
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.10-2024-05-20' of git://git.infradead.org/users/hch/dma-mapping · daa12112
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - optimize DMA sync calls when they are no-ops (Alexander Lobakin)
      
       - fix swiotlb padding for untrusted devices (Michael Kelley)
      
       - add documentation for swiotb (Michael Kelley)
      
      * tag 'dma-mapping-6.10-2024-05-20' of git://git.infradead.org/users/hch/dma-mapping:
        dma: fix DMA sync for drivers not calling dma_set_mask*()
        xsk: use generic DMA sync shortcut instead of a custom one
        page_pool: check for DMA sync shortcut earlier
        page_pool: don't use driver-set flags field directly
        page_pool: make sure frag API fields don't span between cachelines
        iommu/dma: avoid expensive indirect calls for sync operations
        dma: avoid redundant calls for sync operations
        dma: compile-out DMA sync op calls when not used
        iommu/dma: fix zeroing of bounce buffer padding used by untrusted devices
        swiotlb: remove alloc_size argument to swiotlb_tbl_map_single()
        Documentation/core-api: add swiotlb documentation
      daa12112
    • Linus Torvalds's avatar
      Merge tag 'mips_6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 6e51b4b5
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
       "Just cleanups and fixes"
      
      * tag 'mips_6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (24 commits)
        MIPS: Take in account load hazards for HI/LO restoring
        MIPS: SGI-IP27: use WARN_ON() output
        MIPS: SGI-IP27: fix -Wunused-variable in arch_init_irq()
        MIPS: SGI-IP27: micro-optimize arch_init_irq()
        mips: dts: ralink: mt7621: reorder the attributes of the root node
        mips: dts: ralink: mt7621: reorder pci?_phy attributes
        mips: dts: ralink: mt7621: reorder pcie node attributes and children
        mips: dts: ralink: mt7621: reorder ethernet node attributes and kids
        mips: dts: ralink: mt7621: reorder gic node attributes
        mips: dts: ralink: mt7621: reorder mmc node attributes
        mips: dts: ralink: mt7621: move pinctrl and sort its children
        mips: dts: ralink: mt7621: reorder spi0 node attributes
        mips: dts: ralink: mt7621: reorder i2c node attributes
        mips: dts: ralink: mt7621: reorder gpio node attributes
        mips: dts: ralink: mt7621: reorder sysc node attributes
        mips: dts: ralink: mt7621: reorder mmc regulator attributes
        mips: dts: ralink: mt7621: reorder cpuintc node attributes
        mips: dts: ralink: mt7621: reorder cpu node attributes
        MIPS: Add prototypes for plat_post_relocation() and relocate_kernel()
        MIPS: Octeon: Add PCIe link status check
        ...
      6e51b4b5
    • Linus Torvalds's avatar
      Merge tag 'dmi-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 80f9d902
      Linus Torvalds authored
      Pull dmi updates from Jean Delvare:
       "Bug fixes:
      
         - KCFI violation in dmi-id
      
         - stop decoding on broken (short) DMI table entry
      
        New features:
      
         - print info about populated memory slots at boot"
      
      * tag 'dmi-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        firmware: dmi: Add info message for number of populated and total memory slots
        firmware: dmi: Stop decoding on broken entry
        firmware: dmi-id: add a release callback function
      80f9d902
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-6.10-rc1' of git://www.linux-watchdog.org/linux-watchdog · a913d94e
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add Lenovo SE10 platform Watchdog Driver
      
       - Other small fixes and improvements
      
      * tag 'linux-watchdog-6.10-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: LENOVO_SE10_WDT should depend on X86 && DMI
        watchdog: sa1100: Fix PTR_ERR_OR_ZERO() vs NULL check in sa1100dog_probe()
        watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin
        watchdog: add HAS_IOPORT dependencies
        watchdog/wdt-main: Use cpumask_of() to avoid cpumask var on stack
        watchdog: bd9576: Drop "always-running" property
        watchdog: mtx-1: drop driver owner assignment
        watchdog: cpu5wdt.c: Fix use-after-free bug caused by cpu5wdt_trigger
        watchdog: lenovo_se10_wdt: Watchdog driver for Lenovo SE10 platform
      a913d94e
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 0a07e090
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "i2c core removes an argument from the i2c_mux_add_adapter() call to
        further deprecate class based I2C device instantiation. All users are
        converted, too.
      
        Other that that, Andi collected a number if I2C host driver patches.
        Those merges have their own description"
      
      * tag 'i2c-for-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (72 commits)
        power: supply: sbs-manager: Remove class argument from i2c_mux_add_adapter()
        i2c: mux: Remove class argument from i2c_mux_add_adapter()
        i2c: synquacer: Fix an error handling path in synquacer_i2c_probe()
        i2c: acpi: Unbind mux adapters before delete
        i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()
        i2c: pxa: use 'time_left' variable with wait_event_timeout()
        i2c: s3c2410: use 'time_left' variable with wait_event_timeout()
        i2c: rk3x: use 'time_left' variable with wait_event_timeout()
        i2c: qcom-geni: use 'time_left' variable with wait_for_completion_timeout()
        i2c: jz4780: use 'time_left' variable with wait_for_completion_timeout()
        i2c: synquacer: use 'time_left' variable with wait_for_completion_timeout()
        i2c: stm32f7: use 'time_left' variable with wait_for_completion_timeout()
        i2c: stm32f4: use 'time_left' variable with wait_for_completion_timeout()
        i2c: st: use 'time_left' variable with wait_for_completion_timeout()
        i2c: omap: use 'time_left' variable with wait_for_completion_timeout()
        i2c: imx-lpi2c: use 'time_left' variable with wait_for_completion_timeout()
        i2c: hix5hd2: use 'time_left' variable with wait_for_completion_timeout()
        i2c: exynos5: use 'time_left' variable with wait_for_completion_timeout()
        i2c: digicolor: use 'time_left' variable with wait_for_completion_timeout()
        i2c: amd-mp2-plat: use 'time_left' variable with wait_for_completion_timeout()
        ...
      0a07e090
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 2de68638
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "Core changes:
      
         - Use DEFINE_SHOW_STORE_ATTRIBUTE() in debugfs entries
      
        New drivers:
      
         - Qualcomm PMIH0108, PMD8028, PMXR2230 and PM6450 pin control support
      
        Improvements:
      
         - Serious cleanup of the recently merged aw9523 driver
      
         - Fix PIN_CONFIG_BIAS_DISABLE handling in pinctrl-single
      
         - A slew of device tree binding cleanups
      
         - Support a bus clock in the Samsung driver"
      
      * tag 'pinctrl-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (48 commits)
        pinctrl: bcm2835: Make pin freeing behavior configurable
        dt-bindings: pinctrl: qcom,pmic-gpio: Fix "comptaible" typo for PMIH0108
        pinctrl: qcom: pinctrl-sm7150: Fix sdc1 and ufs special pins regs
        dt-bindings: pinctrl: mediatek: mt7622: add "antsel" function
        dt-bindings: pinctrl: mediatek: mt7622: fix array properties
        pinctrl: samsung: drop redundant drvdata assignment
        pinctrl: samsung: support a bus clock
        dt-bindings: pinctrl: samsung: google,gs101-pinctrl needs a clock
        pinctrl: renesas: rzg2l: Limit 2.5V power supply to Ethernet interfaces
        pinctrl: renesas: r8a779h0: Add INTC-EX pins, groups, and function
        pinctrl: renesas: r8a779h0: Fix IRQ suffixes
        pinctrl: renesas: rzg2l: Remove extra space in function parameter
        dt-bindings: pinctrl: qcom,pmic-mpp: add support for PM8901
        pinctrl: pinconf-generic: print hex value
        pinctrl: realtek: fix module autoloading
        pinctrl: qcom: sm7150: fix module autoloading
        pinctrl: loongson2: fix module autoloading
        pinctrl: mediatek: fix module autoloading
        pinctrl: freescale: imx8ulp: fix module autoloading
        dt-bindings: pinctrl: qcom,pmic-gpio: Allow gpio-hog nodes
        ...
      2de68638
    • Linus Torvalds's avatar
      Merge tag 'v6.10-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 568c98a0
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "Fix a bug in the new ecc P521 code as well as a buggy fix in qat"
      
      * tag 'v6.10-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes
        crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
      568c98a0
    • Shuah Khan's avatar
      Revert "selftests/cgroup: Drop define _GNU_SOURCE" · a97853f2
      Shuah Khan authored
      This reverts commit c1457d9a.
      
      The framework change to add D_GNU_SOURCE to KHDR_INCLUDES
      to Makefile, lib.mk, and kselftest_harness.h is reverted
      as it is causing build failures and warnings.
      
      Revert this change as this change depends on the framework
      change.
      Reported-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      a97853f2
    • Shuah Khan's avatar
      Revert "selftests/sgx: Include KHDR_INCLUDES in Makefile" · 3da16402
      Shuah Khan authored
      This reverts commit 2c3b8f8f.
      
      The framework change to add D_GNU_SOURCE to KHDR_INCLUDES
      to Makefile, lib.mk, and kselftest_harness.h is reverted
      as it is causing build failures and warnings.
      
      Revert this change as this change depends on the framework
      change.
      Reported-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      3da16402
    • Shuah Khan's avatar
      Revert "selftests: Compile kselftest headers with -D_GNU_SOURCE" · cee27ae5
      Shuah Khan authored
      This reverts commit daef47b8.
      
      This framework change to add D_GNU_SOURCE to KHDR_INCLUDES
      to Makefile, lib.mk, and kselftest_harness.h is causing build
      failures and warnings.
      
      Revert this change.
      Reported-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      cee27ae5
  3. 19 May, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of... · eb6a9339
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-mm updates from Andrew Morton:
       "Mainly singleton patches, documented in their respective changelogs.
        Notable series include:
      
         - Some maintenance and performance work for ocfs2 in Heming Zhao's
           series "improve write IO performance when fragmentation is high".
      
         - Some ocfs2 bugfixes from Su Yue in the series "ocfs2 bugs fixes
           exposed by fstests".
      
         - kfifo header rework from Andy Shevchenko in the series "kfifo:
           Clean up kfifo.h".
      
         - GDB script fixes from Florian Rommel in the series "scripts/gdb:
           Fixes for $lx_current and $lx_per_cpu".
      
         - After much discussion, a coding-style update from Barry Song
           explaining one reason why inline functions are preferred over
           macros. The series is "codingstyle: avoid unused parameters for a
           function-like macro""
      
      * tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (62 commits)
        fs/proc: fix softlockup in __read_vmcore
        nilfs2: convert BUG_ON() in nilfs_finish_roll_forward() to WARN_ON()
        scripts: checkpatch: check unused parameters for function-like macro
        Documentation: coding-style: ask function-like macros to evaluate parameters
        nilfs2: use __field_struct() for a bitwise field
        selftests/kcmp: remove unused open mode
        nilfs2: remove calls to folio_set_error() and folio_clear_error()
        kernel/watchdog_perf.c: tidy up kerneldoc
        watchdog: allow nmi watchdog to use raw perf event
        watchdog: handle comma separated nmi_watchdog command line
        nilfs2: make superblock data array index computation sparse friendly
        squashfs: remove calls to set the folio error flag
        squashfs: convert squashfs_symlink_read_folio to use folio APIs
        scripts/gdb: fix detection of current CPU in KGDB
        scripts/gdb: make get_thread_info accept pointers
        scripts/gdb: fix parameter handling in $lx_per_cpu
        scripts/gdb: fix failing KGDB detection during probe
        kfifo: don't use "proxy" headers
        media: stih-cec: add missing io.h
        media: rc: add missing io.h
        ...
      eb6a9339
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-05-19' of https://evilpiepirate.org/git/bcachefs · 16dbfae8
      Linus Torvalds authored
      Pull bcachefs updates from Kent Overstreet:
      
       - More safety fixes, primarily found by syzbot
      
       - Run the upgrade/downgrade paths in nochnages mode. Nochanges mode is
         primarily for testing fsck/recovery in dry run mode, so it shouldn't
         change anything besides disabling writes and holding dirty metadata
         in memory.
      
         The idea here was to reduce the amount of activity if we can't write
         anything out, so that bringing up a filesystem in "super ro" mode
         would be more lilkely to work for data recovery - but norecovery is
         the correct option for this.
      
       - btree_trans->locked; we now track whether a btree_trans has any btree
         nodes locked, and this is used for improved assertions related to
         trans_unlock() and trans_relock(). We'll also be using it for
         improving how we work with lockdep in the future: we don't want
         lockdep to be tracking individual btree node locks because we take
         too many for lockdep to track, and it's not necessary since we have a
         cycle detector.
      
       - Trigger improvements that are prep work for online fsck
      
       - BTREE_TRIGGER_check_repair; this regularizes how we do some repair
         work for extents that goes with running triggers in fsck, and fixes
         some subtle issues with transaction restarts there.
      
       - bch2_snapshot_equiv() has now been ripped out of fsck.c; snapshot
         equivalence classes are for when snapshot deletion leaves behind
         redundant snapshot nodes, but snapshot deletion now cleans this up
         right away, so the abstraction doesn't need to leak.
      
       - Improvements to how we resume writing to the journal in recovery. The
         code for picking the new place to write when reading the journal is
         greatly simplified and we also store the position in the superblock
         for when we don't read the journal; this means that we preserve more
         of the journal for list_journal debugging.
      
       - Improvements to sysfs btree_cache and btree_node_cache, for debugging
         memory reclaim.
      
       - We now detect when we've blocked for 10 seconds on the allocator in
         the write path and dump some useful info.
      
       - Safety fixes for devices references: this is a big series that
         changes almost all device lookups to properly check if the device
         exists and take a reference to it.
      
         Previously we assumed that if a bkey exists that references a device
         then the device must exist, and this was enforced in .invalid
         methods, but this was incorrect because it meant device removal
         relied on accounting being correct to not leave keys pointing to
         invalid devices, and that's not something we can assume.
      
         Getting the "pointer to invalid device" checks out of our .invalid()
         methods fixes some long standing device removal bugs; the only
         outstanding bug with device removal now is a race between the discard
         path and deleting alloc info, which should be easily fixed.
      
       - The allocator now prefers not to expand the new
         member_info.btree_allocated bitmap, meaning if repair ever requires
         scanning for btree nodes (because of a corrupt interior nodes) we
         won't have to scan the whole device(s).
      
       - New coding style document, which among other things talks about the
         correct usage of assertions
      
      * tag 'bcachefs-2024-05-19' of https://evilpiepirate.org/git/bcachefs: (155 commits)
        bcachefs: add no_invalid_checks flag
        bcachefs: add counters for failed shrinker reclaim
        bcachefs: Fix sb_field_downgrade validation
        bcachefs: Plumb bch_validate_flags to sb_field_ops.validate()
        bcachefs: s/bkey_invalid_flags/bch_validate_flags
        bcachefs: fsync() should not return -EROFS
        bcachefs: Invalid devices are now checked for by fsck, not .invalid methods
        bcachefs: kill bch2_dev_bkey_exists() in bch2_check_fix_ptrs()
        bcachefs: kill bch2_dev_bkey_exists() in bch2_read_endio()
        bcachefs: bch2_dev_get_ioref() checks for device not present
        bcachefs: bch2_dev_get_ioref2(); io_read.c
        bcachefs: bch2_dev_get_ioref2(); debug.c
        bcachefs: bch2_dev_get_ioref2(); journal_io.c
        bcachefs: bch2_dev_get_ioref2(); io_write.c
        bcachefs: bch2_dev_get_ioref2(); btree_io.c
        bcachefs: bch2_dev_get_ioref2(); backpointers.c
        bcachefs: bch2_dev_get_ioref2(); alloc_background.c
        bcachefs: for_each_bset() declares loop iter
        bcachefs: Move BCACHEFS_STATFS_MAGIC value to UAPI magic.h
        bcachefs: Improve sysfs internal/btree_cache
        ...
      16dbfae8
    • Linus Torvalds's avatar
      Merge tag 'turbostat-for-Linux-6.10-merge-window' of... · a90f1cd1
      Linus Torvalds authored
      Merge tag 'turbostat-for-Linux-6.10-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
      
      Pull turbostat updates from Len Brown:
      
       - Survive sparse die id's seen in Linux-6.9
      
       - Handle clustered-uncore topology in new/upcoming hardware
      
       - For non-root use, add ability to see software C-state counters
      
       - Enable reading core and package hardware cstate via perf, and prefer
         perf over the MSR driver access for these counters
      
      * tag 'turbostat-for-Linux-6.10-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: version 2024.05.10
        tools/power turbostat: Ignore pkg_cstate_limit when it is not available
        tools/power turbostat: Fix order of strings in pkg_cstate_limit_strings
        tools/power turbostat: Read Package-cstates via perf
        tools/power turbostat: Read Core-cstates via perf
        tools/power turbostat: Avoid possible memory corruption due to sparse topology IDs
        tools/power turbostat: Add columns for clustered uncore frequency
        tools/power turbostat: Enable non-privileged users to read sysfs counters
        tools/power turbostat: Replace _Static_assert with BUILD_BUG_ON
        tools/power turbostat: Add ARL-H support
        tools/power turbostat: Enhance ARL/LNL support
        tools/power turbostat: Survive sparse die_id
        tools/power turbostat: Remember global max_die_id
        tools/power turbostat: Harden probe_intel_uncore_frequency()
        tools/power turbostat: Add "snapshot:" Makefile target
      a90f1cd1
    • Linus Torvalds's avatar
      Merge tag 'kgdb-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · a7605628
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "Nine patches this cycle and they split into just three topics:
      
         - Adopt coccinelle's recommendation to adopt str_plural()
      
         - A set of seven patches to refactor kdb_read() to improve both code
           clarity and its discipline with respect to fixed size buffers.
      
           This isn't just a refactor. Between them these also fix a cursor
           movement redraw problem and two buffer overflows (one latent and
           one real, albeit difficult to tickle).
      
         - Fix an NMI-safety problem when enqueuing kdb's keyboard reset code
      
        I wrote eight of the nine patches in this collection so many thanks to
        Doug Anderson for the reviews. The changes that affects
        drivers/tty/serial is acked by Greg KH"
      
      * tag 'kgdb-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        serial: kgdboc: Fix NMI-safety problems from keyboard reset code
        kdb: Simplify management of tmpbuffer in kdb_read()
        kdb: Replace double memcpy() with memmove() in kdb_read()
        kdb: Use format-specifiers rather than memset() for padding in kdb_read()
        kdb: Merge identical case statements in kdb_read()
        kdb: Fix console handling when editing and tab-completing commands
        kdb: Use format-strings rather than '\0' injection in kdb_read()
        kdb: Fix buffer overflow during tab-complete
        kdb: Use str_plural() to fix Coccinelle warning
      a7605628
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 41c14f1a
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
      
       - Fix a NOP-patching bug that resulted in valid but suboptimal
         NOP sequences in certain cases
      
       - Fix build warnings related to fall-through control flow
      
      * tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/alternatives: Use the correct length when optimizing NOPs
        x86/boot: Address clang -Wimplicit-fallthrough in vsprintf()
        x86/boot: Add a fallthrough annotation
      41c14f1a
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8dde191a
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
      
       - Fix a sched_balance_newidle setting bug
      
       - Fix bug in the setting of /sys/fs/cgroup/test/cpu.max.burst
      
       - Fix variable-shadowing build warning
      
       - Extend sched-domains debug output
      
       - Fix documentation
      
       - Fix comments
      
      * tag 'sched-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Fix incorrect initialization of the 'burst' parameter in cpu_max_write()
        sched/fair: Remove stale FREQUENCY_UTIL comment
        sched/fair: Fix initial util_avg calculation
        docs: cgroup-v1: Clarify that domain levels are system-specific
        sched/debug: Dump domains' level
        sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
        arch/topology: Fix variable naming to avoid shadowing
      8dde191a
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fe0d43f2
      Linus Torvalds authored
      Pull perf event updates from Ingo Molnar:
      
       - Extend the x86 instruction decoder with APX and
         other new instructions
      
       - Misc cleanups
      
      * tag 'perf-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/cstate: Remove unused 'struct perf_cstate_msr'
        perf/x86/rapl: Rename 'maxdie' to nr_rapl_pmu and 'dieid' to rapl_pmu_idx
        x86/insn: Add support for APX EVEX instructions to the opcode map
        x86/insn: Add support for APX EVEX to the instruction decoder logic
        x86/insn: x86/insn: Add support for REX2 prefix to the instruction decoder opcode map
        x86/insn: Add support for REX2 prefix to the instruction decoder logic
        x86/insn: Add misc new Intel instructions
        x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS
        x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
        x86/insn: Add Key Locker instructions to the opcode map
      fe0d43f2
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 61307b7b
      Linus Torvalds authored
      Pull mm updates from Andrew Morton:
       "The usual shower of singleton fixes and minor series all over MM,
        documented (hopefully adequately) in the respective changelogs.
        Notable series include:
      
         - Lucas Stach has provided some page-mapping cleanup/consolidation/
           maintainability work in the series "mm/treewide: Remove pXd_huge()
           API".
      
         - In the series "Allow migrate on protnone reference with
           MPOL_PREFERRED_MANY policy", Donet Tom has optimized mempolicy's
           MPOL_PREFERRED_MANY mode, yielding almost doubled performance in
           one test.
      
         - In their series "Memory allocation profiling" Kent Overstreet and
           Suren Baghdasaryan have contributed a means of determining (via
           /proc/allocinfo) whereabouts in the kernel memory is being
           allocated: number of calls and amount of memory.
      
         - Matthew Wilcox has provided the series "Various significant MM
           patches" which does a number of rather unrelated things, but in
           largely similar code sites.
      
         - In his series "mm: page_alloc: freelist migratetype hygiene"
           Johannes Weiner has fixed the page allocator's handling of
           migratetype requests, with resulting improvements in compaction
           efficiency.
      
         - In the series "make the hugetlb migration strategy consistent"
           Baolin Wang has fixed a hugetlb migration issue, which should
           improve hugetlb allocation reliability.
      
         - Liu Shixin has hit an I/O meltdown caused by readahead in a
           memory-tight memcg. Addressed in the series "Fix I/O high when
           memory almost met memcg limit".
      
         - In the series "mm/filemap: optimize folio adding and splitting"
           Kairui Song has optimized pagecache insertion, yielding ~10%
           performance improvement in one test.
      
         - Baoquan He has cleaned up and consolidated the early zone
           initialization code in the series "mm/mm_init.c: refactor
           free_area_init_core()".
      
         - Baoquan has also redone some MM initializatio code in the series
           "mm/init: minor clean up and improvement".
      
         - MM helper cleanups from Christoph Hellwig in his series "remove
           follow_pfn".
      
         - More cleanups from Matthew Wilcox in the series "Various
           page->flags cleanups".
      
         - Vlastimil Babka has contributed maintainability improvements in the
           series "memcg_kmem hooks refactoring".
      
         - More folio conversions and cleanups in Matthew Wilcox's series:
      	"Convert huge_zero_page to huge_zero_folio"
      	"khugepaged folio conversions"
      	"Remove page_idle and page_young wrappers"
      	"Use folio APIs in procfs"
      	"Clean up __folio_put()"
      	"Some cleanups for memory-failure"
      	"Remove page_mapping()"
      	"More folio compat code removal"
      
         - David Hildenbrand chipped in with "fs/proc/task_mmu: convert
           hugetlb functions to work on folis".
      
         - Code consolidation and cleanup work related to GUP's handling of
           hugetlbs in Peter Xu's series "mm/gup: Unify hugetlb, part 2".
      
         - Rick Edgecombe has developed some fixes to stack guard gaps in the
           series "Cover a guard gap corner case".
      
         - Jinjiang Tu has fixed KSM's behaviour after a fork+exec in the
           series "mm/ksm: fix ksm exec support for prctl".
      
         - Baolin Wang has implemented NUMA balancing for multi-size THPs.
           This is a simple first-cut implementation for now. The series is
           "support multi-size THP numa balancing".
      
         - Cleanups to vma handling helper functions from Matthew Wilcox in
           the series "Unify vma_address and vma_pgoff_address".
      
         - Some selftests maintenance work from Dev Jain in the series
           "selftests/mm: mremap_test: Optimizations and style fixes".
      
         - Improvements to the swapping of multi-size THPs from Ryan Roberts
           in the series "Swap-out mTHP without splitting".
      
         - Kefeng Wang has significantly optimized the handling of arm64's
           permission page faults in the series
      	"arch/mm/fault: accelerate pagefault when badaccess"
      	"mm: remove arch's private VM_FAULT_BADMAP/BADACCESS"
      
         - GUP cleanups from David Hildenbrand in "mm/gup: consistently call
           it GUP-fast".
      
         - hugetlb fault code cleanups from Vishal Moola in "Hugetlb fault
           path to use struct vm_fault".
      
         - selftests build fixes from John Hubbard in the series "Fix
           selftests/mm build without requiring "make headers"".
      
         - Memory tiering fixes/improvements from Ho-Ren (Jack) Chuang in the
           series "Improved Memory Tier Creation for CPUless NUMA Nodes".
           Fixes the initialization code so that migration between different
           memory types works as intended.
      
         - David Hildenbrand has improved follow_pte() and fixed an errant
           driver in the series "mm: follow_pte() improvements and acrn
           follow_pte() fixes".
      
         - David also did some cleanup work on large folio mapcounts in his
           series "mm: mapcount for large folios + page_mapcount() cleanups".
      
         - Folio conversions in KSM in Alex Shi's series "transfer page to
           folio in KSM".
      
         - Barry Song has added some sysfs stats for monitoring multi-size
           THP's in the series "mm: add per-order mTHP alloc and swpout
           counters".
      
         - Some zswap cleanups from Yosry Ahmed in the series "zswap
           same-filled and limit checking cleanups".
      
         - Matthew Wilcox has been looking at buffer_head code and found the
           documentation to be lacking. The series is "Improve buffer head
           documentation".
      
         - Multi-size THPs get more work, this time from Lance Yang. His
           series "mm/madvise: enhance lazyfreeing with mTHP in madvise_free"
           optimizes the freeing of these things.
      
         - Kemeng Shi has added more userspace-visible writeback
           instrumentation in the series "Improve visibility of writeback".
      
         - Kemeng Shi then sent some maintenance work on top in the series
           "Fix and cleanups to page-writeback".
      
         - Matthew Wilcox reduces mmap_lock traffic in the anon vma code in
           the series "Improve anon_vma scalability for anon VMAs". Intel's
           test bot reported an improbable 3x improvement in one test.
      
         - SeongJae Park adds some DAMON feature work in the series
      	"mm/damon: add a DAMOS filter type for page granularity access recheck"
      	"selftests/damon: add DAMOS quota goal test"
      
         - Also some maintenance work in the series
      	"mm/damon/paddr: simplify page level access re-check for pageout"
      	"mm/damon: misc fixes and improvements"
      
         - David Hildenbrand has disabled some known-to-fail selftests ni the
           series "selftests: mm: cow: flag vmsplice() hugetlb tests as
           XFAIL".
      
         - memcg metadata storage optimizations from Shakeel Butt in "memcg:
           reduce memory consumption by memcg stats".
      
         - DAX fixes and maintenance work from Vishal Verma in the series
           "dax/bus.c: Fixups for dax-bus locking""
      
      * tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (426 commits)
        memcg, oom: cleanup unused memcg_oom_gfp_mask and memcg_oom_order
        selftests/mm: hugetlb_madv_vs_map: avoid test skipping by querying hugepage size at runtime
        mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_wp
        mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_fault
        selftests: cgroup: add tests to verify the zswap writeback path
        mm: memcg: make alloc_mem_cgroup_per_node_info() return bool
        mm/damon/core: fix return value from damos_wmark_metric_value
        mm: do not update memcg stats for NR_{FILE/SHMEM}_PMDMAPPED
        selftests: cgroup: remove redundant enabling of memory controller
        Docs/mm/damon/maintainer-profile: allow posting patches based on damon/next tree
        Docs/mm/damon/maintainer-profile: change the maintainer's timezone from PST to PT
        Docs/mm/damon/design: use a list for supported filters
        Docs/admin-guide/mm/damon/usage: fix wrong schemes effective quota update command
        Docs/admin-guide/mm/damon/usage: fix wrong example of DAMOS filter matching sysfs file
        selftests/damon: classify tests for functionalities and regressions
        selftests/damon/_damon_sysfs: use 'is' instead of '==' for 'None'
        selftests/damon/_damon_sysfs: find sysfs mount point from /proc/mounts
        selftests/damon/_damon_sysfs: check errors from nr_schemes file reads
        mm/damon/core: initialize ->esz_bp from damos_quota_init_priv()
        selftests/damon: add a test for DAMOS quota goal
        ...
      61307b7b
  4. 18 May, 2024 2 commits
    • Linus Torvalds's avatar
      Merge tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6 · 0450d208
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "An important fix to address recent netfs regression (data corruption)"
      
      * tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix data corruption in read after invalidate
      0450d208
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 7991c92f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - more folio conversion patches
      
       - add support for FS_IOC_GETFSSYSFSPATH
      
       - mballoc cleaups and add more kunit tests
      
       - sysfs cleanups and bug fixes
      
       - miscellaneous bug fixes and cleanups
      
      * tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: fix error pointer dereference in ext4_mb_load_buddy_gfp()
        jbd2: add prefix 'jbd2' for 'shrink_type'
        jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
        ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super()
        ext4: remove calls to to set/clear the folio error flag
        ext4: propagate errors from ext4_sb_bread() in ext4_xattr_block_cache_find()
        ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
        jbd2: remove redundant assignement to variable err
        ext4: remove the redundant folio_wait_stable()
        ext4: fix potential unnitialized variable
        ext4: convert ac_buddy_page to ac_buddy_folio
        ext4: convert ac_bitmap_page to ac_bitmap_folio
        ext4: convert ext4_mb_init_cache() to take a folio
        ext4: convert bd_buddy_page to bd_buddy_folio
        ext4: convert bd_bitmap_page to bd_bitmap_folio
        ext4: open coding repeated check in next_linear_group
        ext4: use correct criteria name instead stale integer number in comment
        ext4: call ext4_mb_mark_free_simple to free continuous bits in found chunk
        ext4: add test_mb_mark_used_cost to estimate cost of mb_mark_used
        ext4: keep "prefetch_grp" and "nr" consistent
        ...
      7991c92f