1. 03 Nov, 2023 7 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.7-1' of https://github.com/cminyard/linux-ipmi · e5760335
      Linus Torvalds authored
      Pull IPMI update from Corey Minyard:
       "Only one change, and I would normally just wait, but it will make the
        people trying to get rid of strncpy happy. Its a good change, anyway"
      
      * tag 'for-linus-6.7-1' of https://github.com/cminyard/linux-ipmi:
        ipmi: refactor deprecated strncpy
      e5760335
    • Linus Torvalds's avatar
      Merge tag 'leds-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · 431f1051
      Linus Torvalds authored
      Pull LED updates from Lee Jones:
       "Core Frameworks:
         - Add support for a bunch more colours
      
        New Drivers:
         - Add support for Kinetic KTD2026/7 RGB/White LEDs
      
        New Functionality:
         - Add support for device to enter HW Controlled Mode to Turris Omnia
           LEDs
         - Add support for HW Gamma Correction to Turris Omnia LEDs
      
        Fix-ups:
         - Apply new __counted_by() annotation to several data structures
           containing flexible arrays
         - Rid the return value from Platform's .remove() operation
         - Use *_cansleep() variants for instances were threads can sleep
         - Improve the semantics when setting the brightness
         - Generic clean-ups; code reduction, coding style, standard patterns
         - Replace strncpy() with strscpy()
         - Fix-up / add various documentation
         - Re-author the GPIO associated Trigger to use trigger-sources
         - Move to using standard APIs and helpers
         - Improve error checking
         - Stop using static GPIO bases
      
        Bug Fixes:
         - Fix Pointer to Enum casing warnings
         - Do not pretend that I2C backed device supports SMBUS
         - Ensure PWM LEDs are extinguished when disabled, rather than held in
           a state
         - Fix 'output may be truncated' warnings"
      
      * tag 'leds-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (43 commits)
        leds: lp5521: Add an error check in lp5521_post_init_device
        leds: gpio: Update headers
        leds: gpio: Remove unneeded assignment
        leds: gpio: Move temporary variable for struct device to gpio_led_probe()
        leds: gpio: Refactor code to use devm_gpiod_get_index_optional()
        leds: gpio: Utilise PTR_ERR_OR_ZERO()
        leds: gpio: Keep driver firmware interface agnostic
        leds: core: Refactor led_update_brightness() to use standard pattern
        leds: turris-omnia: Fix brightness setting and trigger activating
        leds: sc27xx: Move mutex_init() down
        leds: trigger: netdev: Move size check in set_device_name
        leds: Add ktd202x driver
        dt-bindings: leds: Add Kinetic KTD2026/2027 LED
        leds: core: Add more colors from DT bindings to led_colors
        dt-bindings: leds: Last color ID is now 14 (LED_COLOR_ID_LIME)
        leds: tca6507: Don't use fixed GPIO base
        leds: lp3952: Convert to use maple tree register cache
        leds: lm392x: Convert to use maple tree register cache
        leds: aw200xx: Convert to use maple tree register cache
        leds: lm3601x: Convert to use maple tree register cache
        ...
      431f1051
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 38984d78
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Functionality:
      
         - Add new Device Tree binding for Monolithic Power (MPS) MP3309C
           step-up converter
      
         - Document brightness-levels in bindings for; generic, LED and PWM
      
        Bug Fixes:
      
         - Ensure PWMs are disabled on .shutdown(), .suspend() and .remove()"
      
      * tag 'backlight-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        dt-bindings: backlight: Add brightness-levels related common properties
        backlight: pwm_bl: Disable PWM on shutdown, suspend and remove
        dt-bindings: backlight: Add MPS MP3309C
      38984d78
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 27bc0782
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core Frameworks:
         - Allow all MFD Cell properties to be filled in dynamically at
           runtime
         - Skip disabled device nodes and continue to look for subsequent
           devices
      
        New Device Support:
         - Add support for Lunar Lake-M PCI to Intel LPSS PCI
         - Add support for Denverton to Intel ICH LPC
      
        New Functionality:
         - Add support for Clocks to Texas Instruments TWL* Core
         - Add support for Interrupts to STMicroelectronics STM32 Timers
      
        Fix-ups:
         - Convert to new devm-* (managed) power-off API
         - Remove superfluous code
         - Bunch of Device Tree additions, conversions and adaptions
         - Simplify obtaining resources (memory, device data) using unified
           API helpers
         - Trivial coding-style / spelling type clean-ups
         - Constify / staticify changes
         - Expand or edit on existing documentation
         - Convert some Regmap configurations to use the Maple Tree cache
         - Apply new __counted_by() annotation to several data structures
           containing flexible arrays
         - Replace strncpy() with strscpy()
      
        Bug Fixes:
         - Remove double put creating reference imbalances
         - Ensure headphone/lineout detection gets set when booting with ACPI"
      
      * tag 'mfd-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits)
        mfd: lpc_ich: Mark *_gpio_offsets data with const
        spmi: rename spmi device lookup helper
        spmi: document spmi_device_from_of() refcounting
        dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema
        mfd: rk8xx: Add support for RK806 power off
        mfd: rk8xx: Add support for standard system-power-controller property
        dt-bindings: mfd: rk806: Allow system-power-controller property
        dt-bindings: mfd: rk8xx: Deprecate rockchip,system-power-controller
        dt-bindings: mfd: max8925: Convert to DT schema format
        mfd: Use i2c_get_match_data() in a selection of drivers
        mfd: Use device_get_match_data() in a bunch of drivers
        mfd: mc13xxx-spi/wm831x-spi: Use spi_get_device_match_data()
        mfd: motorola-cpcap: Drop unnecessary of_match_device() call
        mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs
        mfd: qcom-spmi-pmic: Switch to EXPORT_SYMBOL_GPL()
        mfd: qcom-spmi-pmic: Fix revid implementation
        mfd: qcom-spmi-pmic: Fix reference leaks in revid helper
        mfd: intel-m10-bmc: Change contact for ABI docs
        mfd: max8907: Convert to use maple tree register cache
        mfd: max77686: Convert to use maple tree register cache
        ...
      27bc0782
    • Linus Torvalds's avatar
      Merge tag 'sound-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · edd8e84a
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "Most of changes at this time are for ASoC, spread over ASoC core and
        drivers due to the API prefix standardization.
      
        Other than that, there have little change wrt API, rather lots of
        driver-specific updates and fixes.
      
        Some highlight below:
      
        ASoC:
         - Standardization of API prefix
         - GPIO API usage improvements
         - Support for HDA patches
         - Lots of work on SOF, including crash dump support
         - Fixes for noise when stopping some Sounwire CODECs
         - Support for AMD platforms with es83xx, AMD ACP 6.3 and 7.0, Awinc
           AT87390 and AW88399, many Intel platforms, many Mediatek platforms,
           Qualcomm SM6115 and SC7180 platforms, Richtek RTQ9128 and Texas
           Instruments TAS575x
      
        HD-audio and USB-audio:
         - Deferred probe support of audio component binding
         - More fixes and enhancements for Cirrus subcodecs
         - USB Scarlett2 mixer and McIntosh DSD quirk
      
        Others:
         - More enhancement of snd-aloop driver
         - Update MAINTAINERS entry for linux-sound mailing list"
      
      * tag 'sound-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (485 commits)
        ALSA: hda: cs35l41: Fix missing error code in cs35l41_smart_amp()
        ALSA: hda: cs35l41: mark cs35l41_verify_id() static
        ASoC: codecs: wsa883x: make use of new mute_unmute_on_trigger flag
        ASoC: soc-dai: add flag to mute and unmute stream during trigger
        ASoC: ams-delta.c: use component after check
        ASoC: amd: acp: select SND_SOC_AMD_ACP_LEGACY_COMMON for ACP63
        ASoC: codecs: aw88399: fix typo in Kconfig select
        ASoC: amd: acp: add ACPI dependency
        ASoC: Intel: avs: Add rt5514 machine board
        ASoC: Intel: avs: Add rt5514 machine board
        ALSA: scarlett2: Add missing check with firmware version control
        ALSA: virtio: use ack callback
        ALSA: scarlett2: Remap Level Meter values
        ALSA: scarlett2: Allow passing any output to line_out_remap()
        ALSA: scarlett2: Add support for reading firmware version
        ALSA: scarlett2: Rename Gen 3 config sets
        ALSA: scarlett2: Rename scarlett_gen2 to scarlett2
        ASoC: cs35l41: Detect CSPL errors when sending CSPL commands
        ALSA: hda: cs35l41: Check CSPL state after loading firmware
        ALSA: hda: cs35l41: Do not unload firmware before reset in system suspend
        ...
      edd8e84a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023110101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 4ea4ed22
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - fixes for crashes detected by CONFIG_KUNIT_ALL_TESTS in hid-uclogic
         driver (Jinjie Ruan)
      
       - HID selftests fixes and improvements (Benjamin Tissoires)
      
       - probe error handling path fixes in hid-nvidia-shield driver
         (Christophe JAILLET)
      
       - cleanup of LED handling in hid-nintendo (Martino Fontana)
      
       - big cleanup of logitech-hidpp probe code (Hans de Goede)
      
       - Suspend/Resume fix for USB Thinkpad Compact Keyboard (Jamie Lentin)
      
       - firmware detection improvement for Lenovo cptkbd (Mikhail
         Khvainitski)
      
       - IRQ shutdown and workqueue initialization fixes for hid-cp2112 driver
         (Danny Kaehn)
      
       - #ifdef CONFIG_PM removal from HID code (Thomas Weißschuh)
      
       - other assorted device-ID additions and quirks
      
      * tag 'for-linus-2023110101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (31 commits)
        HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
        HID: logitech-hidpp: Stop IO before calling hid_connect()
        HID: logitech-hidpp: Drop HIDPP_QUIRK_UNIFYING
        HID: logitech-hidpp: Drop delayed_work_cb()
        HID: logitech-hidpp: Fix connect event race
        HID: logitech-hidpp: Remove unused connected param from *_connect()
        HID: logitech-hidpp: Remove connected check for non-unifying devices
        HID: logitech-hidpp: Add hidpp_non_unifying_init() helper
        HID: logitech-hidpp: Move hidpp_overwrite_name() to before connect check
        HID: logitech-hidpp: Move g920_get_config() to just before hidpp_ff_init()
        HID: logitech-hidpp: Remove wtp_get_config() call from probe()
        HID: logitech-hidpp: Move get_wireless_feature_index() check to hidpp_connect_event()
        HID: logitech-hidpp: Revert "Don't restart communication if not necessary"
        HID: logitech-hidpp: Don't restart IO, instead defer hid_connect() only
        HID: rmi: remove #ifdef CONFIG_PM
        HID: multitouch: remove #ifdef CONFIG_PM
        HID: usbhid: remove #ifdef CONFIG_PM
        HID: core: remove #ifdef CONFIG_PM from hid_driver
        hid: lenovo: Resend all settings on reset_resume for compact keyboards
        HID: uclogic: Fix a work->entry not empty bug in __queue_work()
        ...
      4ea4ed22
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 27beb3ca
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Enumeration:
      
         - Use acpi_evaluate_dsm_typed() instead of open-coding _DSM
           evaluation to learn device characteristics (Andy Shevchenko)
      
         - Tidy multi-function header checks using new PCI_HEADER_TYPE_MASK
           definition (Ilpo Järvinen)
      
         - Simplify config access error checking in various drivers (Ilpo
           Järvinen)
      
         - Use pcie_capability_clear_word() (not
           pcie_capability_clear_and_set_word()) when only clearing (Ilpo
           Järvinen)
      
         - Add pci_get_base_class() to simplify finding devices using base
           class only (ignoring subclass and programming interface) (Sui
           Jingfeng)
      
         - Add pci_is_vga(), which includes ancient PCI_CLASS_NOT_DEFINED_VGA
           devices from before the Class Code was added to PCI (Sui Jingfeng)
      
         - Use pci_is_vga() for vgaarb, sysfs "boot_vga", virtio, qxl to
           include ancient VGA devices (Sui Jingfeng)
      
        Resource management:
      
         - Make pci_assign_unassigned_resources() non-init because sparc uses
           it after init (Randy Dunlap)
      
        Driver binding:
      
         - Retain .remove() and .probe() callbacks (previously __init) because
           sysfs may cause them to be called later (Uwe Kleine-König)
      
         - Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device, so
           it can be claimed by dwc3 instead (Vicki Pfau)
      
        PCI device hotplug:
      
         - Add Ampere Altra Attention Indicator extension driver for acpiphp
           (D Scott Phillips)
      
        Power management:
      
         - Quirk VideoPropulsion Torrent QN16e with longer delay after reset
           (Lukas Wunner)
      
         - Prevent users from overriding drivers that say we shouldn't use
           D3cold (Lukas Wunner)
      
         - Avoid PME from D3hot/D3cold for AMD Rembrandt and Phoenix USB4
           because wakeup interrupts from those states don't work if amd-pmc
           has put the platform in a hardware sleep state (Mario Limonciello)
      
        IOMMU:
      
         - Disable ATS for Intel IPU E2000 devices with invalidation message
           endianness erratum (Bartosz Pawlowski)
      
        Error handling:
      
         - Factor out interrupt enable/disable into helpers (Kai-Heng Feng)
      
        Peer-to-peer DMA:
      
         - Fix flexible-array usage in struct pci_p2pdma_pagemap in case we
           ever use pagemaps with multiple entries (Gustavo A. R. Silva)
      
        ASPM:
      
         - Revert a change that broke when drivers disabled L1 and users later
           enabled an L1.x substate via sysfs, and fix a similar issue when
           users disabled L1 via sysfs (Heiner Kallweit)
      
        Endpoint framework:
      
         - Fix double free in __pci_epc_create() (Dan Carpenter)
      
         - Use IS_ERR_OR_NULL() to simplify endpoint core (Ruan Jinjie)
      
        Cadence PCIe controller driver:
      
         - Drop unused "is_rc" member (Li Chen)
      
        Freescale Layerscape PCIe controller driver:
      
         - Enable 64-bit addressing in endpoint mode (Guanhua Gao)
      
        Intel VMD host bridge driver:
      
         - Fix multi-function header check (Ilpo Järvinen)
      
        Microsoft Hyper-V host bridge driver:
      
         - Annotate struct hv_dr_state with __counted_by (Kees Cook)
      
        NVIDIA Tegra194 PCIe controller driver:
      
         - Drop setting of LNKCAP_MLW (max link width) since dw_pcie_setup()
           already does this via dw_pcie_link_set_max_link_width() (Yoshihiro
           Shimoda)
      
        Qualcomm PCIe controller driver:
      
         - Use PCIE_SPEED2MBS_ENC() to simplify encoding of link speed
           (Manivannan Sadhasivam)
      
         - Add a .write_dbi2() callback so DBI2 register writes, e.g., for
           setting the BAR size, work correctly (Manivannan Sadhasivam)
      
         - Enable ASPM for platforms that use 1.9.0 ops, because the PCI core
           doesn't enable ASPM states that haven't been enabled by the
           firmware (Manivannan Sadhasivam)
      
        Renesas R-Car Gen4 PCIe controller driver:
      
         - Add DesignWare core support (set max link width, EDMA_UNROLL flag,
           .pre_init(), .deinit(), etc) for use by R-Car Gen4 driver
           (Yoshihiro Shimoda)
      
         - Add driver and DT schema for DesignWare-based Renesas R-Car Gen4
           controller in both host and endpoint mode (Yoshihiro Shimoda)
      
        Xilinx NWL PCIe controller driver:
      
         - Update ECAM size to support 256 buses (Thippeswamy Havalige)
      
         - Stop setting bridge primary/secondary/subordinate bus numbers,
           since PCI core does this (Thippeswamy Havalige)
      
        Xilinx XDMA controller driver:
      
         - Add driver and DT schema for Zynq UltraScale+ MPSoCs devices with
           Xilinx XDMA Soft IP (Thippeswamy Havalige)
      
        Miscellaneous:
      
         - Use FIELD_GET()/FIELD_PREP() to simplify and reduce use of _SHIFT
           macros (Ilpo Järvinen, Bjorn Helgaas)
      
         - Remove logic_outb(), _outw(), outl() duplicate declarations (John
           Sanpe)
      
         - Replace unnecessary UTF-8 in Kconfig help text because menuconfig
           doesn't render it correctly (Liu Song)"
      
      * tag 'pci-v6.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (102 commits)
        PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers
        PCI: Simplify pcie_capability_clear_and_set_word() to ..._clear_word()
        PCI: endpoint: Fix double free in __pci_epc_create()
        PCI: xilinx-xdma: Add Xilinx XDMA Root Port driver
        dt-bindings: PCI: xilinx-xdma: Add schemas for Xilinx XDMA PCIe Root Port Bridge
        PCI: xilinx-cpm: Move IRQ definitions to a common header
        PCI: xilinx-nwl: Modify ECAM size to enable support for 256 buses
        PCI: xilinx-nwl: Rename the NWL_ECAM_VALUE_DEFAULT macro
        dt-bindings: PCI: xilinx-nwl: Modify ECAM size in the DT example
        PCI: xilinx-nwl: Remove redundant code that sets Type 1 header fields
        PCI: hotplug: Add Ampere Altra Attention Indicator extension driver
        PCI/AER: Factor out interrupt toggling into helpers
        PCI: acpiphp: Allow built-in drivers for Attention Indicators
        PCI/portdrv: Use FIELD_GET()
        PCI/VC: Use FIELD_GET()
        PCI/PTM: Use FIELD_GET()
        PCI/PME: Use FIELD_GET()
        PCI/ATS: Use FIELD_GET()
        PCI/ATS: Show PASID Capability register width in bitmasks
        PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common()
        ...
      27beb3ca
  2. 02 Nov, 2023 24 commits
    • Linus Torvalds's avatar
      Merge tag '6.7-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd · 4652b8e4
      Linus Torvalds authored
      Pull smb server updates from Steve French:
       "Seven ksmbd server fixes:
      
         - logoff improvement for multichannel bound connections
      
         - unicode fix for surrogate pairs
      
         - RDMA (smbdirect) fix for IB devices
      
         - fix locking deadlock in kern_path_create during rename
      
         - iov memory allocation fix
      
         - two minor cleanup patches (doc cleanup, and unused variable)"
      
      * tag '6.7-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: no need to wait for binded connection termination at logoff
        ksmbd: add support for surrogate pair conversion
        ksmbd: fix missing RDMA-capable flag for IPoIB device in ksmbd_rdma_capable_netdev()
        ksmbd: fix recursive locking in vfs helpers
        ksmbd: fix kernel-doc comment of ksmbd_vfs_setxattr()
        ksmbd: reorganize ksmbd_iov_pin_rsp()
        ksmbd: Remove unused field in ksmbd_user struct
      4652b8e4
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 71fb7b32
      Linus Torvalds authored
      Pull fsnotify update from Jan Kara:
       "This time just one tiny cleanup for fsnotify"
      
      * tag 'fsnotify_for_v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: delete useless parenthesis in FANOTIFY_INLINE_FH macro
      71fb7b32
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 5efad0a7
      Linus Torvalds authored
      Pull ext2, udf, and quota updates from Jan Kara:
      
       - conversion of ext2 directory code to use folios
      
       - cleanups in UDF declarations
      
       - bugfix for quota interaction with file encryption
      
      * tag 'fs_for_v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Convert ext2_prepare_chunk and ext2_commit_chunk to folios
        ext2: Convert ext2_make_empty() to use a folio
        ext2: Convert ext2_unlink() and ext2_rename() to use folios
        ext2: Convert ext2_delete_entry() to use folios
        ext2: Convert ext2_empty_dir() to use a folio
        ext2: Convert ext2_add_link() to use a folio
        ext2: Convert ext2_readdir to use a folio
        ext2: Add ext2_get_folio()
        ext2: Convert ext2_check_page to ext2_check_folio
        highmem: Add folio_release_kmap()
        udf: Avoid unneeded variable length array in struct fileIdentDesc
        udf: Annotate struct udf_bitmap with __counted_by
        quota: explicitly forbid quota files from being encrypted
      5efad0a7
    • Linus Torvalds's avatar
      Merge tag 'jfs-6.7' of https://github.com/kleikamp/linux-shaggy · e9806ff8
      Linus Torvalds authored
      Pull jfs updates from Dave Kleikamp:
       "Minor stability improvements"
      
      * tag 'jfs-6.7' of https://github.com/kleikamp/linux-shaggy:
        jfs: define xtree root and page independently
        jfs: fix array-index-out-of-bounds in diAlloc
        jfs: fix array-index-out-of-bounds in dbFindLeaf
        fs/jfs: Add validity check for db_maxag and db_agpref
        fs/jfs: Add check for negative db_l2nbperpage
      e9806ff8
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · dc737f11
      Linus Torvalds authored
      Pull exfat updates from Namjae Jeon:
      
       - Add ioctls to get and set file attribute that is used in
         the fatattr util
      
       - Add zero_size_dir mount option to avoid allocating a cluster
         when creating a directory
      
      * tag 'exfat-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: support create zero-size directory
        exfat: support handle zero-size directory
        exfat: add ioctls for accessing attributes
      dc737f11
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 87a201b4
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "Nothing exciting lands for this cycle, since we're still busying in
        developing support for sub-page blocks and large-folios of compressed
        data for new scenarios on Android.
      
        In this cycle, MicroLZMA format is marked as stable, and there are
        minor cleanups around documentation and codebase. In addition, it also
        fixes incorrect lockref usage in erofs_insert_workgroup().
      
        Summary:
      
         - Fix inode metadata space layout documentation
      
         - Avoid warning for MicroLZMA format anymore
      
         - Fix erofs_insert_workgroup() lockref usage
      
         - Some cleanups"
      
      * tag 'erofs-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: fix erofs_insert_workgroup() lockref usage
        erofs: tidy up redundant includes
        erofs: get rid of ROOT_NID()
        erofs: simplify compression configuration parser
        erofs: don't warn MicroLZMA format anymore
        erofs: fix inode metadata space layout description in documentation
      87a201b4
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 57aff997
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Cleanup ext4's multi-block allocator, including adding some unit
        tests, as well as cleaning how we update the backup superblock after
        online resizes or updating the label or uuid.
      
        Optimize handling of released data blocks in ext4's commit machinery
        to avoid a potential lock contention on s_md_lock spinlock.
      
        Fix a number of ext4 bugs:
      
         - fix race between writepages and remount
      
         - fix racy may inline data check in dio write
      
         - add missed brelse in an error path in update_backups
      
         - fix umask handling when ACL support is disabled
      
         - fix lost EIO error when a journal commit races with a fsync of the
           blockdev
      
         - fix potential improper i_size when there is a crash right after an
           O_SYNC direct write.
      
         - check extent node for validity before potentially using what might
           be an invalid pointer
      
         - fix potential stale data exposure when writing to an unwritten
           extent and the file system is nearly out of space
      
         - fix potential accounting error around block reservations when
           writing partial delayed allocation writes to a bigalloc cluster
      
         - avoid memory allocation failure when tracking partial delayed
           allocation writes to a bigalloc cluster
      
         - fix various debugging print messages"
      
      * tag 'ext4_for_linus-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (41 commits)
        ext4: properly sync file size update after O_SYNC direct IO
        ext4: fix racy may inline data check in dio write
        ext4: run mballoc test with different layouts setting
        ext4: add first unit test for ext4_mb_new_blocks_simple in mballoc
        ext4: add some kunit stub for mballoc kunit test
        ext4: call ext4_mb_mark_context in ext4_group_add_blocks()
        ext4: Separate block bitmap and buddy bitmap freeing in ext4_group_add_blocks()
        ext4: call ext4_mb_mark_context in ext4_mb_clear_bb
        ext4: Separate block bitmap and buddy bitmap freeing in ext4_mb_clear_bb()
        ext4: call ext4_mb_mark_context in ext4_mb_mark_diskspace_used
        ext4: extend ext4_mb_mark_context to support allocation under journal
        ext4: call ext4_mb_mark_context in ext4_free_blocks_simple
        ext4: factor out codes to update block bitmap and group descriptor on disk from ext4_mb_mark_bb
        ext4: make state in ext4_mb_mark_bb to be bool
        jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
        ext4: apply umask if ACL support is disabled
        ext4: mark buffer new if it is unwritten to avoid stale data exposure
        ext4: move 'ix' sanity check to corrent position
        jbd2: fix printk format type for 'io_block' in do_one_pass()
        jbd2: print io_block if check data block checksum failed when do recovery
        ...
      57aff997
    • Linus Torvalds's avatar
      Merge tag 'dlm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 91a683cd
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This set of patches has some minor fixes for message handling, some
        misc cleanups, and updates the maintainers entry"
      
      * tag 'dlm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        MAINTAINERS: Update dlm maintainer and web page
        dlm: slow down filling up processing queue
        dlm: fix no ack after final message
        dlm: be sure we reset all nodes at forced shutdown
        dlm: fix remove member after close call
        dlm: fix creating multiple node structures
        fs: dlm: Remove some useless memset()
        fs: dlm: Fix the size of a buffer in dlm_create_debug_file()
        fs: dlm: Simplify buffer size computation in dlm_create_debug_file()
      91a683cd
    • Andrea Righi's avatar
      module/decompress: use kvmalloc() consistently · 17fc8084
      Andrea Righi authored
      We consistently switched from kmalloc() to vmalloc() in module
      decompression to prevent potential memory allocation failures with large
      modules, however vmalloc() is not as memory-efficient and fast as
      kmalloc().
      
      Since we don't know in general the size of the workspace required by the
      decompression algorithm, it is more reasonable to use kvmalloc()
      consistently, also considering that we don't have special memory
      requirements here.
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Tested-by: default avatarAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: default avatarAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      17fc8084
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · ca219be0
      Linus Torvalds authored
      Pull integrity updates from Mimi Zohar:
       "Four integrity changes: two IMA-overlay updates, an integrity Kconfig
        cleanup, and a secondary keyring update"
      
      * tag 'integrity-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        ima: detect changes to the backing overlay file
        certs: Only allow certs signed by keys on the builtin keyring
        integrity: fix indentation of config attributes
        ima: annotate iint mutex to avoid lockdep false positive warnings
      ca219be0
    • Linus Torvalds's avatar
      Merge tag 'modules-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 21e80f38
      Linus Torvalds authored
      Pull modules updates from Luis Chamberlain:
       "The only thing worth highligthing is that gzip moves to use vmalloc()
        instead of kmalloc just as we had a fix for this for zstd on v6.6-rc1.
      
        The rest is regular house keeping, keeping things neat, tidy, and
        boring"
      
      [ The kmalloc -> vmalloc conversion is not the right approach.
      
        Unless you know you need huge areas or know you need to use virtual
        mappings for some reason (playing with protection bits or whatever),
        you should use kvmalloc()/kvfree, which automatically picks the right
        allocation model    - Linus ]
      
      * tag 'modules-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        module: Annotate struct module_notes_attrs with __counted_by
        module: Fix comment typo
        module: Make is_valid_name() return bool
        module: Make is_mapping_symbol() return bool
        module/decompress: use vmalloc() for gzip decompression workspace
        MAINTAINERS: add include/linux/module*.h to modules
        module: Clarify documentation of module_param_call()
      21e80f38
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 426ee519
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "To help make the move of sysctls out of kernel/sysctl.c not incur a
        size penalty sysctl has been changed to allow us to not require the
        sentinel, the final empty element on the sysctl array. Joel Granados
        has been doing all this work. On the v6.6 kernel we got the major
        infrastructure changes required to support this. For v6.7-rc1 we have
        all arch/ and drivers/ modified to remove the sentinel. Both arch and
        driver changes have been on linux-next for a bit less than a month. It
        is worth re-iterating the value:
      
         - this helps reduce the overall build time size of the kernel and run
           time memory consumed by the kernel by about ~64 bytes per array
      
         - the extra 64-byte penalty is no longer inncurred now when we move
           sysctls out from kernel/sysctl.c to their own files
      
        For v6.8-rc1 expect removal of all the sentinels and also then the
        unneeded check for procname == NULL.
      
        The last two patches are fixes recently merged by Krister Johansen
        which allow us again to use softlockup_panic early on boot. This used
        to work but the alias work broke it. This is useful for folks who want
        to detect softlockups super early rather than wait and spend money on
        cloud solutions with nothing but an eventual hung kernel. Although
        this hadn't gone through linux-next it's also a stable fix, so we
        might as well roll through the fixes now"
      
      * tag 'sysctl-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux: (23 commits)
        watchdog: move softlockup_panic back to early_param
        proc: sysctl: prevent aliased sysctls from getting passed to init
        intel drm: Remove now superfluous sentinel element from ctl_table array
        Drivers: hv: Remove now superfluous sentinel element from ctl_table array
        raid: Remove now superfluous sentinel element from ctl_table array
        fw loader: Remove the now superfluous sentinel element from ctl_table array
        sgi-xp: Remove the now superfluous sentinel element from ctl_table array
        vrf: Remove the now superfluous sentinel element from ctl_table array
        char-misc: Remove the now superfluous sentinel element from ctl_table array
        infiniband: Remove the now superfluous sentinel element from ctl_table array
        macintosh: Remove the now superfluous sentinel element from ctl_table array
        parport: Remove the now superfluous sentinel element from ctl_table array
        scsi: Remove now superfluous sentinel element from ctl_table array
        tty: Remove now superfluous sentinel element from ctl_table array
        xen: Remove now superfluous sentinel element from ctl_table array
        hpet: Remove now superfluous sentinel element from ctl_table array
        c-sky: Remove now superfluous sentinel element from ctl_talbe array
        powerpc: Remove now superfluous sentinel element from ctl_table arrays
        riscv: Remove now superfluous sentinel element from ctl_table array
        x86/vdso: Remove now superfluous sentinel element from ctl_table array
        ...
      426ee519
    • Linus Torvalds's avatar
      Merge tag 'docs-6.7' of git://git.lwn.net/linux · babe3939
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "The number of commits for documentation is not huge this time around,
        but there are some significant changes nonetheless:
      
         - Some more Spanish-language and Chinese translations
      
         - The much-discussed documentation of the confidential-computing
           threat model
      
         - Powerpc and RISCV documentation move under Documentation/arch -
           these complete this particular bit of documentation churn
      
         - A large traditional-Chinese documentation update
      
         - A new document on backporting and conflict resolution
      
         - Some kernel-doc and Sphinx fixes
      
        Plus the usual smattering of smaller updates and typo fixes"
      
      * tag 'docs-6.7' of git://git.lwn.net/linux: (40 commits)
        scripts/kernel-doc: Fix the regex for matching -Werror flag
        docs: backporting: address feedback
        Documentation: driver-api: pps: Update PPS generator documentation
        speakup: Document USB support
        doc: blk-ioprio: Bring the doc in line with the implementation
        docs: usb: fix reference to nonexistent file in UVC Gadget
        docs: doc-guide: mention 'make refcheckdocs'
        Documentation: fix typo in dynamic-debug howto
        scripts/kernel-doc: match -Werror flag strictly
        Documentation/sphinx: Remove the repeated word "the" in comments.
        docs: sparse: add SPDX-License-Identifier
        docs/zh_CN: Add subsystem-apis Chinese translation
        docs/zh_TW: update contents for zh_TW
        docs: submitting-patches: encourage direct notifications to commenters
        docs: add backporting and conflict resolution document
        docs: move riscv under arch
        docs: update link to powerpc/vmemmap_dedup.rst
        mm/memory-hotplug: fix typo in documentation
        docs: move powerpc under arch
        PCI: Update the devres documentation regarding to pcim_*()
        ...
      babe3939
    • Linus Torvalds's avatar
      Merge tag 'linux_kselftest-next-6.7-rc1' of... · 7dc0e9c7
      Linus Torvalds authored
      Merge tag 'linux_kselftest-next-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
      
       - kbuild kselftest-merge target fixes
      
       - fixes to several tests
      
       - resctrl test fixes and enhancements
      
       - ksft_perror() helper and reporting improvements
      
       - printf attribute to kselftest prints to improve reporting
      
       - documentation and clang build warning fixes
      
      The bulk of the patches are for resctrl fixes and enhancements.
      
      * tag 'linux_kselftest-next-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (51 commits)
        selftests/resctrl: Fix MBM test failure when MBA unavailable
        selftests/clone3: Report descriptive test names
        selftests:modify the incorrect print format
        selftests/efivarfs: create-read: fix a resource leak
        selftests/ftrace: Add riscv support for kprobe arg tests
        selftests/ftrace: add loongarch support for kprobe args char tests
        selftests/amd-pstate: Added option to provide perf binary path
        selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut
        selftests/resctrl: Move run_benchmark() to a more fitting file
        selftests/resctrl: Fix schemata write error check
        selftests/resctrl: Reduce failures due to outliers in MBA/MBM tests
        selftests/resctrl: Fix feature checks
        selftests/resctrl: Refactor feature check to use resource and feature name
        selftests/resctrl: Move _GNU_SOURCE define into Makefile
        selftests/resctrl: Remove duplicate feature check from CMT test
        selftests/resctrl: Extend signal handler coverage to unmount on receiving signal
        selftests/resctrl: Fix uninitialized .sa_flags
        selftests/resctrl: Cleanup benchmark argument parsing
        selftests/resctrl: Remove ben_count variable
        selftests/resctrl: Make benchmark command const and build it with pointers
        ...
      7dc0e9c7
    • Linus Torvalds's avatar
      Merge tag 'linux_kselftest-kunit-6.7-rc1' of... · 5eda8f25
      Linus Torvalds authored
      Merge tag 'linux_kselftest-kunit-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kunit updates from Shuah Khan:
      
       - string-stream testing enhancements
      
       - several fixes memory leaks
      
       - fix to reset status during parameter handling
      
      * tag 'linux_kselftest-kunit-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: test: Fix the possible memory leak in executor_test
        kunit: Fix possible memory leak in kunit_filter_suites()
        kunit: Fix the wrong kfree of copy for kunit_filter_suites()
        kunit: Fix missed memory release in kunit_free_suite_set()
        kunit: Reset test status on each param iteration
        kunit: string-stream: Test performance of string_stream
        kunit: Use string_stream for test log
        kunit: string-stream: Add tests for freeing resource-managed string_stream
        kunit: string-stream: Decouple string_stream from kunit
        kunit: string-stream: Add kunit_alloc_string_stream()
        kunit: Don't use a managed alloc in is_literal()
        kunit: string-stream-test: Add cases for string_stream newline appending
        kunit: string-stream: Add option to make all lines end with newline
        kunit: string-stream: Improve testing of string_stream
        kunit: string-stream: Don't create a fragment for empty strings
      5eda8f25
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 463f46e1
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
       "This brings three new iommufd capabilities:
      
         - Dirty tracking for DMA.
      
           AMD/ARM/Intel CPUs can now record if a DMA writes to a page in the
           IOPTEs within the IO page table. This can be used to generate a
           record of what memory is being dirtied by DMA activities during a
           VM migration process. A VMM like qemu will combine the IOMMU dirty
           bits with the CPU's dirty log to determine what memory to transfer.
      
           VFIO already has a DMA dirty tracking framework that requires PCI
           devices to implement tracking HW internally. The iommufd version
           provides an alternative that the VMM can select, if available. The
           two are designed to have very similar APIs.
      
         - Userspace controlled attributes for hardware page tables
           (HWPT/iommu_domain). There are currently a few generic attributes
           for HWPTs (support dirty tracking, and parent of a nest). This is
           an entry point for the userspace iommu driver to control the HW in
           detail.
      
         - Nested translation support for HWPTs. This is a 2D translation
           scheme similar to the CPU where a DMA goes through a first stage to
           determine an intermediate address which is then translated trough a
           second stage to a physical address.
      
           Like for CPU translation the first stage table would exist in VM
           controlled memory and the second stage is in the kernel and matches
           the VM's guest to physical map.
      
           As every IOMMU has a unique set of parameter to describe the S1 IO
           page table and its associated parameters the userspace IOMMU driver
           has to marshal the information into the correct format.
      
           This is 1/3 of the feature, it allows creating the nested
           translation and binding it to VFIO devices, however the API to
           support IOTLB and ATC invalidation of the stage 1 io page table,
           and forwarding of IO faults are still in progress.
      
        The series includes AMD and Intel support for dirty tracking. Intel
        support for nested translation.
      
        Along the way are a number of internal items:
      
         - New iommu core items: ops->domain_alloc_user(),
           ops->set_dirty_tracking, ops->read_and_clear_dirty(),
           IOMMU_DOMAIN_NESTED, and iommu_copy_struct_from_user
      
         - UAF fix in iopt_area_split()
      
         - Spelling fixes and some test suite improvement"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (52 commits)
        iommufd: Organize the mock domain alloc functions closer to Joerg's tree
        iommufd/selftest: Fix page-size check in iommufd_test_dirty()
        iommufd: Add iopt_area_alloc()
        iommufd: Fix missing update of domains_itree after splitting iopt_area
        iommu/vt-d: Disallow read-only mappings to nest parent domain
        iommu/vt-d: Add nested domain allocation
        iommu/vt-d: Set the nested domain to a device
        iommu/vt-d: Make domain attach helpers to be extern
        iommu/vt-d: Add helper to setup pasid nested translation
        iommu/vt-d: Add helper for nested domain allocation
        iommu/vt-d: Extend dmar_domain to support nested domain
        iommufd: Add data structure for Intel VT-d stage-1 domain allocation
        iommu/vt-d: Enhance capability check for nested parent domain allocation
        iommufd/selftest: Add coverage for IOMMU_HWPT_ALLOC with nested HWPTs
        iommufd/selftest: Add nested domain allocation for mock domain
        iommu: Add iommu_copy_struct_from_user helper
        iommufd: Add a nested HW pagetable object
        iommu: Pass in parent domain with user_data to domain_alloc_user op
        iommufd: Share iommufd_hwpt_alloc with IOMMUFD_OBJ_HWPT_NESTED
        iommufd: Derive iommufd_hwpt_paging from iommufd_hw_pagetable
        ...
      463f46e1
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.7-followup' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · ff269e2c
      Linus Torvalds authored
      Pull more networking updates from Jakub Kicinski:
      
       - Support GRO decapsulation for IPsec ESP in UDP
      
       - Add a handful of MODULE_DESCRIPTION()s
      
       - Drop questionable alignment check in TCP AO to avoid
         build issue after changes in the crypto tree
      
      * tag 'net-next-6.7-followup' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next:
        net: tcp: remove call to obsolete crypto_ahash_alignmask()
        net: fill in MODULE_DESCRIPTION()s under drivers/net/
        net: fill in MODULE_DESCRIPTION()s under net/802*
        net: fill in MODULE_DESCRIPTION()s under net/core
        net: fill in MODULE_DESCRIPTION()s in kuba@'s modules
        xfrm: policy: fix layer 4 flowi decoding
        xfrm Fix use after free in __xfrm6_udp_encap_rcv.
        xfrm: policy: replace session decode with flow dissector
        xfrm: move mark and oif flowi decode into common code
        xfrm: pass struct net to xfrm_decode_session wrappers
        xfrm: Support GRO for IPv6 ESP in UDP encapsulation
        xfrm: Support GRO for IPv4 ESP in UDP encapsulation
        xfrm: Use the XFRM_GRO to indicate a GRO call on input
        xfrm: Annotate struct xfrm_sec_ctx with __counted_by
        xfrm: Remove unused function declarations
      ff269e2c
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 05bf73aa
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
       "Cleanups:
      
         - kprobes: Fixes typo in kprobes samples
      
         - tracing/eprobes: Remove 'break' after return
      
        kretprobe/fprobe performance improvements:
      
         - lib: Introduce new `objpool`, which is a high performance lockless
           object queue. This uses per-cpu ring array to allocate/release
           objects from the pre-allocated object pool.
      
           Since the index of ring array is a 32bit sequential counter, we can
           retry to push/pop the object pointer from the ring without lock (as
           seq-lock does)
      
         - lib: Add an objpool test module to test the functionality and
           evaluate the performance under some circumstances
      
         - kprobes/fprobe: Improve kretprobe and rethook scalability
           performance with objpool.
      
           This improves both legacy kretprobe and fprobe exit handler (which
           is based on rethook) to be scalable on SMP systems. Even with
           8-threads parallel test, it shows a great scalability improvement
      
         - Remove unneeded freelist.h which is replaced by objpool
      
         - objpool: Add maintainers entry for the objpool
      
         - objpool: Fix to remove unused include header lines"
      
      * tag 'probes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        kprobes: unused header files removed
        MAINTAINERS: objpool added
        kprobes: freelist.h removed
        kprobes: kretprobe scalability improvement
        lib: objpool test module added
        lib: objpool added: ring-array based lockless MPMC
        tracing/eprobe: drop unneeded breaks
        samples: kprobes: Fixes a typo
      05bf73aa
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 1b10d2c8
      Linus Torvalds authored
      Pull bootconfig updates from Masami Hiramatsu:
      
       - Documentation update for /proc/cmdline, which includes both the
         parameters from bootloader and the embedded parameters in the kernel
      
       - fs/proc: Add bootloader argument as a comment line to
         /proc/bootconfig so that the user can distinguish what parameters
         were passed from bootloader even if bootconfig modified that
      
       - Documentation fix to add /proc/bootconfig to proc.rst
      
      * tag 'bootconfig-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        doc: Add /proc/bootconfig to proc.rst
        fs/proc: Add boot loader arguments as comment to /proc/bootconfig
        doc: Update /proc/cmdline documentation to include boot config
      1b10d2c8
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 1e0c505e
      Linus Torvalds authored
      Pull ia64 removal and asm-generic updates from Arnd Bergmann:
      
       - The ia64 architecture gets its well-earned retirement as planned,
         now that there is one last (mostly) working release that will be
         maintained as an LTS kernel.
      
       - The architecture specific system call tables are updated for the
         added map_shadow_stack() syscall and to remove references to the
         long-gone sys_lookup_dcookie() syscall.
      
      * tag 'asm-generic-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        hexagon: Remove unusable symbols from the ptrace.h uapi
        asm-generic: Fix spelling of architecture
        arch: Reserve map_shadow_stack() syscall number for all architectures
        syscalls: Cleanup references to sys_lookup_dcookie()
        Documentation: Drop or replace remaining mentions of IA64
        lib/raid6: Drop IA64 support
        Documentation: Drop IA64 from feature descriptions
        kernel: Drop IA64 support from sig_fault handlers
        arch: Remove Itanium (IA-64) architecture
      1e0c505e
    • Linus Torvalds's avatar
      Merge tag 'soc-arm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 4684e928
      Linus Torvalds authored
      Pull ARM SoC code updates from Arnd Bergmann:
       "The AMD Pensando DPU platform gets added to arm64, and some minor
        updates make it into Renesas' 32-bit platforms"
      
      * tag 'soc-arm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm: debug: reuse the config DEBUG_OMAP2UART{1,2} for OMAP{3,4,5}
        arm64: Add config for AMD Pensando SoC platforms
        MAINTAINERS: Add entry for AMD PENSANDO
        ARM: shmobile: sh73a0: Reserve boot area when SMP is enabled
        ARM: shmobile: r8a7779: Reserve boot area when SMP is enabled
        ARM: shmobile: rcar-gen2: Reserve boot area when SMP is enabled
        ARM: shmobile: rcar-gen2: Remove unneeded once handling
      4684e928
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a39ba9b4
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual trivial changes to enable a couple of newly added
        device drivers and remove lines for Kconfig options that are no longer
        needed"
      
      * tag 'soc-defconfig-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        arm64: defconfig: enable DisplayPort altmode support
        arm64: defconfig: enable CONFIG_TYPEC_QCOM_PMIC
        arm64: defconfig: add various drivers for Amlogic based boards
        ARM: config: aspeed: Remove FIRMWARE_MEMMAP
        ARM: config: aspeed_g5: Enable SSIF BMC driver
        ARM: config: aspeed: Add Ampere SMPro drivers
        ARM: config: aspeed: Add new FSI drivers
        arm64: defconfig: Enable TPS6593 PMIC for SK-AM62A
        ARM: exynos_defconfig: add driver for ISL29018
        ARM: multi_v7_defconfig: add drivers for S5C73M3 & S5K6A3 camera sensors
        arm64: defconfig: Enable RZ/G3S (R9A08G045) SoC
        ARM: multi_v7_defconfig: add tm2-touchkey driver
        ARM: exynos_defconfig: replace SATA_AHCI_PLATFORM with AHCI_DWC driver
        ARM: multi_v7_defconfig: add AHCI_DWC driver
        ARM: multi_v7_defconfig: make Exynos related PHYs modules
        ARM: s5pv210_defconfig: enable IIO required by MAX17040
        ARM: shmobile: defconfig: Refresh for v6.6-rc3
        ARM: defconfig: cleanup orphaned CONFIGs
        arm64: defconfig: Enable Samsung DSIM driver
        arm64: defconfig: Enable CONFIG_USB_MASS_STORAGE
        ...
      a39ba9b4
    • Linus Torvalds's avatar
      Merge tag 'soc-drivers-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 385903a7
      Linus Torvalds authored
      Pull SoC driver updates from Arnd Bergmann:
       "The highlights for the driver support this time are
      
         - Qualcomm platforms gain support for the Qualcomm Secure Execution
           Environment firmware interface to access EFI variables on certain
           devices, and new features for multiple platform and firmware
           drivers.
      
         - Arm FF-A firmware support gains support for v1.1 specification
           features, in particular notification and memory transaction
           descriptor changes.
      
         - SCMI firmware support now support v3.2 features for clock and DVFS
           configuration and a new transport for Qualcomm platforms.
      
         - Minor cleanups and bugfixes are added to pretty much all the active
           platforms: qualcomm, broadcom, dove, ti-k3, rockchip, sifive,
           amlogic, atmel, tegra, aspeed, vexpress, mediatek, samsung and
           more.
      
           In particular, this contains portions of the treewide conversion to
           use __counted_by annotations and the device_get_match_data helper"
      
      * tag 'soc-drivers-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (156 commits)
        soc: qcom: pmic_glink_altmode: Print return value on error
        firmware: qcom: scm: remove unneeded 'extern' specifiers
        firmware: qcom: scm: add a missing forward declaration for struct device
        firmware: qcom: move Qualcomm code into its own directory
        soc: samsung: exynos-chipid: Convert to platform remove callback returning void
        soc: qcom: apr: Add __counted_by for struct apr_rx_buf and use struct_size()
        soc: qcom: pmic_glink: fix connector type to be DisplayPort
        soc: ti: k3-socinfo: Avoid overriding return value
        soc: ti: k3-socinfo: Fix typo in bitfield documentation
        soc: ti: knav_qmss_queue: Use device_get_match_data()
        firmware: ti_sci: Use device_get_match_data()
        firmware: qcom: qseecom: add missing include guards
        soc/pxa: ssp: Convert to platform remove callback returning void
        soc/mediatek: mtk-mmsys: Convert to platform remove callback returning void
        soc/mediatek: mtk-devapc: Convert to platform remove callback returning void
        soc/loongson: loongson2_guts: Convert to platform remove callback returning void
        soc/litex: litex_soc_ctrl: Convert to platform remove callback returning void
        soc/ixp4xx: ixp4xx-qmgr: Convert to platform remove callback returning void
        soc/ixp4xx: ixp4xx-npe: Convert to platform remove callback returning void
        soc/hisilicon: kunpeng_hccs: Convert to platform remove callback returning void
        ...
      385903a7
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · c035f026
      Linus Torvalds authored
      Pull SoC DT updates from Arnd Bergmann:
       "There are a couple new SoCs that are supported for the first time:
      
         - AMD Pensando Elba is a data processing unit based on Cortex-A72 CPU
           cores
      
         - Sophgo makes RISC-V based chips, and we now support the CV1800B
           chip used in the milkv-duo board and the massive sg2042 chip in the
           milkv-pioneer, a 64-core developer workstation.
      
         - Qualcomm Snapdragon 720G (sm7125) is a close relative of Snapdragon
           7c and gets added with some Xiaomi phones
      
         - Renesas gains support for the R8A779F4 (R-Car S4-8) automotive SoC
           and the RZ/G3S (R9A08G045) embedded SoC.
      
        There are also a bunch of newly supported machines that use already
        supported chips. On the 32-bit side, we have:
      
         - USRobotics USR8200 is a NAS/Firewall/router based on the ancient
           Intel IXP4xx platform
      
         - A couple of machines based on the NXP i.MX5 and i.MX6 platforms
      
         - One machine each for Allwinner V3s, Aspeed AST2600, Microchip
           sama5d29 and ST STM32mp157
      
        The other ones all use arm64 cores on chips from allwinner, amlogic,
        freescale, mediatek, qualcomm and rockchip"
      
      * tag 'soc-dt-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (641 commits)
        ARM: dts: BCM5301X: Set switch ports for Linksys EA9200
        ARM: dts: BCM5301X: Set fixed-link for extra Netgear R8000 CPU ports
        ARM: dts: BCM5301X: Explicitly disable unused switch CPU ports
        ARM: dts: BCM5301X: Relicense Vivek's code to the GPL 2.0+ / MIT
        ARM: dts: BCM5301X: Relicense Felix's code to the GPL 2.0+ / MIT
        ARM: dts: BCM5301X: Set MAC address for Asus RT-AC87U
        arm64: dts: socionext: add missing cache properties
        riscv: dts: thead: convert isa detection to new properties
        arm64: dts: Update cache properties for socionext
        arm64: dts: ti: k3-am654-idk: Add ICSSG Ethernet ports
        arm64: dts: ti: k3-am654-icssg2: add ICSSG2 Ethernet support
        arm64: dts: ti: k3-am65-main: Add ICSSG IEP nodes
        arm64: dts: ti: k3-am62p5-sk: Updates for SK EVM
        arm64: dts: ti: k3-am62p: Add nodes for more IPs
        arm64: dts: rockchip: Add Turing RK1 SoM support
        dt-bindings: arm: rockchip: Add Turing RK1
        dt-bindings: vendor-prefixes: add turing
        arm64: dts: rockchip: Add DFI to rk3588s
        arm64: dts: rockchip: Add DFI to rk356x
        arm64: dts: rockchip: Always enable DFI on rk3399
        ...
      c035f026
  3. 01 Nov, 2023 9 commits
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.7-rc1' of https://github.com/awilliam/linux-vfio · deefd502
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Add support for "chunk mode" in the mlx5-vfio-pci variant driver,
         which allows both larger device image sizes for migration, beyond the
         previous 4GB limit, and also read-ahead support for improved
         migration performance (Yishai Hadas)
      
       - A new bus master control interface for the CDX bus driver where there
         is no in-band mechanism to toggle device DMA as there is through
         config space on PCI devices (Nipun Gupta)
      
       - Add explicit alignment directives to vfio data structures to reduce
         the chance of breaking 32-bit userspace. In most cases this is
         transparent and the remaining cases where data structures are padded
         work within the existing rules for extending data structures within
         vfio (Stefan Hajnoczi)
      
       - Resolve a bug in the cdx bus driver noted when compiled with clang
         where missing parenthesis result in the wrong operation (Nathan
         Chancellor)
      
       - Resolve errors reported by smatch for a function when dealing with
         invalid inputs (Alex Williamson)
      
       - Add migration support to the mtty vfio/mdev sample driver for testing
         and integration purposes, allowing CI of migration without specific
         hardware requirements. Also resolve many of the short- comings of
         this driver relative to implementation of the vfio interrupt ioctl
         along the way (Alex Williamson)
      
      * tag 'vfio-v6.7-rc1' of https://github.com/awilliam/linux-vfio:
        vfio/mtty: Enable migration support
        vfio/mtty: Overhaul mtty interrupt handling
        vfio: Fix smatch errors in vfio_combine_iova_ranges()
        vfio/cdx: Add parentheses between bitwise AND expression and logical NOT
        vfio/mlx5: Activate the chunk mode functionality
        vfio/mlx5: Add support for READING in chunk mode
        vfio/mlx5: Add support for SAVING in chunk mode
        vfio/mlx5: Pre-allocate chunks for the STOP_COPY phase
        vfio/mlx5: Rename some stuff to match chunk mode
        vfio/mlx5: Enable querying state size which is > 4GB
        vfio/mlx5: Refactor the SAVE callback to activate a work only upon an error
        vfio/mlx5: Wake up the reader post of disabling the SAVING migration file
        vfio: use __aligned_u64 in struct vfio_device_ioeventfd
        vfio: use __aligned_u64 in struct vfio_device_gfx_plane_info
        vfio: trivially use __aligned_u64 for ioctl structs
        vfio-cdx: add bus mastering device feature support
        vfio: add bus master feature to device feature ioctl
        cdx: add support for bus mastering
      deefd502
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.7-2023-10-30' of git://git.infradead.org/users/hch/dma-mapping · 009fbfc9
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - get rid of the fake support for coherent DMA allocation on coldfire
         with caches (Christoph Hellwig)
      
       - add a few Kconfig dependencies so that Kconfig catches the use of
         invalid configurations (Christoph Hellwig)
      
       - fix a type in dma-debug output (Chuck Lever)
      
       - rewrite a comment in swiotlb (Sean Christopherson)
      
      * tag 'dma-mapping-6.7-2023-10-30' of git://git.infradead.org/users/hch/dma-mapping:
        dma-debug: Fix a typo in a debugging eye-catcher
        swiotlb: rewrite comment explaining why the source is preserved on DMA_FROM_DEVICE
        m68k: remove unused includes from dma.c
        m68k: don't provide arch_dma_alloc for nommu/coldfire
        net: fec: use dma_alloc_noncoherent for data cache enabled coldfire
        m68k: use the coherent DMA code for coldfire without data cache
        dma-direct: warn when coherent allocations aren't supported
        dma-direct: simplify the use atomic pool logic in dma_direct_alloc
        dma-direct: add a CONFIG_ARCH_HAS_DMA_ALLOC symbol
        dma-direct: add dependencies to CONFIG_DMA_GLOBAL_POOL
      009fbfc9
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · 3c86a44d
      Linus Torvalds authored
      Pull pmdomain updates from Ulf Hansson:
      
       - Move Kconfig files into the pmdomain subsystem
      
       - Drop use of genpd's redundant ->opp_to_performance_state() callback
      
       - amlogic:
          - Add support for the T7 power-domains controller
          - Fix mask for the second NNA mem power-domain
      
       - bcm: Fixup ASB register read and comparison for bcm2835-power
      
       - imx: Fix device link problem for consumers of the pgc power-domain
      
       - mediatek: Add support for the MT8365 power domains
      
       - qcom:
          - Add support for the rpmhpds for SC8380XP power-domains
          - Add support for the rpmhpds for SM8650 power-domains
          - Add support for the rpmhpd clocks for SM7150
          - Add support for the rpmpds for MSM8917 (families) power-domains
      
       - starfive: Add support for the JH7110 AON PMU
      
      * tag 'pmdomain-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (56 commits)
        pmdomain: amlogic: Fix mask for the second NNA mem PD domain
        pmdomain: qcom: rpmhpd: Add SC8380XP power domains
        pmdomain: qcom: rpmhpd: Add SM8650 RPMh Power Domains
        dt-bindings: power: rpmpd: Add SC8380XP support
        dt-bindings: power: qcom,rpmhpd: Add GMXC PD index
        dt-bindings: power: qcom,rpmpd: document the SM8650 RPMh Power Domains
        pmdomain: imx: Make imx pgc power domain also set the fwnode
        pmdomain: qcom: rpmpd: Add QM215 power domains
        pmdomain: qcom: rpmpd: Add MSM8917 power domains
        dt-bindings: power: rpmpd: Add MSM8917, MSM8937 and QM215
        pmdomain: bcm: bcm2835-power: check if the ASB register is equal to enable
        pmdomain: qcom: rpmhpd: Drop the ->opp_to_performance_state() callback
        pmdomain: qcom: rpmpd: Drop the ->opp_to_performance_state() callback
        pmdomain: qcom: cpr: Drop the ->opp_to_performance_state() callback
        pmdomain: Use device_get_match_data()
        pmdomain: ti: add missing of_node_put
        pmdomain: mediatek: Add support for MT8365
        pmdomain: mediatek: Add support for MTK_SCPD_STRICT_BUS_PROTECTION cap
        pmdomain: mediatek: Add support for WAY_EN operations
        pmdomain: mediatek: Unify configuration for infracfg and smi
        ...
      3c86a44d
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 40aa597c
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
      " MMC core:
         - Enable host caps to be modified via debugfs to test speed-modes
         - Improve random I/O writes for 4k buffers for hsq enabled hosts
      
        MMC host:
         - atmel-mci/sdhci-of-at91: Aubin Constans takes over as maintainer
         - dw_mmc-starfive: Re-work tuning support
         - meson-gx: Fix bogus IRQ when using CMD_CFG_ERROR
         - mmci: Use peripheral flow control for the STM32 variant
         - renesas,sdhi: Add support for the RZ/G3S variant
         - sdhci-esdhc-imx: Optimize the manual tuning logic
         - sdhci-msm: Add support for the SM8650 variant
         - sdhci-npcm: Add driver to support the Nuvoton NPCM BMC variant
         - sdhci-pci-gli: Add workaround to allow GL9750 to enter ASPM L1.2"
      
      * tag 'mmc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (25 commits)
        dt-bindings: mmc: sdhci-msm: document the SM8650 SDHCI Controller
        mmc: meson-gx: Remove setting of CMD_CFG_ERROR
        MAINTAINERS: mmc: take over as maintainer of MCI & SDHCI MICROCHIP DRIVERS
        mmc: jz4740: Use device_get_match_data()
        mmc: sdhci-npcm: Add NPCM SDHCI driver
        dt-bindings: mmc: npcm,sdhci: Document NPCM SDHCI controller
        mmc: sdhci-pltfm: Make driver OF independent
        mmc: sdhci-pltfm: Drop unnecessary error messages in sdhci_pltfm_init()
        mmc: sdhci-pci: Switch to use acpi_evaluate_dsm_typed()
        mmc: debugfs: Allow host caps to be modified
        mmc: core: Always reselect card type
        mmc: mmci: use peripheral flow control for STM32
        mmc: vub300: replace deprecated strncpy with strscpy
        memstick: jmb38x_ms: Annotate struct jmb38x_ms with __counted_by
        mmc: starfive: Change tuning implementation
        dt-bindings: mmc: starfive: Remove properties from required
        mmc: hsq: Improve random I/O write performance for 4k buffers
        mmc: core: Allow dynamical updates of the number of requests for hsq
        mmc: sdhci-pci-gli: A workaround to allow GL9750 to enter ASPM L1.2
        dt-bindings: mmc: renesas,sdhi: Document RZ/G3S support
        ...
      40aa597c
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/dm-changes' of... · 0364249d
      Linus Torvalds authored
      Merge tag 'for-6.7/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Update DM core to directly call the map function for both the linear
         and stripe targets; which are provided by DM core
      
       - Various updates to use new safer string functions
      
       - Update DM core to respect REQ_NOWAIT flag in normal bios so that
         memory allocations are always attempted with GFP_NOWAIT
      
       - Add Mikulas Patocka to MAINTAINERS as a DM maintainer!
      
       - Improve DM delay target's handling of short delays (< 50ms) by using
         a kthread to check expiration of IOs rather than timers and a wq
      
       - Update the DM error target so that it works with zoned storage. This
         helps xfstests to provide proper IO error handling coverage when
         testing a filesystem with native zoned storage support
      
       - Update both DM crypt and integrity targets to improve performance by
         using crypto_shash_digest() rather than init+update+final sequence
      
       - Fix DM crypt target by backfilling missing memory allocation
         accounting for compound pages
      
      * tag 'for-6.7/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm crypt: account large pages in cc->n_allocated_pages
        dm integrity: use crypto_shash_digest() in sb_mac()
        dm crypt: use crypto_shash_digest() in crypt_iv_tcw_whitening()
        dm error: Add support for zoned block devices
        dm delay: for short delays, use kthread instead of timers and wq
        MAINTAINERS: add Mikulas Patocka as a DM maintainer
        dm: respect REQ_NOWAIT flag in normal bios issued to DM
        dm: enhance alloc_multiple_bios() to be more versatile
        dm: make __send_duplicate_bios return unsigned int
        dm log userspace: replace deprecated strncpy with strscpy
        dm ioctl: replace deprecated strncpy with strscpy_pad
        dm crypt: replace open-coded kmemdup_nul
        dm cache metadata: replace deprecated strncpy with strscpy
        dm: shortcut the calls to linear_map and stripe_map
      0364249d
    • Linus Torvalds's avatar
      Merge tag 'ata-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 39714efc
      Linus Torvalds authored
      Pull ATA updates from Damien Le Moal:
      
       - Modify the AHCI driver to print the link power management policy used
         on scan, to help with debugging issues (Niklas)
      
       - Add support for the ASM2116 series adapters to the AHCI driver
         (Szuying)
      
       - Prepare libata for the coming gcc and Clang __counted_by attribute
         (Kees)
      
       - Following the recent estensive fixing of libata suspend/resume
         handling, several patches further cleanup and improve disk power
         state management (me)
      
       - Reduce the verbosity of some error messages for non-fatal temporary
         errors, e.g. slow response to device reset when scanning a port, and
         warning messages that are in fact normal, e.g. disabling a device on
         suspend or when removing it (me)
      
       - Cleanup DMA helper functions (me)
      
       - Fix sata_mv drive handling of potential errors durring probe (Ma)
      
       - Cleanup the xgene and imx drivers using the functions
         of_device_get_match_data() and device_get_match_data() (Rob)
      
       - Improve the tegra driver device tree (Rob)
      
      * tag 'ata-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (22 commits)
        dt-bindings: ata: tegra: Disallow undefined properties
        ata: libata-core: Improve ata_dev_power_set_active()
        ata: libata-eh: Spinup disk on resume after revalidation
        ata: imx: Use device_get_match_data()
        ata: xgene: Use of_device_get_match_data()
        ata: sata_mv: aspeed: fix value check in mv_platform_probe()
        ata: ahci: Add Intel Alder Lake-P AHCI controller to low power chipsets list
        ata: libata: Cleanup inline DMA helper functions
        ata: libata-eh: Reduce "disable device" message verbosity
        ata: libata-eh: Improve reset error messages
        ata: libata-sata: Improve ata_sas_slave_configure()
        ata: libata-core: Do not resume runtime suspended ports
        ata: libata-core: Do not poweroff runtime suspended ports
        ata: libata-core: Remove ata_port_resume_async()
        ata: libata-core: Remove ata_port_suspend_async()
        ata: libata-core: Detach a port devices on shutdown
        ata: libata-core: Synchronize ata_port_detach() with hotplug
        ata: libata-scsi: Cleanup ata_scsi_start_stop_xlat()
        scsi: Remove scsi device no_start_on_resume flag
        ata: libata: Annotate struct ata_cpr_log with __counted_by
        ...
      39714efc
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/block-2023-10-30' of git://git.kernel.dk/linux · 90d624af
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - Improvements to the queue_rqs() support, and adding null_blk support
         for that as well (Chengming)
      
       - Series improving badblocks support (Coly)
      
       - Key store support for sed-opal (Greg)
      
       - IBM partition string handling improvements (Jan)
      
       - Make number of ublk devices supported configurable (Mike)
      
       - Cancelation improvements for ublk (Ming)
      
       - MD pull requests via Song:
           - Handle timeout in md-cluster, by Denis Plotnikov
           - Cleanup pers->prepare_suspend, by Yu Kuai
           - Rewrite mddev_suspend(), by Yu Kuai
           - Simplify md_seq_ops, by Yu Kuai
           - Reduce unnecessary locking array_state_store(), by Mariusz
             Tkaczyk
           - Make rdev add/remove independent from daemon thread, by Yu Kuai
           - Refactor code around quiesce() and mddev_suspend(), by Yu Kuai
      
       - NVMe pull request via Keith:
           - nvme-auth updates (Mark)
           - nvme-tcp tls (Hannes)
           - nvme-fc annotaions (Kees)
      
       - Misc cleanups and improvements (Jiapeng, Joel)
      
      * tag 'for-6.7/block-2023-10-30' of git://git.kernel.dk/linux: (95 commits)
        block: ublk_drv: Remove unused function
        md: cleanup pers->prepare_suspend()
        nvme-auth: allow mixing of secret and hash lengths
        nvme-auth: use transformed key size to create resp
        nvme-auth: alloc nvme_dhchap_key as single buffer
        nvmet-tcp: use 'spin_lock_bh' for state_lock()
        powerpc/pseries: PLPKS SED Opal keystore support
        block: sed-opal: keystore access for SED Opal keys
        block:sed-opal: SED Opal keystore
        ublk: simplify aborting request
        ublk: replace monitor with cancelable uring_cmd
        ublk: quiesce request queue when aborting queue
        ublk: rename mm_lock as lock
        ublk: move ublk_cancel_dev() out of ub->mutex
        ublk: make sure io cmd handled in submitter task context
        ublk: don't get ublk device reference in ublk_abort_queue()
        ublk: Make ublks_max configurable
        ublk: Limit dev_id/ub_number values
        md-cluster: check for timeout while a new disk adding
        nvme: rework NVME_AUTH Kconfig selection
        ...
      90d624af
    • Linus Torvalds's avatar
      Merge tag 'io_uring-futex-2023-10-30' of git://git.kernel.dk/linux · 4de520f1
      Linus Torvalds authored
      Pull io_uring futex support from Jens Axboe:
       "This adds support for using futexes through io_uring - first futex
        wake and wait, and then the vectored variant of waiting, futex waitv.
      
        For both wait/wake/waitv, we support the bitset variant, as the
        'normal' variants can be easily implemented on top of that.
      
        PI and requeue are not supported through io_uring, just the above
        mentioned parts. This may change in the future, but in the spirit of
        keeping this small (and based on what people have been asking for),
        this is what we currently have.
      
        Wake support is pretty straight forward, most of the thought has gone
        into the wait side to avoid needing to offload wait operations to a
        blocking context. Instead, we rely on the usual callbacks to retry and
        post a completion event, when appropriate.
      
        As far as I can recall, the first request for futex support with
        io_uring came from Andres Freund, working on postgres. His aio rework
        of postgres was one of the early adopters of io_uring, and futex
        support was a natural extension for that. This is relevant from both a
        usability point of view, as well as for effiency and performance. In
        Andres's words, for the former:
      
           Futex wait support in io_uring makes it a lot easier to avoid
           deadlocks in concurrent programs that have their own buffer pool:
           Obviously pages in the application buffer pool have to be locked
           during IO. If the initiator of IO A needs to wait for a held lock
           B, the holder of lock B might wait for the IO A to complete. The
           ability to wait for a lock and IO completions at the same time
           provides an efficient way to avoid such deadlocks
      
        and in terms of effiency, even without unlocking the full potential
        yet, Andres says:
      
           Futex wake support in io_uring is useful because it allows for more
           efficient directed wakeups. For some "locks" postgres has queues
           implemented in userspace, with wakeup logic that cannot easily be
           implemented with FUTEX_WAKE_BITSET on a single "futex word"
           (imagine waiting for journal flushes to have completed up to a
           certain point).
      
           Thus a "lock release" sometimes need to wake up many processes in a
           row. A quick-and-dirty conversion to doing these wakeups via
           io_uring lead to a 3% throughput increase, with 12% fewer context
           switches, albeit in a fairly extreme workload"
      
      * tag 'io_uring-futex-2023-10-30' of git://git.kernel.dk/linux:
        io_uring: add support for vectored futex waits
        futex: make the vectored futex operations available
        futex: make futex_parse_waitv() available as a helper
        futex: add wake_data to struct futex_q
        io_uring: add support for futex wake and wait
        futex: abstract out a __futex_wake_mark() helper
        futex: factor out the futex wake handling
        futex: move FUTEX2_VALID_MASK to futex.h
      4de520f1
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/io_uring-sockopt-2023-10-30' of git://git.kernel.dk/linux · f5277ad1
      Linus Torvalds authored
      Pull io_uring {get,set}sockopt support from Jens Axboe:
       "This adds support for using getsockopt and setsockopt via io_uring.
      
        The main use cases for this is to enable use of direct descriptors,
        rather than first instantiating a normal file descriptor, doing the
        option tweaking needed, then turning it into a direct descriptor. With
        this support, we can avoid needing a regular file descriptor
        completely.
      
        The net and bpf bits have been signed off on their side"
      
      * tag 'for-6.7/io_uring-sockopt-2023-10-30' of git://git.kernel.dk/linux:
        selftests/bpf/sockopt: Add io_uring support
        io_uring/cmd: Introduce SOCKET_URING_OP_SETSOCKOPT
        io_uring/cmd: Introduce SOCKET_URING_OP_GETSOCKOPT
        io_uring/cmd: return -EOPNOTSUPP if net is disabled
        selftests/net: Extract uring helpers to be reusable
        tools headers: Grab copy of io_uring.h
        io_uring/cmd: Pass compat mode in issue_flags
        net/socket: Break down __sys_getsockopt
        net/socket: Break down __sys_setsockopt
        bpf: Add sockptr support for setsockopt
        bpf: Add sockptr support for getsockopt
      f5277ad1