1. 23 Jan, 2024 19 commits
  2. 19 Jan, 2024 14 commits
    • Linus Torvalds's avatar
      Merge tag 'net-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 736b5545
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf and netfilter.
      
        Previous releases - regressions:
      
         - Revert "net: rtnetlink: Enslave device before bringing it up",
           breaks the case inverse to the one it was trying to fix
      
         - net: dsa: fix oob access in DSA's netdevice event handler
           dereference netdev_priv() before check its a DSA port
      
         - sched: track device in tcf_block_get/put_ext() only for clsact
           binder types
      
         - net: tls, fix WARNING in __sk_msg_free when record becomes full
           during splice and MORE hint set
      
         - sfp-bus: fix SFP mode detect from bitrate
      
         - drv: stmmac: prevent DSA tags from breaking COE
      
        Previous releases - always broken:
      
         - bpf: fix no forward progress in in bpf_iter_udp if output buffer is
           too small
      
         - bpf: reject variable offset alu on registers with a type of
           PTR_TO_FLOW_KEYS to prevent oob access
      
         - netfilter: tighten input validation
      
         - net: add more sanity check in virtio_net_hdr_to_skb()
      
         - rxrpc: fix use of Don't Fragment flag on RESPONSE packets, avoid
           infinite loop
      
         - amt: do not use the portion of skb->cb area which may get clobbered
      
         - mptcp: improve validation of the MPTCPOPT_MP_JOIN MCTCP option
      
        Misc:
      
         - spring cleanup of inactive maintainers"
      
      * tag 'net-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (88 commits)
        i40e: Include types.h to some headers
        ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work
        selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes
        selftests: mlxsw: qos_pfc: Remove wrong description
        mlxsw: spectrum_router: Register netdevice notifier before nexthop
        mlxsw: spectrum_acl_tcam: Fix stack corruption
        mlxsw: spectrum_acl_tcam: Fix NULL pointer dereference in error path
        mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
        ethtool: netlink: Add missing ethnl_ops_begin/complete
        selftests: bonding: Add more missing config options
        selftests: netdevsim: add a config file
        libbpf: warn on unexpected __arg_ctx type when rewriting BTF
        selftests/bpf: add tests confirming type logic in kernel for __arg_ctx
        bpf: enforce types for __arg_ctx-tagged arguments in global subprogs
        bpf: extract bpf_ctx_convert_map logic and make it more reusable
        libbpf: feature-detect arg:ctx tag support in kernel
        ipvs: avoid stat macros calls from preemptible context
        netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description
        netfilter: nf_tables: skip dead set elements in netlink dump
        netfilter: nf_tables: do not allow mismatch field size and set key length
        ...
      736b5545
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.8-rc1-rebased' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ed8d8453
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "This removes the currently unused CLASS_DDC support (controllers set
        the flag, but there is no client to use it).
      
        Also, CLASS_SPD support gets simplified to prepare removal in the
        future. Class based instantiation is not recommended these days
        anyhow.
      
        Furthermore, I2C core now creates a debugfs directory per I2C adapter.
        Current bus driver users were converted to use it.
      
        Finally, quite some driver updates. Standing out are patches for the
        wmt-driver which is refactored to support more variants.
      
        This is the rebased pull request where a large series for the
        designware driver was dropped"
      
      * tag 'i2c-for-6.8-rc1-rebased' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (38 commits)
        MAINTAINERS: use proper email for my I2C work
        i2c: stm32f7: add support for stm32mp25 soc
        i2c: stm32f7: perform I2C_ISR read once at beginning of event isr
        dt-bindings: i2c: document st,stm32mp25-i2c compatible
        i2c: stm32f7: simplify status messages in case of errors
        i2c: stm32f7: perform most of irq job in threaded handler
        i2c: stm32f7: use dev_err_probe upon calls of devm_request_irq
        i2c: i801: Add lis3lv02d for Dell XPS 15 7590
        i2c: i801: Add lis3lv02d for Dell Precision 3540
        i2c: wmt: Reduce redundant: REG_CR setting
        i2c: wmt: Reduce redundant: function parameter
        i2c: wmt: Reduce redundant: clock mode setting
        i2c: wmt: Reduce redundant: wait event complete
        i2c: wmt: Reduce redundant: bus busy check
        i2c: mux: reg: Remove class-based device auto-detection support
        i2c: make i2c_bus_type const
        dt-bindings: at24: add ROHM BR24G04
        eeprom: at24: use of_match_ptr()
        i2c: cpm: Remove linux,i2c-index conversion from be32
        i2c: imx: Make SDA actually optional for bus recovering
        ...
      ed8d8453
    • Linus Torvalds's avatar
      Merge tag 'rtc-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 378de6df
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "There are three new drivers this cycle. Also the cmos driver is
        getting fixes for longstanding wakeup issues on AMD.
      
        New drivers:
         - Analog Devices MAX31335
         - Nuvoton ma35d1
         - Texas Instrument TPS6594 PMIC RTC
      
        Drivers:
         - cmos: use ACPI alarm instead of HPET on recent AMD platforms
         - nuvoton: add NCT3015Y-R and NCT3018Y-R support
         - rv8803: proper suspend/resume and wakeup-source support"
      
      * tag 'rtc-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (26 commits)
        rtc: nuvoton: Compatible with NCT3015Y-R and NCT3018Y-R
        rtc: da9063: Use dev_err_probe()
        rtc: da9063: Use device_get_match_data()
        rtc: da9063: Make IRQ as optional
        rtc: max31335: Fix comparison in max31335_volatile_reg()
        rtc: max31335: use regmap_update_bits_check
        rtc: max31335: remove unecessary locking
        rtc: max31335: add driver support
        dt-bindings: rtc: max31335: add max31335 bindings
        rtc: rv8803: add wakeup-source support
        rtc: ac100: remove misuses of kernel-doc
        rtc: class: Remove usage of the deprecated ida_simple_xx() API
        rtc: MAINTAINERS: drop Alessandro Zummo
        rtc: ma35d1: remove hardcoded UIE support
        dt-bindings: rtc: qcom-pm8xxx: fix inconsistent example
        rtc: rv8803: Add power management support
        rtc: ds3232: avoid unused-const-variable warning
        rtc: lpc24xx: add missing dependency
        rtc: tps6594: Add driver for TPS6594 RTC
        rtc: Add driver for Nuvoton ma35d1 rtc controller
        ...
      378de6df
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.8-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 0f289bdd
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a new driver for Adafruit Seesaw gamepad device
      
       - Zforce touchscreen will handle standard device properties for axis
         swap/inversion
      
       - handling of advanced sensitivity settings in Microchip CAP11xx
         capacitive sensor driver
      
       - more drivers have been converted to use newer gpiod API
      
       - support for dedicated wakeup IRQs in gpio-keys dirver
      
       - support for slider gestures and OTP variants in iqs269a driver
      
       - atkbd will report keyboard version as 0xab83 in cases when GET ID
         command was skipped (to deal with problematic firmware on newer
         laptops), restoring the previous behavior
      
       - other assorted cleanups and changes
      
      * tag 'input-for-v6.8-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (44 commits)
        Input: atkbd - use ab83 as id when skipping the getid command
        Input: driver for Adafruit Seesaw Gamepad
        dt-bindings: input: bindings for Adafruit Seesaw Gamepad
        Input: da9063_onkey - avoid explicitly setting input's parent
        Input: da9063_onkey - avoid using OF-specific APIs
        Input: iqs269a - add support for OTP variants
        dt-bindings: input: iqs269a: Add bindings for OTP variants
        Input: iqs269a - add support for slider gestures
        dt-bindings: input: iqs269a: Add bindings for slider gestures
        Input: gpio-keys - filter gpio_keys -EPROBE_DEFER error messages
        Input: zforce_ts - accept standard touchscreen properties
        dt-bindings: touchscreen: neonode,zforce: Use standard properties
        dt-bindings: touchscreen: convert neonode,zforce to json-schema
        dt-bindings: input: convert drv266x to json-schema
        Input: da9063 - use dev_err_probe()
        Input: da9063 - drop redundant prints in probe()
        Input: da9063 - simplify obtaining OF match data
        Input: as5011 - convert to GPIO descriptor
        Input: omap-keypad - drop optional GPIO support
        Input: tca6416-keypad - drop unused include
        ...
      0f289bdd
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 33a9caa4
      Linus Torvalds authored
      Pull phy updates from Vinod Koul:
       "New Support:
      
         - Qualcomm SM8650 UFS, PCIe and USB/DP Combo PHY, eUSB2 PHY, SDX75
           USB3, X1E80100 USB3 support
      
         - Mediatek MT8195 support
      
         - Rockchip RK3128 usb2 support
      
         - TI SGMII mode for J784S4
      
        Updates:
      
         - Qualcomm v7 register offsets updates
      
         - Mediatek tphy support for force phy mode switch"
      
      * tag 'phy-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (34 commits)
        phy: ti: j721e-wiz: Add SGMII support in WIZ driver for J784S4
        phy: ti: gmii-sel: Enable SGMII mode for J784S4
        phy: qcom-qmp-usb: Add Qualcomm X1E80100 USB3 PHY support
        dt-bindings: phy: qcom,sc8280xp-qmp-usb3-uni: Add X1E80100 USB PHY binding
        phy: qcom-qmp-combo: Add x1e80100 USB/DP combo phys
        dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document X1E80100 compatible
        dt-bindings: phy: qcom: snps-eusb2: Document the X1E80100 compatible
        phy: mediatek: tphy: add support force phy mode switch
        dt-bindings: phy: mediatek: tphy: add a property for force-mode switch
        phy: phy-can-transceiver: insert space after include
        phy: qualcomm: phy-qcom-qmp-ufs: Rectify SM8550 UFS HS-G4 PHY Settings
        dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: fix path to header
        phy: renesas: phy-rcar-gen2: use select for GENERIC_PHY
        phy: qcom-qmp: qserdes-txrx: Add v7 register offsets
        phy: qcom-qmp: qserdes-txrx: Add V6 N4 register offsets
        phy: qcom-qmp: qserdes-com: Add v7 register offsets
        phy: qcom-qmp: pcs-usb: Add v7 register offsets
        phy: qcom-qmp: pcs: Add v7 register offsets
        phy: qcom-qmp: qserdes-txrx: Add some more v6.20 register offsets
        phy: qcom-qmp: qserdes-com: Add some more v6 register offsets
        ...
      33a9caa4
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 4d5d604c
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
      
       - Core: add concept of controller_id to deal with clear Controller /
         Manager hierarchy
      
       - bunch of qcom driver refactoring for qcom_swrm_stream_alloc_ports(),
         qcom_swrm_stream_alloc_ports() and setting controller id to hw master
         id
      
      * tag 'soundwire-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: amd: drop bus freq calculation and set 'max_clk_freq'
        soundwire: generic_bandwidth_allocation use bus->params.max_dr_freq
        soundwire: qcom: set controller id to hw master id
        soundwire: fix initializing sysfs for same devices on different buses
        soundwire: bus: introduce controller_id
        soundwire: stream: constify sdw_port_config when adding devices
        soundwire: qcom: move sconfig in qcom_swrm_stream_alloc_ports() out of critical section
        soundwire: qcom: drop unneeded qcom_swrm_stream_alloc_ports() cleanup
      4d5d604c
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 34551358
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "Apart from some regular driver fixes there's a relatively big revert
        of the locking changes that were introduced to GPIOLIB in this merge
        window.
      
        This is because it turned out that some legacy GPIO interfaces - that
        need to translate a number from the global GPIO numberspace to the
        address of the relevant descriptor, thus running a GPIO device lookup
        and taking the GPIO device list lock - are still used in old code from
        atomic context resulting in "scheduling while atomic" errors.
      
        I'll try to make the read-only part of the list access entirely
        lockless using SRCU but this will take some time so let's go back to
        the old global spinlock for now.
      
        Summary:
      
         - revert the changes aiming to use a read-write semaphore to protect
           the list of GPIO devices due to calls to legacy API taking that
           lock from atomic context in old code
      
         - fix inverted logic in DEFINE_FREE() for GPIO device references
      
         - check the return value of bgpio_init() in gpio-mlxbf3
      
         - fix node address in the DT bindings example for gpio-xilinx
      
         - fix signedness bug in gpio-rtd
      
         - fix kernel-doc warnings in gpio-en7523"
      
      * tag 'gpio-fixes-for-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpiolib: revert the attempt to protect the GPIO device list with an rwsem
        gpio: EN7523: fix kernel-doc warnings
        gpiolib: Fix scope-based gpio_device refcounting
        gpio: mlxbf3: add an error code check in mlxbf3_gpio_probe
        dt-bindings: gpio: xilinx: Fix node address in gpio
        gpio: rtd: Fix signedness bug in probe
      34551358
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.8-2' of gitolite.kernel.org:pub/scm/linux/kernel/git/ukleinek/linux · 5c935069
      Linus Torvalds authored
      Pull pwm fixes from Uwe Kleine-König:
      
       - fix a duplicate cleanup in an error path introduced in
         this merge window
      
       - fix an out-of-bounds access
      
         In practise it doesn't happen - otherwise someone would have noticed
         since v5.17-rc1 I guess - because the device tree binding for the two
         drivers using of_pwm_single_xlate() only have args->args_count == 1.
      
         A device-tree that doesn't conform to the respective bindings could
         trigger that easily however.
      
       - correct the request callback of the jz4740 pwm driver which used
         dev_err_probe() long after .probe() completed.
      
         This is conceptually wrong because dev_err_probe() might call
         device_set_deferred_probe_reason() which is nonsensical after the
         driver is bound.
      
      * tag 'pwm/for-6.8-2' of gitolite.kernel.org:pub/scm/linux/kernel/git/ukleinek/linux:
        pwm: jz4740: Don't use dev_err_probe() in .request()
        pwm: Fix out-of-bounds access in of_pwm_single_xlate()
        pwm: bcm2835: Remove duplicate call to clk_rate_exclusive_put()
      5c935069
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 21c91bb9
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Drivers:
         - Add support for Monolithic Power Systems MP3309C WLED Step-up Converter
      
        Fix-ups:
         - Use/convert to new/better APIs/helpers/MACROs instead of
           hand-rolling implementations
         - Device Tree Binding updates
         - Demote non-kerneldoc header comments
         - Improve error handling; return proper error values, simplify, avoid
           duplicates, etc
         - Convert over to the new (kinda) GPIOD API
      
        Bug Fixes:
         - Fix uninitialised local variable"
      
      * tag 'backlight-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: hx8357: Convert to agnostic GPIO API
        backlight: ili922x: Add an error code check in ili922x_write()
        backlight: ili922x: Drop kernel-doc for local macros
        backlight: mp3309c: Fix uninitialized local variable
        backlight: pwm_bl: Use dev_err_probe
        backlight: mp3309c: Add support for MPS MP3309C
        dt-bindings: backlight: mp3309c: Remove two required properties
      21c91bb9
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.8-2024-01-18' of git://git.infradead.org/users/hch/dma-mapping · 17e232b6
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - fix kerneldoc warnings (Randy Dunlap)
      
       - better bounds checking in swiotlb (ZhangPeng)
      
      * tag 'dma-mapping-6.8-2024-01-18' of git://git.infradead.org/users/hch/dma-mapping:
        dma-debug: fix kernel-doc warnings
        swiotlb: check alloc_size before the allocation of a new memory pool
      17e232b6
    • Linus Torvalds's avatar
      Merge tag 'memblock-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 77c9622d
      Linus Torvalds authored
      Pull memblock update from Mike Rapoport:
       "Code readability improvement.
      
        Use NUMA_NO_NODE instead of -1 as return value of
        memblock_search_pfn_nid() to improve code readability
        and consistency with the callers of that function"
      
      * tag 'memblock-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock: Return NUMA_NO_NODE instead of -1 to improve code readability
      77c9622d
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 0b7359cc
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - vdpa/mlx5: support for resumable vqs
      
       - virtio_scsi: mq_poll support
      
       - 3virtio_pmem: support SHMEM_REGION
      
       - virtio_balloon: stay awake while adjusting balloon
      
       - virtio: support for no-reset virtio PCI PM
      
       - Fixes, cleanups
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vdpa/mlx5: Add mkey leak detection
        vdpa/mlx5: Introduce reference counting to mrs
        vdpa/mlx5: Use vq suspend/resume during .set_map
        vdpa/mlx5: Mark vq state for modification in hw vq
        vdpa/mlx5: Mark vq addrs for modification in hw vq
        vdpa/mlx5: Introduce per vq and device resume
        vdpa/mlx5: Allow modifying multiple vq fields in one modify command
        vdpa/mlx5: Expose resumable vq capability
        vdpa: Block vq property changes in DRIVER_OK
        vdpa: Track device suspended state
        scsi: virtio_scsi: Add mq_poll support
        virtio_pmem: support feature SHMEM_REGION
        virtio_balloon: stay awake while adjusting balloon
        vdpa: Remove usage of the deprecated ida_simple_xx() API
        virtio: Add support for no-reset virtio PCI PM
        virtio_net: fix missing dma unmap for resize
        vhost-vdpa: account iommu allocations
        vdpa: Fix an error handling path in eni_vdpa_probe()
      0b7359cc
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.8-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · da3c45c7
      Linus Torvalds authored
      Pull hwmonfix from Guenter Roeck:
       "Fix crash seen when instantiating npcm750-pwm-fan"
      
      * tag 'hwmon-for-v6.8-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (npcm750-pwm-fan) Fix crash observed when instantiating nuvoton,npcm750-pwm-fan
      da3c45c7
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · db5ccb9e
      Linus Torvalds authored
      Pull CXL (Compute Express Link) updates from Dan Williams:
       "The bulk of this update is support for enumerating the performance
        capabilities of CXL memory targets and connecting that to a platform
        CXL memory QoS class. Some follow-on work remains to hook up this data
        into core-mm policy, but that is saved for v6.9.
      
        The next significant update is unifying how CXL event records (things
        like background scrub errors) are processed between so called
        "firmware first" and native error record retrieval. The CXL driver
        handler that processes the record retrieved from the device mailbox is
        now the handler for that same record format coming from an EFI/ACPI
        notification source.
      
        This also contains miscellaneous feature updates, like Get Timestamp,
        and other fixups.
      
        Summary:
      
         - Add support for parsing the Coherent Device Attribute Table (CDAT)
      
         - Add support for calculating a platform CXL QoS class from CDAT data
      
         - Unify the tracing of EFI CXL Events with native CXL Events.
      
         - Add Get Timestamp support
      
         - Miscellaneous cleanups and fixups"
      
      * tag 'cxl-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (41 commits)
        cxl/core: use sysfs_emit() for attr's _show()
        cxl/pci: Register for and process CPER events
        PCI: Introduce cleanup helpers for device reference counts and locks
        acpi/ghes: Process CXL Component Events
        cxl/events: Create a CXL event union
        cxl/events: Separate UUID from event structures
        cxl/events: Remove passing a UUID to known event traces
        cxl/events: Create common event UUID defines
        cxl/events: Promote CXL event structures to a core header
        cxl: Refactor to use __free() for cxl_root allocation in cxl_endpoint_port_probe()
        cxl: Refactor to use __free() for cxl_root allocation in cxl_find_nvdimm_bridge()
        cxl: Fix device reference leak in cxl_port_perf_data_calculate()
        cxl: Convert find_cxl_root() to return a 'struct cxl_root *'
        cxl: Introduce put_cxl_root() helper
        cxl/port: Fix missing target list lock
        cxl/port: Fix decoder initialization when nr_targets > interleave_ways
        cxl/region: fix x9 interleave typo
        cxl/trace: Pass UUID explicitly to event traces
        cxl/region: use %pap format to print resource_size_t
        cxl/region: Add dev_dbg() detail on failure to allocate HPA space
        ...
      db5ccb9e
  3. 18 Jan, 2024 7 commits
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.8-rc1' of https://github.com/awilliam/linux-vfio · 244aefb1
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Add debugfs support, initially used for reporting device migration
         state (Longfang Liu)
      
       - Fixes and support for migration dirty tracking across multiple IOVA
         regions in the pds-vfio-pci driver (Brett Creeley)
      
       - Improved IOMMU allocation accounting visibility (Pasha Tatashin)
      
       - Virtio infrastructure and a new virtio-vfio-pci variant driver, which
         provides emulation of a legacy virtio interfaces on modern virtio
         hardware for virtio-net VF devices where the PF driver exposes
         support for legacy admin queues, ie. an emulated IO BAR on an SR-IOV
         VF to provide driver ABI compatibility to legacy devices (Yishai
         Hadas & Feng Liu)
      
       - Migration fixes for the hisi-acc-vfio-pci variant driver (Shameer
         Kolothum)
      
       - Kconfig dependency fix for new virtio-vfio-pci variant driver (Arnd
         Bergmann)
      
      * tag 'vfio-v6.8-rc1' of https://github.com/awilliam/linux-vfio: (22 commits)
        vfio/virtio: fix virtio-pci dependency
        hisi_acc_vfio_pci: Update migration data pointer correctly on saving/resume
        vfio/virtio: Declare virtiovf_pci_aer_reset_done() static
        vfio/virtio: Introduce a vfio driver over virtio devices
        vfio/pci: Expose vfio_pci_core_iowrite/read##size()
        vfio/pci: Expose vfio_pci_core_setup_barmap()
        virtio-pci: Introduce APIs to execute legacy IO admin commands
        virtio-pci: Initialize the supported admin commands
        virtio-pci: Introduce admin commands
        virtio-pci: Introduce admin command sending function
        virtio-pci: Introduce admin virtqueue
        virtio: Define feature bit for administration virtqueue
        vfio/type1: account iommu allocations
        vfio/pds: Add multi-region support
        vfio/pds: Move seq/ack bitmaps into region struct
        vfio/pds: Pass region info to relevant functions
        vfio/pds: Move and rename region specific info
        vfio/pds: Only use a single SGL for both seq and ack
        vfio/pds: Fix calculations in pds_vfio_dirty_sync
        MAINTAINERS: Add vfio debugfs interface doc link
        ...
      244aefb1
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 86c4d58a
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
       "This brings the first of three planned user IO page table invalidation
        operations:
      
         - IOMMU_HWPT_INVALIDATE allows invalidating the IOTLB integrated into
           the iommu itself. The Intel implementation will also generate an
           ATC invalidation to flush the device IOTLB as it unambiguously
           knows the device, but other HW will not.
      
        It goes along with the prior PR to implement userspace IO page tables
        (aka nested translation for VMs) to allow Intel to have full
        functionality for simple cases. An Intel implementation of the
        operation is provided.
      
        Also fix a small bug in the selftest mock iommu driver probe"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd:
        iommufd/selftest: Check the bus type during probe
        iommu/vt-d: Add iotlb flush for nested domain
        iommufd: Add data structure for Intel VT-d stage-1 cache invalidation
        iommufd/selftest: Add coverage for IOMMU_HWPT_INVALIDATE ioctl
        iommufd/selftest: Add IOMMU_TEST_OP_MD_CHECK_IOTLB test op
        iommufd/selftest: Add mock_domain_cache_invalidate_user support
        iommu: Add iommu_copy_struct_from_user_array helper
        iommufd: Add IOMMU_HWPT_INVALIDATE
        iommu: Add cache_invalidate_user op
      86c4d58a
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0dde2bf6
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core changes:
         - Fix race conditions in device probe path
         - Retire IOMMU bus_ops
         - Support for passing custom allocators to page table drivers
         - Clean up Kconfig around IOMMU_SVA
         - Support for sharing SVA domains with all devices bound to a mm
         - Firmware data parsing cleanup
         - Tracing improvements for iommu-dma code
         - Some smaller fixes and cleanups
      
        ARM-SMMU drivers:
         - Device-tree binding updates:
            - Add additional compatible strings for Qualcomm SoCs
            - Document Adreno clocks for Qualcomm's SM8350 SoC
         - SMMUv2:
            - Implement support for the ->domain_alloc_paging() callback
            - Ensure Secure context is restored following suspend of Qualcomm
              SMMU implementation
         - SMMUv3:
            - Disable stalling mode for the "quiet" context descriptor
            - Minor refactoring and driver cleanups
      
        Intel VT-d driver:
         - Cleanup and refactoring
      
        AMD IOMMU driver:
         - Improve IO TLB invalidation logic
         - Small cleanups and improvements
      
        Rockchip IOMMU driver:
         - DT binding update to add Rockchip RK3588
      
        Apple DART driver:
         - Apple M1 USB4/Thunderbolt DART support
         - Cleanups
      
        Virtio IOMMU driver:
         - Add support for iotlb_sync_map
         - Enable deferred IO TLB flushes"
      
      * tag 'iommu-updates-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (66 commits)
        iommu: Don't reserve 0-length IOVA region
        iommu/vt-d: Move inline helpers to header files
        iommu/vt-d: Remove unused vcmd interfaces
        iommu/vt-d: Remove unused parameter of intel_pasid_setup_pass_through()
        iommu/vt-d: Refactor device_to_iommu() to retrieve iommu directly
        iommu/sva: Fix memory leak in iommu_sva_bind_device()
        dt-bindings: iommu: rockchip: Add Rockchip RK3588
        iommu/dma: Trace bounce buffer usage when mapping buffers
        iommu/arm-smmu: Convert to domain_alloc_paging()
        iommu/arm-smmu: Pass arm_smmu_domain to internal functions
        iommu/arm-smmu: Implement IOMMU_DOMAIN_BLOCKED
        iommu/arm-smmu: Convert to a global static identity domain
        iommu/arm-smmu: Reorganize arm_smmu_domain_add_master()
        iommu/arm-smmu-v3: Remove ARM_SMMU_DOMAIN_NESTED
        iommu/arm-smmu-v3: Master cannot be NULL in arm_smmu_write_strtab_ent()
        iommu/arm-smmu-v3: Add a type for the STE
        iommu/arm-smmu-v3: disable stall for quiet_cd
        iommu/qcom: restore IOMMU state if needed
        iommu/arm-smmu-qcom: Add QCM2290 MDSS compatible
        iommu/arm-smmu-qcom: Add missing GMU entry to match table
        ...
      0dde2bf6
    • Linus Torvalds's avatar
      Merge tag 'percpu-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · e7ded275
      Linus Torvalds authored
      Pull percpu updates from Dennis Zhou:
       "Enable percpu page allocator for RISC-V.
      
        There are RISC-V configurations with sparse NUMA configurations and
        small vmalloc space causing dynamic percpu allocations to fail as the
        backing chunk stride is too far apart"
      
      * tag 'percpu-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        riscv: Enable pcpu page first chunk allocator
        mm: Introduce flush_cache_vmap_early()
      e7ded275
    • Linus Torvalds's avatar
      Merge tag 'eventfs-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 24f3a63e
      Linus Torvalds authored
      Pull eventfs updates from Steven Rostedt:
      
       - Remove "lookup" parameter of create_dir_dentry() and
         create_file_dentry(). These functions were called by lookup and the
         readdir logic, where readdir needed it to up the ref count of the
         dentry but the lookup did not. A "lookup" parameter was passed in to
         tell it what to do, but this complicated the code. It is better to
         just always up the ref count and require the caller to decrement it,
         even for lookup.
      
       - Modify the .iterate_shared callback to not use the dcache_readdir()
         logic and just handle what gets displayed by that one function. This
         removes the need for eventfs to hijack the file->private_data from
         the dcache_readdir() "cursor" pointer, and makes the code a bit more
         sane
      
       - Use the root and instance inodes for default ownership. Instead of
         walking the dentry tree and updating each dentry gid, use the
         getattr(), setattr() and permission() callbacks to set the ownership
         and permissions using the root or instance as the default
      
       - Some other optimizations with the eventfs iterate_shared logic
      
       - Hard-code the inodes for eventfs to the same number for files, and
         the same number for directories
      
       - Have getdent() not create dentries/inodes in iterate_shared() as now
         it has hard-coded inode numbers
      
       - Use kcalloc() instead of kzalloc() on a list of elements
      
       - Fix seq_buf warning and make static work properly.
      
      * tag 'eventfs-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        seq_buf: Make DECLARE_SEQ_BUF() usable
        eventfs: Use kcalloc() instead of kzalloc()
        eventfs: Do not create dentries nor inodes in iterate_shared
        eventfs: Have the inodes all for files and directories all be the same
        eventfs: Shortcut eventfs_iterate() by skipping entries already read
        eventfs: Read ei->entries before ei->children in eventfs_iterate()
        eventfs: Do ctx->pos update for all iterations in eventfs_iterate()
        eventfs: Have eventfs_iterate() stop immediately if ei->is_freed is set
        tracefs/eventfs: Use root and instance inodes as default ownership
        eventfs: Stop using dcache_readdir() for getdents()
        eventfs: Remove "lookup" parameter from create_dir/file_dentry()
      24f3a63e
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · a2ded784
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Allow kernel trace instance creation to specify what events are
         created
      
         Inside the kernel, a subsystem may create a tracing instance that it
         can use to send events to user space. This sub-system may not care
         about the thousands of events that exist in eventfs. Allow the
         sub-system to specify what sub-systems of events it cares about, and
         only those events are exposed to this instance.
      
       - Allow the ring buffer to be broken up into bigger sub-buffers than
         just the architecture page size.
      
         A new tracefs file called "buffer_subbuf_size_kb" is created. The
         user can now specify a minimum size the sub-buffer may be in
         kilobytes. Note, that the implementation currently make the
         sub-buffer size a power of 2 pages (1, 2, 4, 8, 16, ...) but the user
         only writes in kilobyte size, and the sub-buffer will be updated to
         the next size that it will can accommodate it. If the user writes in
         10, it will change the size to be 4 pages on x86 (16K), as that is
         the next available size that can hold 10K pages.
      
       - Update the debug output when a corrupt time is detected in the ring
         buffer. If the ring buffer detects inconsistent timestamps, there's a
         debug config options that will dump the contents of the meta data of
         the sub-buffer that is used for debugging. Add some more information
         to this dump that helps with debugging.
      
       - Add more timestamp debugging checks (only triggers when the config is
         enabled)
      
       - Increase the trace_seq iterator to 2 page sizes.
      
       - Allow strings written into tracefs_marker to be larger. Up to just
         under 2 page sizes (based on what trace_seq can hold).
      
       - Increase the trace_maker_raw write to be as big as a sub-buffer can
         hold.
      
       - Remove 32 bit time stamp logic, now that the rb_time_cmpxchg() has
         been removed.
      
       - More selftests were added.
      
       - Some code clean ups as well.
      
      * tag 'trace-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (29 commits)
        ring-buffer: Remove stale comment from ring_buffer_size()
        tracing histograms: Simplify parse_actions() function
        tracing/selftests: Remove exec permissions from trace_marker.tc test
        ring-buffer: Use subbuf_order for buffer page masking
        tracing: Update subbuffer with kilobytes not page order
        ringbuffer/selftest: Add basic selftest to test changing subbuf order
        ring-buffer: Add documentation on the buffer_subbuf_order file
        ring-buffer: Just update the subbuffers when changing their allocation order
        ring-buffer: Keep the same size when updating the order
        tracing: Stop the tracing while changing the ring buffer subbuf size
        tracing: Update snapshot order along with main buffer order
        ring-buffer: Make sure the spare sub buffer used for reads has same size
        ring-buffer: Do no swap cpu buffers if order is different
        ring-buffer: Clear pages on error in ring_buffer_subbuf_order_set() failure
        ring-buffer: Read and write to ring buffers with custom sub buffer size
        ring-buffer: Set new size of the ring buffer sub page
        ring-buffer: Add interface for configuring trace sub buffer size
        ring-buffer: Page size per ring buffer
        ring-buffer: Have ring_buffer_print_page_header() be able to access ring_buffer_iter
        ring-buffer: Check if absolute timestamp goes backwards
        ...
      a2ded784
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 5b890ad4
      Linus Torvalds authored
      Pull probes update from Masami Hiramatsu:
      
       - Update the Kprobes trace event to show the actual function name in
         notrace-symbol warning.
      
         Instead of using the user specified symbol name, use "%ps" printk
         format to show the actual symbol at the probe address. Since kprobe
         event accepts the offset from symbol which is bigger than the symbol
         size, the user specified symbol may not be the actual probed symbol.
      
      * tag 'probes-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        trace/kprobe: Display the actual notrace function when rejecting a probe
      5b890ad4