1. 25 Feb, 2023 12 commits
    • Linus Torvalds's avatar
      Merge tag 'x86_tdx_for_6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d8e47318
      Linus Torvalds authored
      Pull Intel Trust Domain Extensions (TDX) updates from Dave Hansen:
       "Other than a minor fixup, the content here is to ensure that TDX
        guests never see virtualization exceptions (#VE's) that might be
        induced by the untrusted VMM.
      
        This is a highly desirable property. Without it, #VE exception
        handling would fall somewhere between NMIs, machine checks and total
        insanity. With it, #VE handling remains pretty mundane.
      
        Summary:
      
         - Fixup comment typo
      
         - Prevent unexpected #VE's from:
            - Hosts removing perfectly good guest mappings (SEPT_VE_DISABLE)
            - Excessive #VE notifications (NOTIFY_ENABLES) which are delivered
              via a #VE"
      
      * tag 'x86_tdx_for_6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tdx: Do not corrupt frame-pointer in __tdx_hypercall()
        x86/tdx: Disable NOTIFY_ENABLES
        x86/tdx: Relax SEPT_VE_DISABLE check for debug TD
        x86/tdx: Use ReportFatalError to report missing SEPT_VE_DISABLE
        x86/tdx: Expand __tdx_hypercall() to handle more arguments
        x86/tdx: Refactor __tdx_hypercall() to allow pass down more arguments
        x86/tdx: Add more registers to struct tdx_hypercall_args
        x86/tdx: Fix typo in comment in __tdx_hypercall()
      d8e47318
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 489fa31e
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff that didn't fit anywhere else"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        nsfs: repair kernel-doc for ns_match()
        nsfs: add compat ioctl handler
        fs/cramfs: Convert kmap() to kmap_local_data()
      489fa31e
    • Linus Torvalds's avatar
      Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 3df88c6a
      Linus Torvalds authored
      Pull ipc namespace update from Al Viro:
       "Rik's patches reducing the amount of synchronize_rcu() triggered by
        ipc namespace destruction.
      
        I've some pending stuff reducing that on the normal umount side, but
        it's nowhere near ready and Rik's stuff shouldn't be held back due to
        conflicts - I'll just redo the parts of my series that stray into
        ipc/*"
      
      * 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ipc,namespace: batch free ipc_namespace structures
        ipc,namespace: make ipc namespace allocation wait for pending free
      3df88c6a
    • Linus Torvalds's avatar
      Merge branch 'work.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 10cc5d48
      Linus Torvalds authored
      Pull alpha updates from Al Viro:
       "FEN (floating-point enable) fault fix deals with a really old oopsable
        braino, the rest is alpha/boot compile fixes and minor cleaning up"
      
      * 'work.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        alpha/boot/misc: trim unused declarations
        alpha/boot/tools/objstrip: fix the check for ELF header
        alpha/boot: fix the breakage from -isystem series...
        alpha: fix FEN fault handling
      10cc5d48
    • Linus Torvalds's avatar
      Merge branch 'work.sysv' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d6b9cf41
      Linus Torvalds authored
      Pull sysv updates from Al Viro:
       "Fabio's 'switch to kmap_local_page()' patchset (originally after the
        ext2 counterpart, with a lot of cleaning up done to it; as the matter
        of fact, ext2 side is in need of similar cleanups - calling
        conventions there are bloody awful).
      
        Plus the equivalents of minix stuff..."
      
      * 'work.sysv' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        sysv: fix handling of delete_entry and set_link failures
        fs/sysv: Replace kmap() with kmap_local_page()
        fs/sysv: Use dir_put_page() in sysv_rename()
        fs/sysv: Change the signature of dir_get_page()
        fs/sysv: Use the offset_in_page() helper
        sysv: don't flush page immediately for DIRSYNC directories
      d6b9cf41
    • Linus Torvalds's avatar
      Merge branch 'work.minix' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 397aa6b6
      Linus Torvalds authored
      Pull minix updates from Al Viro:
       "Assorted fixes - mostly Christoph's"
      
      * 'work.minix' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        minix_rename(): minix_delete_entry() might fail
        minix: don't flush page immediately for DIRSYNC directories
        minix: fix error handling in minix_set_link
        minix: fix error handling in minix_delete_entry
        minix: move releasing pages into unlink and rename
        minix: make minix_new_inode() return error as ERR_PTR(-E...)
      397aa6b6
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 595fa4e3
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
       "This is a small update which features a bit of core changes and driver
        updates in Intel and cadence driver.
      
        Core:
      
         - sdw_transfer_defer() API change to drop an argument
      
         - Reset page address rework
      
         - Export sdw_nwrite_no_pm and sdw_nread_no_pm APIs
      
        Drivers:
      
         - Cadence and related intel driver updates for FIFO handling and low
           level msg transfers"
      
      * tag 'soundwire-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: cadence: further simplify low-level xfer_msg_defer() callback
        soundwire: cadence: use directly bus sdw_defer structure
        soundwire: bus: remove sdw_defer argument in sdw_transfer_defer()
        soundwire: stream: use consistent pattern for freeing buffers
        soundwire: bus: Remove unused reset_page_addr() callback
        soundwire: bus: Don't zero page registers after every transaction
        soundwire: bus_type: Avoid lockdep assert in sdw_drv_probe()
        soundwire: stream: Move remaining register accesses over to no_pm
        soundwire: debugfs: Switch to sdw_read_no_pm
        soundwire: Provide build stubs for common functions
        soundwire: bus: export sdw_nwrite_no_pm and sdw_nread_no_pm functions
        soundwire: cadence: remove unused sdw_cdns_master_ops declaration
        soundwire: enable optional clock registers for SoundWire 1.2 devices
        ASoC/soundwire: remove is_sdca boolean property
        soundwire: cadence: Drain the RX FIFO after an IO timeout
        soundwire: cadence: Remove wasted space in response_buf
        soundwire: cadence: Don't overflow the command FIFOs
        soundwire: intel: remove DAI startup/shutdown
      595fa4e3
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 8ff99ad0
      Linus Torvalds authored
      Pull phy updates from Vinod Koul:
       "This features a bunch of new device support, a couple of new drivers,
        yaml conversion and updates of a few drivers.
      
        Core support:
      
         - New devm_of_phy_optional_get() API with users and conversion
      
        New hardware support:
      
         - Mediatek MT7986 phy support
      
         - Qualcomm SM8550 UFS, PCIe, combo phy support, SM6115 / SM4250 USB3
           phy support, SM6350 combo phy support, SM6125 UFS PHY support amd
           SM8350 & SM8450 combo phy support
      
         - Qualcomm SNPS eUSB2 eUSB2 repeater drivers
      
         - Allwinner F1C100s USB PHY support
      
         - Tegra xusb support for Tegra234
      
        Updates:
      
         - Yaml conversion for Qualcomm pcie2 phy and usb-hsic-phy
      
         - G4 mode support in Qualcomm UFS phy and support for various SoCs
      
         - Yaml conversion for Meson usb2 phy
      
         - TI Type C support for usb phy for j721
      
         - Yaml conversion for Tegra xusb binding"
      
      * tag 'phy-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (106 commits)
        phy: qcom: phy-qcom-snps-eusb2: Add support for eUSB2 repeater
        phy: qcom: Add QCOM SNPS eUSB2 repeater driver
        dt-bindings: phy: qcom,snps-eusb2-phy: Add phys property for the repeater
        dt-bindings: phy: Add qcom,snps-eusb2-repeater schema file
        dt-bindings: phy: amlogic,g12a-usb3-pcie-phy: add missing optional phy-supply property
        phy: rockchip-typec: Fix unsigned comparison with less than zero
        phy: rockchip-typec: fix tcphy_get_mode error case
        phy: qcom: snps-eusb2: Add missing headers
        phy: qcom-qmp-combo: Add support for SM8550
        phy: qcom-qmp: Add v6 DP register offsets
        phy: qcom-qmp: pcs-usb: Add v6 register offsets
        dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Document SM8550 compatible
        phy: qcom: Add QCOM SNPS eUSB2 driver
        dt-bindings: phy: Add qcom,snps-eusb2-phy schema file
        phy: qcom-qmp-pcie: Add support for SM8550 g3x2 and g4x2 PCIEs
        phy: qcom-qmp: qserdes-lane-shared: Add v6 register offsets
        phy: qcom-qmp: qserdes-txrx: Add v6.20 register offsets
        phy: qcom-qmp: pcs-pcie: Add v6.20 register offsets
        phy: qcom-qmp: pcs-pcie: Add v6 register offsets
        phy: qcom-qmp: pcs: Add v6.20 register offsets
        ...
      8ff99ad0
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 9e6bfd42
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "A new driver, couple of device support and binding conversion along
        with bunch of driver updates are the main features of this.
      
        New hardware support:
      
         - TI AM62Ax controller support
      
         - Xilinx xdma driver
      
         - Qualcomm SM6125, SM8550, QDU1000/QRU1000 GPI controller
      
        Updates:
      
         - Runtime pm support for at_xdmac driver
      
         - IMX sdma binding conversion to yaml and HDMI audio support
      
         - IMX mxs binding conversion to yaml"
      
      * tag 'dmaengine-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (35 commits)
        dmaengine: idma64: Update bytes_transferred field
        dmaengine: imx-sdma: Set DMA channel to be private
        dmaengine: dw: Move check for paused channel to dwc_get_residue()
        dmaengine: ptdma: check for null desc before calling pt_cmd_callback
        dmaengine: dw-axi-dmac: Do not dereference NULL structure
        dmaengine: idxd: Fix default allowed read buffers value in group
        dmaengine: sf-pdma: pdma_desc memory leak fix
        dmaengine: Simplify dmaenginem_async_device_register() function
        dmaengine: use sysfs_emit() to instead of scnprintf()
        dmaengine: Make an order in struct dma_device definition
        dt-bindings: dma: cleanup examples - indentation, lowercase hex
        dt-bindings: dma: drop unneeded quotes
        dmaengine: xilinx: xdma: Add user logic interrupt support
        dmaengine: xilinx: xdma: Add xilinx xdma driver
        dmaengine: drivers: Use devm_platform_ioremap_resource()
        dmaengine: at_xdmac: remove empty line
        dmaengine: at_xdmac: add runtime pm support
        dmaengine: at_xdmac: align properly function members
        dmaengine: ppc4xx: Convert to use sysfs_emit()/sysfs_emit_at() APIs
        dmaengine: sun6i: Set the maximum segment size
        ...
      9e6bfd42
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 008128cd
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - new drivers for HPE GXP and Loongson 2K/LS7A
      
       - bigger refactorings for i801 and xiic
      
       - gpio driver gained ACPI and SDA-write only support
      
       - the core converted some OF helpers to fwnode helpers
      
       - usual bunch of driver updates
      
      * tag 'i2c-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
        MAINTAINERS: Add HPE GXP I2C Support
        i2c: Add GXP SoC I2C Controller
        dt-bindings: i2c: Add hpe,gxp-i2c
        i2c: xiic: Remove some dead code
        i2c: xiic: Add SCL frequency configuration support
        i2c: xiic: Update compatible with new IP version
        dt-bindings: i2c: xiic: Add 'xlnx,axi-iic-2.1' to compatible
        i2c: i801: Call i801_check_post() from i801_access()
        i2c: i801: Call i801_check_pre() from i801_access()
        i2c: i801: Centralize configuring block commands in i801_block_transaction
        i2c: i801: Centralize configuring non-block commands in i801_simple_transaction
        i2c: i801: Handle SMBAUXCTL_E32B in i801_block_transaction_by_block only
        i2c: i801: Add i801_simple_transaction(), complementing i801_block_transaction()
        Documentation: i2c: correct spelling
        dt-bindings: i2c: i2c-st: convert to DT schema
        i2c: i801: add helper i801_set_hstadd()
        i2c: i801: make FEATURE_BLOCK_PROC dependent on FEATURE_BLOCK_BUFFER
        i2c: i801: make FEATURE_HOST_NOTIFY dependent on FEATURE_IRQ
        i2c: i801: improve interrupt handler
        i2c: st: use pm_sleep_ptr to avoid ifdef CONFIG_PM_SLEEP
        ...
      008128cd
    • Linus Torvalds's avatar
      Merge tag 'for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 39f01344
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Nothing special for the power-supply subystem this time.
      
         - power-supply core: remove faulty cooling logic
      
         - convert all sysfs show() handlers from *printf() use sysfs_emit()
      
         - bq25890: add dual-charger support required by Lenovo Yoga Tab 3 Pro
      
         - bq27xxx: fix reporting critical level
      
         - syscon-reboot: add priority property support
      
         - new rt9467 charger driver
      
         - new rt9471 charger driver
      
         - new Odroid Go Ultra poweroff driver
      
         - misc minor fixes and cleanups"
      
      * tag 'for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (32 commits)
        power: reset: odroid-go-ultra: fix I2C dependency
        power: supply: leds: explicitly include linux/leds.h
        dt-bindings: power: supply: pm8941-coincell: Don't require charging properties
        dt-bindings: power: supply: pm8941-coincell: Add PM8998 compatible
        power: reset: add Odroid Go Ultra poweroff driver
        power: supply: rt9467: Fix spelling mistake "attache" -> "attach"
        power: supply: rt9471: fix using wrong ce_gpio in rt9471_probe()
        power: supply: max77650: Make max77650_charger_disable() return void
        Documentation: power: rt9467: Document exported sysfs entries
        power: supply: rt9467: Add Richtek RT9467 charger driver
        dt-bindings: power: supply: Add Richtek RT9467 battery charger
        Documentation: power: rt9471: Document exported sysfs entries
        power: supply: rt9471: Add Richtek RT9471 charger driver
        dt-bindings: power: supply: Add Richtek RT9471 battery charger
        power: supply: max1721x: Use strscpy() is more robust and safer
        power: supply: test-power: use strscpy() instead of strncpy()
        power: supply: bq27xxx: fix reporting critical level
        power: supply: bq256xx: Init ichg/vbat value with chip default value
        power: supply: collie_battery: Convert to GPIO descriptors (part 2)
        power: supply: remove faulty cooling logic
        ...
      39f01344
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 90ddb3f0
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
      
         - Rework portdrv shutdown so it disables interrupts but doesn't
           disable bus mastering, which leads to hangs on Loongson LS7A
      
         - Add mechanism to prevent Max_Read_Request_Size (MRRS) increases,
           again to avoid hardware issues on Loongson LS7A (and likely other
           devices based on DesignWare IP)
      
         - Ignore devices with a firmware (DT or ACPI) node that says the
           device is disabled
      
        Resource management:
      
         - Distribute spare resources to unconfigured hotplug bridges at
           boot-time (not just when hot-adding such a bridge), which makes
           hot-adding devices to docks work better. Tried this in v6.1 but had
           to revert for regressions, so try again
      
         - Fix root bus issue that dropped resources that happened to end
           at 0, e.g., [bus 00]
      
        PCI device hotplug:
      
         - Remove device locking when marking device as disconnected so this
           doesn't have to wait for concurrent driver bind/unbind to complete
      
         - Quirk more Qualcomm bridges that don't fully implement the PCIe
           Slot Status 'Command Completed' bit
      
        Power management:
      
         - Account for _S0W of the target bridge in acpi_pci_bridge_d3() so we
           don't miss hot-add notifications for USB4 docks, Thunderbolt, etc
      
        Reset:
      
         - Observe delay after reset, e.g., resuming from system sleep,
           regardless of whether a bridge can suspend to D3cold at runtime
      
         - Wait for secondary bus to become ready after a bridge reset
      
        Virtualization:
      
         - Avoid FLR on some AMD FCH AHCI adapters where it doesn't work
      
         - Allow independent IOMMU groups for some Wangxun NICs that prevent
           peer-to-peer transactions but don't advertise an ACS Capability
      
        Error handling:
      
         - Configure End-to-End-CRC (ECRC) only if Linux owns the AER
           Capability
      
         - Remove redundant Device Control Error Reporting Enable in the AER
           service driver since this is already done for all devices during
           enumeration
      
        ASPM:
      
         - Add pci_enable_link_state() interface to allow drivers to enable
           ASPM link state
      
        Endpoint framework:
      
         - Move dra7xx and tegra194 linkup processing from hard IRQ to
           threaded IRQ handler
      
         - Add a separate lock for endpoint controller list of endpoint
           function drivers to prevent deadlock in callbacks
      
         - Pass events from endpoint controller to endpoint function drivers
           via callbacks instead of notifiers
      
        Synopsys DesignWare eDMA controller driver (acked by Vinod):
      
         - Fix CPU vs PCI address issues
      
         - Fix source vs destination address issues
      
         - Fix issues with interleaved transfer semantics
      
         - Fix channel count initialization issue (issue still exists in
           several other drivers)
      
         - Clean up and improve debugfs usage so it will work on platforms
           with several eDMA devices
      
        Baikal T-1 PCIe controller driver:
      
         - Set a 64-bit DMA mask
      
        Freescale i.MX6 PCIe controller driver:
      
         - Add i.MX8MM, i.MX8MQ, i.MX8MP endpoint mode DT binding and driver
           support
      
        Intel VMD host bridge driver:
      
         - Add quirk to configure PCIe ASPM and LTR. This is normally done by
           BIOS, and will be for future products
      
        Marvell MVEBU PCIe controller driver:
      
         - Mark this driver as broken in Kconfig since bugs prevent its daily
           usage
      
        MediaTek MT7621 PCIe controller driver:
      
         - Delay PHY port initialization to improve boot reliability for ZBT
           WE1326, ZBT WF3526-P, and some Netgear models
      
        Qualcomm PCIe controller driver:
      
         - Add MSM8998 DT compatible string
      
         - Unify MSM8996 and MSM8998 clock orderings
      
         - Add SM8350 DT binding and driver support
      
         - Add IPQ8074 Gen3 DT binding and driver support
      
         - Correct qcom,perst-regs in DT binding
      
         - Add qcom_pcie_host_deinit() so the PHY is powered off and
           regulators and clocks are disabled on late host-init errors
      
        Socionext UniPhier Pro5 controller driver:
      
         - Clean up uniphier-ep reg, clocks, resets, and their names in DT
           binding
      
        Synopsys DesignWare PCIe controller driver:
      
         - Restrict coherent DMA mask to 32 bits for MSI, but allow controller
           drivers to set 64-bit streaming DMA mask
      
         - Add eDMA engine support in both Root Port and Endpoint controllers
      
        Miscellaneous:
      
         - Remove MODULE_LICENSE from boolean drivers so they don't look like
           modules so modprobe can complain about them"
      
      * tag 'pci-v6.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (86 commits)
        PCI: dwc: Add Root Port and Endpoint controller eDMA engine support
        PCI: bt1: Set 64-bit DMA mask
        PCI: dwc: Restrict only coherent DMA mask for MSI address allocation
        dmaengine: dw-edma: Prepare dw_edma_probe() for builtin callers
        dmaengine: dw-edma: Depend on DW_EDMA instead of selecting it
        dmaengine: dw-edma: Add mem-mapped LL-entries support
        PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules
        PCI: hv: Drop duplicate PCI_MSI dependency
        PCI/P2PDMA: Annotate RCU dereference
        PCI/sysfs: Constify struct kobj_type pci_slot_ktype
        PCI: hotplug: Allow marking devices as disconnected during bind/unbind
        PCI: pciehp: Add Qualcomm quirk for Command Completed erratum
        PCI: qcom: Add IPQ8074 Gen3 port support
        dt-bindings: PCI: qcom: Add IPQ8074 Gen3 port
        dt-bindings: PCI: qcom: Sort compatibles alphabetically
        PCI: qcom: Fix host-init error handling
        PCI: qcom: Add SM8350 support
        dt-bindings: PCI: qcom: Add SM8350
        dt-bindings: PCI: qcom-ep: Correct qcom,perst-regs
        dt-bindings: PCI: qcom: Unify MSM8996 and MSM8998 clock order
        ...
      90ddb3f0
  2. 24 Feb, 2023 12 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 8cbd9233
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Quite a small cycle this time, even with the rc8. I suppose everyone
        went to sleep over xmas.
      
         - Minor driver updates for hfi1, cxgb4, erdma, hns, irdma, mlx5, siw,
           mana
      
         - inline CQE support for hns
      
         - Have mlx5 display device error codes
      
         - Pinned DMABUF support for irdma
      
         - Continued rxe cleanups, particularly converting the MRs to use
           xarray
      
         - Improvements to what can be cached in the mlx5 mkey cache"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (61 commits)
        IB/mlx5: Extend debug control for CC parameters
        IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
        IB/hfi1: Fix math bugs in hfi1_can_pin_pages()
        RDMA/irdma: Add support for dmabuf pin memory regions
        RDMA/mlx5: Use query_special_contexts for mkeys
        net/mlx5e: Use query_special_contexts for mkeys
        net/mlx5: Change define name for 0x100 lkey value
        net/mlx5: Expose bits for querying special mkeys
        RDMA/rxe: Fix missing memory barriers in rxe_queue.h
        RDMA/mana_ib: Fix a bug when the PF indicates more entries for registering memory on first packet
        RDMA/rxe: Remove rxe_alloc()
        RDMA/cma: Distinguish between sockaddr_in and sockaddr_in6 by size
        Subject: RDMA/rxe: Handle zero length rdma
        iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry()
        RDMA/mlx5: Use rdma_umem_for_each_dma_block()
        RDMA/umem: Remove unused 'work' member from struct ib_umem
        RDMA/irdma: Cap MSIX used to online CPUs + 1
        RDMA/mlx5: Check reg_create() create for errors
        RDMA/restrack: Correct spelling
        RDMA/cxgb4: Fix potential null-ptr-deref in pass_establish()
        ...
      8cbd9233
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 143c7bc6
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
       "Some polishing and small fixes for iommufd:
      
         - Remove IOMMU_CAP_INTR_REMAP, instead rely on the interrupt
           subsystem
      
         - Use GFP_KERNEL_ACCOUNT inside the iommu_domains
      
         - Support VFIO_NOIOMMU mode with iommufd
      
         - Various typos
      
         - A list corruption bug if HWPTs are used for attach"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd:
        iommufd: Do not add the same hwpt to the ioas->hwpt_list twice
        iommufd: Make sure to zero vfio_iommu_type1_info before copying to user
        vfio: Support VFIO_NOIOMMU with iommufd
        iommufd: Add three missing structures in ucmd_buffer
        selftests: iommu: Fix test_cmd_destroy_access() call in user_copy
        iommu: Remove IOMMU_CAP_INTR_REMAP
        irq/s390: Add arch_is_isolated_msi() for s390
        iommu/x86: Replace IOMMU_CAP_INTR_REMAP with IRQ_DOMAIN_FLAG_ISOLATED_MSI
        genirq/msi: Rename IRQ_DOMAIN_MSI_REMAP to IRQ_DOMAIN_ISOLATED_MSI
        genirq/irqdomain: Remove unused irq_domain_check_msi_remap() code
        iommufd: Convert to msi_device_has_isolated_msi()
        vfio/type1: Convert to iommu_group_has_isolated_msi()
        iommu: Add iommu_group_has_isolated_msi()
        genirq/msi: Add msi_device_has_isolated_msi()
      143c7bc6
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · a13de74e
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Consolidate iommu_map/unmap functions.
      
         There have been blocking and atomic variants so far, but that was
         problematic as this approach does not scale with required new
         variants which just differ in the GFP flags used. So Jason
         consolidated this back into single functions that take a GFP
         parameter.
      
       - Retire the detach_dev() call-back in iommu_ops
      
       - Arm SMMU updates from Will:
           - Device-tree binding updates:
               - Cater for three power domains on SM6375
               - Document existing compatible strings for Qualcomm SoCs
               - Tighten up clocks description for platform-specific
                 compatible strings
           - Enable Qualcomm workarounds for some additional platforms that
             need them
      
       - Intel VT-d updates from Lu Baolu:
           - Add Intel IOMMU performance monitoring support
           - Set No Execute Enable bit in PASID table entry
           - Two performance optimizations
           - Fix PASID directory pointer coherency
           - Fix missed rollbacks in error path
           - Cleanups
      
       - Apple t8110 DART support
      
       - Exynos IOMMU:
           - Implement better fault handling
           - Error handling fixes
      
       - Renesas IPMMU:
           - Add device tree bindings for r8a779g0
      
       - AMD IOMMU:
           - Various fixes for handling on SNP-enabled systems and
             handling of faults with unknown request-ids
           - Cleanups and other small fixes
      
       - Various other smaller fixes and cleanups
      
      * tag 'iommu-updates-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (71 commits)
        iommu/amd: Skip attach device domain is same as new domain
        iommu: Attach device group to old domain in error path
        iommu/vt-d: Allow to use flush-queue when first level is default
        iommu/vt-d: Fix PASID directory pointer coherency
        iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode
        iommu/vt-d: Fix error handling in sva enable/disable paths
        iommu/amd: Improve page fault error reporting
        iommu/amd: Do not identity map v2 capable device when snp is enabled
        iommu: Fix error unwind in iommu_group_alloc()
        iommu/of: mark an unused function as __maybe_unused
        iommu: dart: DART_T8110_ERROR range should be 0 to 5
        iommu/vt-d: Enable IOMMU perfmon support
        iommu/vt-d: Add IOMMU perfmon overflow handler support
        iommu/vt-d: Support cpumask for IOMMU perfmon
        iommu/vt-d: Add IOMMU perfmon support
        iommu/vt-d: Support Enhanced Command Interface
        iommu/vt-d: Retrieve IOMMU perfmon capability information
        iommu/vt-d: Support size of the register set in DRHD
        iommu/vt-d: Set No Execute Enable bit in PASID table entry
        iommu/vt-d: Remove sva from intel_svm_dev
        ...
      a13de74e
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 8395d932
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "DT core:
      
         - Add node lifecycle unit tests
      
         - Add of_property_present() helper aligned with fwnode API
      
         - Print more information on reserved regions on boot
      
         - Update dtc to upstream v1.6.1-66-gabbd523bae6e
      
         - Use strscpy() to instead of strncpy() in DT core
      
         - Add option for schema validation on %.dtb targets
      
        Bindings:
      
         - Add/fix support for listing multiple patterns in DT_SCHEMA_FILES
      
         - Rework external memory controller/bus bindings to properly support
           controller specific child node properties
      
         - Convert loongson,ls1x-intc, fcs,fusb302, sil,sii8620, Rockchip
           RK3399 PCIe, Synquacer I2C, and Synquacer EXIU bindings to DT
           schema format
      
         - Add RiscV SBI PMU event mapping binding
      
         - Add missing contraints on Arm SCMI child node allowed properties
      
         - Add a bunch of missing Socionext UniPhier glue block bindings and
           example fixes
      
         - Various fixes for duplicate or conflicting type definitions on DT
           properties"
      
      * tag 'devicetree-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (66 commits)
        dt-bindings: regulator: Add mps,mpq7932 power-management IC
        of: dynamic: Fix spelling mistake "kojbect" -> "kobject"
        dt-bindings: drop Sagar Kadam from SiFive binding maintainership
        dt-bindings: sram: qcom,imem: document sm8450
        dt-bindings: interrupt-controller: convert loongson,ls1x-intc.txt to json-schema
        dt-bindings: arm: Add Cortex-A715 and X3
        of: dynamic: add lifecycle docbook info to node creation functions
        of: add consistency check to of_node_release()
        of: do not use "%pOF" printk format on node with refcount of zero
        of: unittest: add node lifecycle tests
        of: update kconfig unittest help
        of: add processing of EXPECT_NOT to of_unittest_expect
        of: prepare to add processing of EXPECT_NOT to of_unittest_expect
        of: Use preferred of_property_read_* functions
        of: Use of_property_present() helper
        of: Add of_property_present() helper
        of: reserved_mem: Use proper binary prefix
        dt-bindings: Fix multi pattern support in DT_SCHEMA_FILES
        of: reserved-mem: print out reserved-mem details during boot
        dt-bindings: serial: restrict possible child node names
        ...
      8395d932
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · a93e884e
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the large set of driver core changes for 6.3-rc1.
      
        There's a lot of changes this development cycle, most of the work
        falls into two different categories:
      
         - fw_devlink fixes and updates. This has gone through numerous review
           cycles and lots of review and testing by lots of different devices.
           Hopefully all should be good now, and Saravana will be keeping a
           watch for any potential regression on odd embedded systems.
      
         - driver core changes to work to make struct bus_type able to be
           moved into read-only memory (i.e. const) The recent work with Rust
           has pointed out a number of areas in the driver core where we are
           passing around and working with structures that really do not have
           to be dynamic at all, and they should be able to be read-only
           making things safer overall. This is the contuation of that work
           (started last release with kobject changes) in moving struct
           bus_type to be constant. We didn't quite make it for this release,
           but the remaining patches will be finished up for the release after
           this one, but the groundwork has been laid for this effort.
      
        Other than that we have in here:
      
         - debugfs memory leak fixes in some subsystems
      
         - error path cleanups and fixes for some never-able-to-be-hit
           codepaths.
      
         - cacheinfo rework and fixes
      
         - Other tiny fixes, full details are in the shortlog
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      [ Geert Uytterhoeven points out that that last sentence isn't true, and
        that there's a pending report that has a fix that is queued up - Linus ]
      
      * tag 'driver-core-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (124 commits)
        debugfs: drop inline constant formatting for ERR_PTR(-ERROR)
        OPP: fix error checking in opp_migrate_dentry()
        debugfs: update comment of debugfs_rename()
        i3c: fix device.h kernel-doc warnings
        dma-mapping: no need to pass a bus_type into get_arch_dma_ops()
        driver core: class: move EXPORT_SYMBOL_GPL() lines to the correct place
        Revert "driver core: add error handling for devtmpfs_create_node()"
        Revert "devtmpfs: add debug info to handle()"
        Revert "devtmpfs: remove return value of devtmpfs_delete_node()"
        driver core: cpu: don't hand-override the uevent bus_type callback.
        devtmpfs: remove return value of devtmpfs_delete_node()
        devtmpfs: add debug info to handle()
        driver core: add error handling for devtmpfs_create_node()
        driver core: bus: update my copyright notice
        driver core: bus: add bus_get_dev_root() function
        driver core: bus: constify bus_unregister()
        driver core: bus: constify some internal functions
        driver core: bus: constify bus_get_kset()
        driver core: bus: constify bus_register/unregister_notifier()
        driver core: remove private pointer from struct bus_type
        ...
      a93e884e
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 693fed98
      Linus Torvalds authored
      Pull char/misc and other driver subsystem updates from Greg KH:
       "Here is the large set of driver changes for char/misc drivers and
        other smaller driver subsystems that flow through this git tree.
      
        Included in here are:
      
         - New IIO drivers and features and improvments in that subsystem
      
         - New hwtracing drivers and additions to that subsystem
      
         - lots of interconnect changes and new drivers as that subsystem
           seems under very active development recently. This required also
           merging in the icc subsystem changes through this tree.
      
         - FPGA driver updates
      
         - counter subsystem and driver updates
      
         - MHI driver updates
      
         - nvmem driver updates
      
         - documentation updates
      
         - Other smaller driver updates and fixes, full details in the
           shortlog
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (223 commits)
        scripts/tags.sh: fix incompatibility with PCRE2
        firmware: coreboot: Remove GOOGLE_COREBOOT_TABLE_ACPI/OF Kconfig entries
        mei: lower the log level for non-fatal failed messages
        mei: bus: disallow driver match while dismantling device
        misc: vmw_balloon: fix memory leak with using debugfs_lookup()
        nvmem: stm32: fix OPTEE dependency
        dt-bindings: nvmem: qfprom: add IPQ8074 compatible
        nvmem: qcom-spmi-sdam: register at device init time
        nvmem: rave-sp-eeprm: fix kernel-doc bad line warning
        nvmem: stm32: detect bsec pta presence for STM32MP15x
        nvmem: stm32: add OP-TEE support for STM32MP13x
        nvmem: core: use nvmem_add_one_cell() in nvmem_add_cells_from_of()
        nvmem: core: add nvmem_add_one_cell()
        nvmem: core: drop the removal of the cells in nvmem_add_cells()
        nvmem: core: move struct nvmem_cell_info to nvmem-provider.h
        nvmem: core: add an index parameter to the cell
        of: property: add #nvmem-cell-cells property
        of: property: make #.*-cells optional for simple props
        of: base: add of_parse_phandle_with_optional_args()
        net: add helper eth_addr_add()
        ...
      693fed98
    • Linus Torvalds's avatar
      Merge tag 'staging-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 0601f25d
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the "boring" staging driver update for 6.3-rc1.
      
        Nothing major in here at all, it's just lots of tiny code cleanups to
        bring some of the staging drivers more in line with the real portion
        of the kernel (apis and coding style.) Overall we remove more lines of
        code than we add, always a nice result.
      
        The big work was done by Martin Kaiser and Philipp Hortmann, both
        tackling some of the older wifi drivers, removing unused code and
        structures and a file in one case.
      
        Full details of the changes are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (219 commits)
        staging: r8188eu: Revert "staging: r8188eu: simplify rtw_get_ff_hwaddr"
        staging: r8188eu: replace hand coded loop with list_for_each_entry
        staging: r8188eu: merge _rtw_enqueue_cmd into its caller
        most: add maintainer entry
        staging: rtl8192e: Use BIT() instead of << for bit field MSR_LINK_MASK
        staging: rtl8192e: Rename DM_RxPathSelTable
        staging: rtl8192e: Rename diff_TH and disabledRF
        staging: rtl8192e: Rename Enable, cck_Rx_path and SS_TH_low
        staging: rtl8192e: Rename RateAdaptiveTH.., VeryLowRSSI and WAIotTHVal
        staging: rtl8192e: Rename RxPathSelectio.., RateAdaptive.. and RateAdap..
        staging: rtl8192e: Rename OFDM_Table.., CCK_Table_.. and RxPathSelecti..
        staging: rtl8192e: Rename MacBlkCtrl and remove double definition
        staging: rtl8192e: Remove blank lines in r8192E_hw.h, rtl_core.h and ..
        staging: rtl8192e: Rename AcmHw_ViqEn, AcmHw_VoqEn and ANAPAR_FOR_8192PciE
        staging: r8188eu: bagg_pkt parameter is not used
        staging: r8188eu: simplify rtw_get_ff_hwaddr
        staging: r8188eu: simplify xmit_buf flags
        staging: r8188eu: xmit_buf's ff_hwaddr is not used
        staging: r8188eu: remove unused frametag defines
        staging: r8188eu: simplify rtw_alloc_xmitframe
        ...
      0601f25d
    • Linus Torvalds's avatar
      Merge tag 'tty-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 17cd4d6f
      Linus Torvalds authored
      Pull tty / serial driver updates from Greg KH:
       "Here is the big set of serial and tty driver updates for 6.3-rc1.
      
        Once again, Jiri and Ilpo have done a number of core vt and tty/serial
        layer cleanups that were much needed and appreciated. Other than that,
        it's just a bunch of little tty/serial driver updates:
      
         - qcom-geni-serial driver updates
      
         - liteuart driver updates
      
         - hvcs driver cleanups
      
         - n_gsm updates and additions for new features
      
         - more 8250 device support added
      
         - fpga/dfl update and additions
      
         - imx serial driver updates
      
         - fsl_lpuart updates
      
         - other tiny fixes and updates for serial drivers
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (143 commits)
        tty: n_gsm: add keep alive support
        serial: imx: remove a redundant check
        dt-bindings: serial: snps-dw-apb-uart: add dma & dma-names properties
        soc: qcom: geni-se: Move qcom-geni-se.h to linux/soc/qcom/geni-se.h
        tty: n_gsm: add TIOCMIWAIT support
        tty: n_gsm: add RING/CD control support
        tty: n_gsm: mark unusable ioctl structure fields accordingly
        serial: imx: get rid of registers shadowing
        serial: imx: refine local variables in rxint()
        serial: imx: stop using USR2 in FIFO reading loop
        serial: imx: remove redundant USR2 read from FIFO reading loop
        serial: imx: do not break from FIFO reading loop prematurely
        serial: imx: do not sysrq broken chars
        serial: imx: work-around for hardware RX flood
        serial: imx: factor-out common code to imx_uart_soft_reset()
        serial: 8250_pci1xxxx: Add power management functions to quad-uart driver
        serial: 8250_pci1xxxx: Add RS485 support to quad-uart driver
        serial: 8250_pci1xxxx: Add driver for quad-uart support
        serial: 8250_pci: Add serial8250_pci_setup_port definition in 8250_pcilib.c
        tty: pcn_uart: fix memory leak with using debugfs_lookup()
        ...
      17cd4d6f
    • Linus Torvalds's avatar
      Merge tag 'usb-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 72bffe7e
      Linus Torvalds authored
      Pull USB / Thunderbolt driver updates from Greg KH:
       "Here is the big set of USB and Thunderbolt driver changes for 6.3-rc1.
      
        Nothing major in here, just lots of good development, including:
      
         - Thunderbolt additions for new device support and features
      
         - xhci driver updates and cleanups
      
         - USB gadget media driver updates (includes media core changes that
           were acked by the v4l2 maintainers)
      
         - lots of other USB gadget driver updates for new features
      
         - dwc3 driver updates and fixes
      
         - minor debugfs leak fixes
      
         - typec driver updates and additions
      
         - dt-bindings conversions to yaml
      
         - other small bugfixes and driver updates
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'usb-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (237 commits)
        usb: dwc3: xilinx: Remove unused of_gpio,h
        usb: typec: pd: Add higher capability sysfs for sink PDO
        usb: typec: pd: Remove usb_suspend_supported sysfs from sink PDO
        usb: dwc3: pci: add support for the Intel Meteor Lake-M
        usb: gadget: u_ether: Don't warn in gether_setup_name_default()
        usb: gadget: u_ether: Convert prints to device prints
        usb: gadget: u_serial: Add null pointer check in gserial_resume
        usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
        xhci: host: potential NULL dereference in xhci_generic_plat_probe()
        dt-bindings: usb: amlogic,meson-g12a-usb-ctrl: make G12A usb3-phy0 optional
        usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev
        of: device: Do not ignore error code in of_device_uevent_modalias
        of: device: Ignore modalias of reused nodes
        usb: gadget: configfs: Fix set but not used variable warning
        usb: gadget: uvc: Use custom strings if available
        usb: gadget: uvc: Allow linking function to string descs
        usb: gadget: uvc: Pick up custom string descriptor IDs
        usb: gadget: uvc: Allow linking XUs to string descriptors
        usb: gadget: configfs: Attach arbitrary strings to cdev
        usb: gadget: configfs: Support arbitrary string descriptors
        ...
      72bffe7e
    • David Howells's avatar
      cifs: Fix cifs_writepages_region() · ab7362d0
      David Howells authored
      Fix the cifs_writepages_region() to just jump over members of the batch
      that have been cleaned up rather than counting them as skipped.
      
      Unlike the other "skip_write" cases, this situation happens even for
      WB_SYNC_ALL, simply because the page has either been cleaned by somebody
      else, or was truncated.
      
      So in this case we're not "skipping" the write, we simply no longer need
      any write at all, so it's very different from the other skip_write cases.
      
      And we definitely shouldn't stop writing the rest just because of too
      many of these cases (or because we want to be rescheduled).
      
      Fixes: 3822a7c4 ("Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Link: https://lore.kernel.org/lkml/2213409.1677249075@warthog.procyon.org.uk/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ab7362d0
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2023-02-20-15-29' of... · d2980d8d
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2023-02-20-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-MM updates from Andrew Morton:
       "There is no particular theme here - mainly quick hits all over the
        tree.
      
        Most notable is a set of zlib changes from Mikhail Zaslonko which
        enhances and fixes zlib's use of S390 hardware support: 'lib/zlib: Set
        of s390 DFLTCC related patches for kernel zlib'"
      
      * tag 'mm-nonmm-stable-2023-02-20-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (55 commits)
        Update CREDITS file entry for Jesper Juhl
        sparc: allow PM configs for sparc32 COMPILE_TEST
        hung_task: print message when hung_task_warnings gets down to zero.
        arch/Kconfig: fix indentation
        scripts/tags.sh: fix the Kconfig tags generation when using latest ctags
        nilfs2: prevent WARNING in nilfs_dat_commit_end()
        lib/zlib: remove redundation assignement of avail_in dfltcc_gdht()
        lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default
        lib/zlib: DFLTCC always switch to software inflate for Z_PACKET_FLUSH option
        lib/zlib: DFLTCC support inflate with small window
        lib/zlib: Split deflate and inflate states for DFLTCC
        lib/zlib: DFLTCC not writing header bits when avail_out == 0
        lib/zlib: fix DFLTCC ignoring flush modes when avail_in == 0
        lib/zlib: fix DFLTCC not flushing EOBS when creating raw streams
        lib/zlib: implement switching between DFLTCC and software
        lib/zlib: adjust offset calculation for dfltcc_state
        nilfs2: replace WARN_ONs for invalid DAT metadata block requests
        scripts/spelling.txt: add "exsits" pattern and fix typo instances
        fs: gracefully handle ->get_block not mapping bh in __mpage_writepage
        cramfs: Kconfig: fix spelling & punctuation
        ...
      d2980d8d
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 3822a7c4
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - Daniel Verkamp has contributed a memfd series ("mm/memfd: add
         F_SEAL_EXEC") which permits the setting of the memfd execute bit at
         memfd creation time, with the option of sealing the state of the X
         bit.
      
       - Peter Xu adds a patch series ("mm/hugetlb: Make huge_pte_offset()
         thread-safe for pmd unshare") which addresses a rare race condition
         related to PMD unsharing.
      
       - Several folioification patch serieses from Matthew Wilcox, Vishal
         Moola, Sidhartha Kumar and Lorenzo Stoakes
      
       - Johannes Weiner has a series ("mm: push down lock_page_memcg()")
         which does perform some memcg maintenance and cleanup work.
      
       - SeongJae Park has added DAMOS filtering to DAMON, with the series
         "mm/damon/core: implement damos filter".
      
         These filters provide users with finer-grained control over DAMOS's
         actions. SeongJae has also done some DAMON cleanup work.
      
       - Kairui Song adds a series ("Clean up and fixes for swap").
      
       - Vernon Yang contributed the series "Clean up and refinement for maple
         tree".
      
       - Yu Zhao has contributed the "mm: multi-gen LRU: memcg LRU" series. It
         adds to MGLRU an LRU of memcgs, to improve the scalability of global
         reclaim.
      
       - David Hildenbrand has added some userfaultfd cleanup work in the
         series "mm: uffd-wp + change_protection() cleanups".
      
       - Christoph Hellwig has removed the generic_writepages() library
         function in the series "remove generic_writepages".
      
       - Baolin Wang has performed some maintenance on the compaction code in
         his series "Some small improvements for compaction".
      
       - Sidhartha Kumar is doing some maintenance work on struct page in his
         series "Get rid of tail page fields".
      
       - David Hildenbrand contributed some cleanup, bugfixing and
         generalization of pte management and of pte debugging in his series
         "mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE on all architectures with
         swap PTEs".
      
       - Mel Gorman and Neil Brown have removed the __GFP_ATOMIC allocation
         flag in the series "Discard __GFP_ATOMIC".
      
       - Sergey Senozhatsky has improved zsmalloc's memory utilization with
         his series "zsmalloc: make zspage chain size configurable".
      
       - Joey Gouly has added prctl() support for prohibiting the creation of
         writeable+executable mappings.
      
         The previous BPF-based approach had shortcomings. See "mm: In-kernel
         support for memory-deny-write-execute (MDWE)".
      
       - Waiman Long did some kmemleak cleanup and bugfixing in the series
         "mm/kmemleak: Simplify kmemleak_cond_resched() & fix UAF".
      
       - T.J. Alumbaugh has contributed some MGLRU cleanup work in his series
         "mm: multi-gen LRU: improve".
      
       - Jiaqi Yan has provided some enhancements to our memory error
         statistics reporting, mainly by presenting the statistics on a
         per-node basis. See the series "Introduce per NUMA node memory error
         statistics".
      
       - Mel Gorman has a second and hopefully final shot at fixing a CPU-hog
         regression in compaction via his series "Fix excessive CPU usage
         during compaction".
      
       - Christoph Hellwig does some vmalloc maintenance work in the series
         "cleanup vfree and vunmap".
      
       - Christoph Hellwig has removed block_device_operations.rw_page() in
         ths series "remove ->rw_page".
      
       - We get some maple_tree improvements and cleanups in Liam Howlett's
         series "VMA tree type safety and remove __vma_adjust()".
      
       - Suren Baghdasaryan has done some work on the maintainability of our
         vm_flags handling in the series "introduce vm_flags modifier
         functions".
      
       - Some pagemap cleanup and generalization work in Mike Rapoport's
         series "mm, arch: add generic implementation of pfn_valid() for
         FLATMEM" and "fixups for generic implementation of pfn_valid()"
      
       - Baoquan He has done some work to make /proc/vmallocinfo and
         /proc/kcore better represent the real state of things in his series
         "mm/vmalloc.c: allow vread() to read out vm_map_ram areas".
      
       - Jason Gunthorpe rationalized the GUP system's interface to the rest
         of the kernel in the series "Simplify the external interface for
         GUP".
      
       - SeongJae Park wishes to migrate people from DAMON's debugfs interface
         over to its sysfs interface. To support this, we'll temporarily be
         printing warnings when people use the debugfs interface. See the
         series "mm/damon: deprecate DAMON debugfs interface".
      
       - Andrey Konovalov provided the accurately named "lib/stackdepot: fixes
         and clean-ups" series.
      
       - Huang Ying has provided a dramatic reduction in migration's TLB flush
         IPI rates with the series "migrate_pages(): batch TLB flushing".
      
       - Arnd Bergmann has some objtool fixups in "objtool warning fixes".
      
      * tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (505 commits)
        include/linux/migrate.h: remove unneeded externs
        mm/memory_hotplug: cleanup return value handing in do_migrate_range()
        mm/uffd: fix comment in handling pte markers
        mm: change to return bool for isolate_movable_page()
        mm: hugetlb: change to return bool for isolate_hugetlb()
        mm: change to return bool for isolate_lru_page()
        mm: change to return bool for folio_isolate_lru()
        objtool: add UACCESS exceptions for __tsan_volatile_read/write
        kmsan: disable ftrace in kmsan core code
        kasan: mark addr_has_metadata __always_inline
        mm: memcontrol: rename memcg_kmem_enabled()
        sh: initialize max_mapnr
        m68k/nommu: add missing definition of ARCH_PFN_OFFSET
        mm: percpu: fix incorrect size in pcpu_obj_full_size()
        maple_tree: reduce stack usage with gcc-9 and earlier
        mm: page_alloc: call panic() when memoryless node allocation fails
        mm: multi-gen LRU: avoid futile retries
        migrate_pages: move THP/hugetlb migration support check to simplify code
        migrate_pages: batch flushing TLB
        migrate_pages: share more code between _unmap and _move
        ...
      3822a7c4
  3. 23 Feb, 2023 16 commits
    • Linus Torvalds's avatar
      Merge tag 'leds-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · e4bc1588
      Linus Torvalds authored
      Pull LED updates from Lee Jones:
       "Removed Drivers:
         - HTC ASIC3 LED
      
        New Functionality:
         - Provide generic led_get() which can be used by both DT and !DT
           platforms
      
        Fix-ups:
         - Convert a bunch of I2C subsystem users to the new probing API
         - Explicitly provide missing include files
         - Make use of led_init_default_state_get() and rid the custom
           variants
         - Use simplified fwnode_device_is_compatible() API
         - Provide some Device Tree additions / adaptions
         - Fix some trivial spelling issues
      
        Bug Fixes:
         - Prevent device refcount leak during led_put() and of_led_get()
         - Clear previous data from temporary led_pwm structure before
           processing next child
         - Fix Clang's warning about incompatible function types when using
           devm_add_action*()"
      
      * tag 'leds-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (41 commits)
        leds: Remove ide-disk trigger
        dt-bindings: leds: Add disk write/read and usb-host/usb-gadget
        Documentation: leds: Correct spelling
        dt-bindings: leds: Document Bluetooth and WLAN triggers
        leds: Remove asic3 driver
        leds: simatic-ipc-leds-gpio: Make sure we have the GPIO providing driver
        leds: tca6507: Convert to use fwnode_device_is_compatible()
        leds: syscon: Get rid of custom led_init_default_state_get()
        leds: pm8058: Get rid of custom led_init_default_state_get()
        leds: pca955x: Get rid of custom led_init_default_state_get()
        leds: mt6360: Get rid of custom led_init_default_state_get()
        leds: mt6323: Get rid of custom led_init_default_state_get()
        leds: bcm6358: Get rid of custom led_init_default_state_get()
        leds: bcm6328: Get rid of custom led_init_default_state_get()
        leds: an30259a: Get rid of custom led_init_default_state_get()
        leds: Move led_init_default_state_get() to the global header
        leds: Add missing includes and forward declarations in leds.h
        leds: is31fl319x: Wrap mutex_destroy() for devm_add_action_or_rest()
        leds: turris-omnia: Convert to i2c's .probe_new()
        leds: tlc591xx: Convert to i2c's .probe_new()
        ...
      e4bc1588
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 025cf4dc
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Drivers:
         - Add support for Kinetic KTZ8866 Backlight
      
        Removed Drivers:
         - Toshiba Sharp SL-6000 LCD and Backlight
      
        Fix-ups:
         - Provide some profiling optimisations with respect to
           pwm_get_state() and pwm_apply_state()
         - Make use of the dev_err_probe() API
         - Provide some Device Tree documentation additions / adaptions
         - Drop fall-back legacy PWM probing support
         - Convert over to new I2C probing API
         - Fix incorrect documentation
         - Make use of backlight_get_brightness() API
      
        Bug Fixes:
         - Fix disabling backlight on i.MX6 when inverted PWMs are used"
      
      * tag 'backlight-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: ktz8866: Convert to i2c's .probe_new()
        backlight: ktz8866: Add support for Kinetic KTZ8866 backlight
        dt-bindings: leds: backlight: Add Kinetic KTZ8866 backlight
        backlight: pwm_bl: Don't rely on a disabled PWM emiting inactive state
        backlight: pwm_bl: Configure pwm only once per backlight toggle
        backlight: Remove pxa tosa support
        backlight: aat2870: Use backlight helper
        backlight: ipaq_micro: Use backlight helper
        backlight: arcxcnn: Use backlight helper
        backlight: sky81452: Fix sky81452_bl_platform_data kernel-doc
        backlight: pwm_bl: Drop support for legacy PWM probing
        dt-bindings: backlight: qcom-wled: Add PMI8950 compatible
        backlight: ktd253: Switch to use dev_err_probe() helper
        backlight: backlight: Fix doc for backlight_device_get_by_name
      025cf4dc
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · c2c23dc7
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core Framework:
         - Change MFD support status from Supported to Maintained
      
        New Drivers:
         - Add support for the Intel Platform Management Component Interface
           (PMCI)
      
        Removed Drivers:
         - HTC PASIC3 LED/DS1WM
         - Toshiba T7L66XB, TC6387XB and TC6393XB TMIO
      
        New Device Support:
         - Add support for N6000 Flash to Intel M10 BMC PMCI
         - Add support for Lenovo Yoga Tab 3 to Intel CHTWC PMIC
      
        New Functionality:
         - Provide Reset support to Syscon
      
        Fix-ups:
         - Explicitly provide missing include files
         - Pass platform type data/info via the SPI/I2C/DT registration
           strategy
         - Lots of DT documentation / adaptions
         - Replace scnprintf() with preferred sysfs_emit()
         - Remove unused / superfluous code
         - Fix some trivial whitesspace / spelling / grammatical issues
         - Replace pm_power_off with new and improved
           register_sys_off_handler() API
      
        Bug Fixes:
         - Reintroduce RK808-clkout registration - fixing Wi-Fi and Bluetooth
         - Repair the order of AXPxxx IRQ PEK RISE/FALL definitions
         - Refuse to build CS5535 on unsupported UML architectures
         - Fix memory leaks in error return paths
         - Prevent refcount leaks in error return paths"
      
      * tag 'mfd-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (40 commits)
        dt-bindings: mfd: qcom,tcsr: Add compatible for IPQ5332
        dt-bindings: mfd: Add NXP BBNSM
        mfd: ntxec: Add version number for EC in Tolino Vision
        dt-bindings: mfd: syscon: Add mt8365-syscfg
        mfd: Remove toshiba tmio drivers
        mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
        mfd: syscon: Allow reset control for syscon devices
        dt-bindings: mfd/syscon: Add resets property
        dt-bindings: mfd: syscon: Add amd,pensando-elba-syscon compatible
        dt-bindings: mfd: qcom,tcsr: Add compatible for MSM8226
        mfd: simple-mfd-i2c: Fix incoherent comment regarding DT registration
        mfd: axp20x: Switch to the sys-off handler API
        mfd: core: Spelling s/compement/complement/
        mfd: max8925: Remove the unused function irq_to_max8925()
        mfd: qcom-pm8xxx: Remove set but unused variable 'rev'
        dt-bindings: mfd: syscon: Document GXP register compatible
        mfd: twl4030-power: Drop empty platform remove function
        mfd: twl: Fix TWL6032 phy vbus detection
        mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
        MAINTAINERS: Move MFD from a Supported to Maintaied state
        ...
      c2c23dc7
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · 06e1a81c
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
       "A healthy mix of EFI contributions this time:
      
         - Performance tweaks for efifb earlycon (Andy)
      
         - Preparatory refactoring and cleanup work in the efivar layer, which
           is needed to accommodate the Snapdragon arm64 laptops that expose
           their EFI variable store via a TEE secure world API (Johan)
      
         - Enhancements to the EFI memory map handling so that Xen dom0 can
           safely access EFI configuration tables (Demi Marie)
      
         - Wire up the newly introduced IBT/BTI flag in the EFI memory
           attributes table, so that firmware that is generated with ENDBR/BTI
           landing pads will be mapped with enforcement enabled
      
         - Clean up how we check and print the EFI revision exposed by the
           firmware
      
         - Incorporate EFI memory attributes protocol definition and wire it
           up in the EFI zboot code (Evgeniy)
      
           This ensures that these images can execute under new and stricter
           rules regarding the default memory permissions for EFI page
           allocations (More work is in progress here)
      
         - CPER header cleanup (Dan Williams)
      
         - Use a raw spinlock to protect the EFI runtime services stack on
           arm64 to ensure the correct semantics under -rt (Pierre)
      
         - EFI framebuffer quirk for Lenovo Ideapad (Darrell)"
      
      * tag 'efi-next-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: (24 commits)
        firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
        arm64: efi: Make efi_rt_lock a raw_spinlock
        efi: Add mixed-mode thunk recipe for GetMemoryAttributes
        efi: x86: Wire up IBT annotation in memory attributes table
        efi: arm64: Wire up BTI annotation in memory attributes table
        efi: Discover BTI support in runtime services regions
        efi/cper, cxl: Remove cxl_err.h
        efi: Use standard format for printing the EFI revision
        efi: Drop minimum EFI version check at boot
        efi: zboot: Use EFI protocol to remap code/data with the right attributes
        efi/libstub: Add memory attribute protocol definitions
        efi: efivars: prevent double registration
        efi: verify that variable services are supported
        efivarfs: always register filesystem
        efi: efivars: add efivars printk prefix
        efi: Warn if trying to reserve memory under Xen
        efi: Actually enable the ESRT under Xen
        efi: Apply allowlist to EFI configuration tables when running under Xen
        efi: xen: Implement memory descriptor lookup based on hypercall
        efi: memmap: Disregard bogus entries instead of returning them
        ...
      06e1a81c
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · f2b98d0a
      Linus Torvalds authored
      Pull bootconfig updates from Masami Hiramatsu:
      
       - Fix ftrace2bconf.sh tool for checking event enable status correctly
      
       - Add CONFIG_BOOT_CONFIG_FORCE to apply bootconfig without 'bootconfig'
         boot parameter
      
       - Enable CONFIG_BOOT_CONFIG_FORCE by default if a bootconfig is
         embedded in the kernel
      
       - Increase max number of nodes of bootconfig to 8192
      
      * tag 'bootconfig-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support
        bootconfig: Default BOOT_CONFIG_FORCE to y if BOOT_CONFIG_EMBED
        Allow forcing unconditional bootconfig processing
        tools/bootconfig: fix single & used for logical condition
      f2b98d0a
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · fcc77d7c
      Linus Torvalds authored
      Pull sysctl update from Luis Chamberlain:
       "Just one fix which just came in.
      
        Sadly the eager beavers willing to help with the sysctl moves have
        slowed"
      
      * tag 'sysctl-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        sysctl: fix proc_dobool() usability
      fcc77d7c
    • Linus Torvalds's avatar
      Merge tag 'modules-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · c538944d
      Linus Torvalds authored
      Pull modules updates from Luis Chamberlain:
       "Nothing exciting at all for modules for v6.3.
      
        The biggest change is just the change of INSTALL_MOD_DIR from "extra"
        to "updates" which I found lingered for ages for no good reason while
        testing the CXL mock driver [0].
      
        The CXL mock driver has no kconfig integration and requires building
        an external module... and re-building the *rest* of the production
        drivers. This mock driver when loaded but not the production ones will
        crash.
      
        All this can obviously be fixed by integrating kconfig semantics into
        such test module, however that's not desirable by the maintainer, and
        so sensible defaults must be used to ensure a default "make
        modules_install" will suffice for most distros which do not have a
        file like /etc/depmod.d/dist.conf with something like `search updates
        extra built-in`.
      
        Since most distros rely on kmod and since its inception the "updates"
        directory is always in the search path it makes more sense to use that
        than the "extra" which only *some* RH based systems rely on.
      
        All this stuff has been on linux-next for a while"
      
      [0] https://lkml.kernel.org/r/20221209062919.1096779-1-mcgrof@kernel.org
      
      * tag 'modules-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        Documentation: livepatch: module-elf-format: Remove local klp_modinfo definition
        module.h: Document klp_modinfo struct using kdoc
        module: Use kstrtobool() instead of strtobool()
        kernel/params.c: Use kstrtobool() instead of strtobool()
        test_kmod: stop kernel-doc warnings
        kbuild: Modify default INSTALL_MOD_DIR from extra to updates
      c538944d
    • Linus Torvalds's avatar
      Merge tag 'livepatching-for-6.3' of... · 7dd86cf8
      Linus Torvalds authored
      Merge tag 'livepatching-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching
      
      Pull livepatching updates from Petr Mladek:
      
       - Allow reloading a livepatched module by clearing livepatch-specific
         relocations in the livepatch module.
      
         Otherwise, the repeated load would fail on consistency checks.
      
      * tag 'livepatching-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        livepatch,x86: Clear relocation targets on a module removal
        x86/module: remove unused code in __apply_relocate_add
      7dd86cf8
    • Linus Torvalds's avatar
      Merge tag 'printk-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · d8763154
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Refactor printk code for formatting messages that are shown on
         consoles. This is a preparatory step for introducing atomic consoles
         which could not share the global buffers
      
       - Prevent memory leak when removing printk index in debugfs
      
       - Dump also the newest printk message by the sample gdbmacro
      
       - Fix a compiler warning
      
      * tag 'printk-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        printf: fix errname.c list
        kernel/printk/index.c: fix memory leak with using debugfs_lookup()
        printk: Use scnprintf() to print the message about the dropped messages on a console
        printk: adjust string limit macros
        printk: use printk_buffers for devkmsg
        printk: introduce console_prepend_dropped() for dropped messages
        printk: introduce printk_get_next_message() and printk_message
        printk: introduce struct printk_buffers
        console: Document struct console
        console: Use BIT() macros for @flags values
        printk: move size limit macros into internal.h
        docs: gdbmacros: print newest record
      d8763154
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · cd43b506
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
       "This time it's just a bunch of smaller cleanups and fixes for SLAB and
        SLUB:
      
         - Make it possible to use kmem_cache_alloc_bulk() early in boot when
           interrupts are not yet enabled, as code doing that started to
           appear via new maple tree users (Thomas Gleixner)
      
         - Fix debugfs-related memory leak in SLUB (Greg Kroah-Hartman)
      
         - Use the standard idiom to get head page of folio (SeongJae Park)
      
         - Simplify and inline is_debug_pagealloc_cache() in SLAB (lvqian)
      
         - Remove unused variable in SLAB (Gou Hao)"
      
      * tag 'slab-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm, slab/slub: Ensure kmem_cache_alloc_bulk() is available early
        mm/slub: fix memory leak with using debugfs_lookup()
        mm/slab.c: cleanup is_debug_pagealloc_cache()
        mm/sl{a,u}b: fix wrong usages of folio_page() for getting head pages
        mm/slab: remove unused slab_early_init
      cd43b506
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 2b79eb73
      Linus Torvalds authored
      Pull kprobes updates from Masami Hiramatsu:
      
       - Skip negative return code check for snprintf in eprobe
      
       - Add recursive call test cases for kprobe unit test
      
       - Add 'char' type to probe events to show it as the character instead
         of value
      
       - Update kselftest kprobe-event testcase to ignore '__pfx_' symbols
      
       - Fix kselftest to check filter on eprobe event correctly
      
       - Add filter on eprobe to the README file in tracefs
      
       - Fix optprobes to check whether there is 'under unoptimizing' optprobe
         when optimizing another kprobe correctly
      
       - Fix optprobe to check whether there is 'under unoptimizing' optprobe
         when fetching the original instruction correctly
      
       - Fix optprobe to free 'forcibly unoptimized' optprobe correctly
      
      * tag 'probes-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/eprobe: no need to check for negative ret value for snprintf
        test_kprobes: Add recursed kprobe test case
        tracing/probe: add a char type to show the character value of traced arguments
        selftests/ftrace: Fix probepoint testcase to ignore __pfx_* symbols
        selftests/ftrace: Fix eprobe syntax test case to check filter support
        tracing/eprobe: Fix to add filter on eprobe description in README file
        x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
        x86/kprobes: Fix __recover_optprobed_insn check optimizing logic
        kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list
      2b79eb73
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.3-1-2023-02-22' of... · 0df82189
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.3-1-2023-02-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "Miscellaneous:
      
         - Add Ian Rogers to MAINTAINERS as a perf tools reviewer.
      
         - Add support for retire latency feature (pipeline stall of a
           instruction compared to the previous one, in cycles) present on
           some Intel processors.
      
         - Add 'perf c2c' report option to show false sharing with adjacent
           cachelines, to be used in machines with cacheline prefetching,
           where accesses to a cacheline brings the next one too.
      
         - Skip 'perf test bpf' when the required kernel-debuginfo package
           isn't installed.
      
         - Avoid d3-flame-graph package dependency in 'perf script flamegraph',
           making this feature more generally available.
      
         - Add JSON metric events to present CPI stall cycles in Power10.
      
         - Assorted improvements/refactorings on the JSON metrics parsing
           code.
      
        perf lock contention:
      
         - Add -o/--lock-owner option:
      
              $ sudo ./perf lock contention -abo -- ./perf bench sched pipe
              # Running 'sched/pipe' benchmark:
              # Executed 1000000 pipe operations between two processes
      
                   Total time: 4.766 [sec]
      
                     4.766540 usecs/op
                       209795 ops/sec
               contended   total wait     max wait     avg wait          pid   owner
      
                     403    565.32 us     26.81 us      1.40 us           -1   Unknown
                       4     27.99 us      8.57 us      7.00 us      1583145   sched-pipe
                       1      8.25 us      8.25 us      8.25 us      1583144   sched-pipe
                       1      2.03 us      2.03 us      2.03 us         5068   chrome
      
               The owner is unknown in most cases. Filtering only for the
               mutex locks, it will more likely get the owners.
      
         - -S/--callstack-filter is to limit display entries having the given
           string in the callstack:
      
              $ sudo ./perf lock contention -abv -S net sleep 1
              ...
               contended   total wait     max wait     avg wait         type   caller
      
                       5     70.20 us     16.13 us     14.04 us     spinlock   __dev_queue_xmit+0xb6d
                                      0xffffffffa5dd1c60  _raw_spin_lock+0x30
                                      0xffffffffa5b8f6ed  __dev_queue_xmit+0xb6d
                                      0xffffffffa5cd8267  ip6_finish_output2+0x2c7
                                      0xffffffffa5cdac14  ip6_finish_output+0x1d4
                                      0xffffffffa5cdb477  ip6_xmit+0x457
                                      0xffffffffa5d1fd17  inet6_csk_xmit+0xd7
                                      0xffffffffa5c5f4aa  __tcp_transmit_skb+0x54a
                                      0xffffffffa5c6467d  tcp_keepalive_timer+0x2fd
      
           Please note that to have the -b option (BPF) working above one has
           to build with BUILD_BPF_SKEL=1.
      
         - Add more 'perf test' entries to test these new features.
      
        perf script:
      
         - Add 'cgroup' field for 'perf script' output:
      
              $ perf record --all-cgroups -- true
              $ perf script -F comm,pid,cgroup
                        true 337112  /user.slice/user-657345.slice/user@657345.service/...
                        true 337112  /user.slice/user-657345.slice/user@657345.service/...
                        true 337112  /user.slice/user-657345.slice/user@657345.service/...
                        true 337112  /user.slice/user-657345.slice/user@657345.service/...
      
         - Add support for showing branch speculation information in 'perf
           script' and in the 'perf report' raw dump (-D).
      
        perf record:
      
         - Fix 'perf record' segfault with --overwrite and --max-size.
      
        perf test/bench:
      
         - Switch basic BPF filtering test to use syscall tracepoint to avoid
           the variable number of probes inserted when using the previous
           probe point (do_epoll_wait) that happens on different CPU
           architectures.
      
         - Fix DWARF unwind test by adding non-inline to expected function in
           a backtrace.
      
         - Use 'grep -c' where the longer form 'grep | wc -l' was being used.
      
         - Add getpid and execve benchmarks to 'perf bench syscall'.
      
        Intel PT:
      
         - Add support for synthesizing "cycle" events from Intel PT traces as
           we support "instruction" events when Intel PT CYC packets are
           available. This enables much more accurate profiles than when using
           the regular 'perf record -e cycles' (the default) when the workload
           lasts for very short periods (<10ms).
      
         - .plt symbol handling improvements, better handling IBT (in the past
           MPX) done in the context of decoding Intel PT processor traces,
           IFUNC symbols on x86_64, static executables, understanding .plt.got
           symbols on x86_64.
      
         - Add a 'perf test' to test symbol resolution, part of the .plt
           improvements series, this tests things like symbol size in contexts
           where only the symbol start is available (kallsyms), etc.
      
         - Better handle auxtrace/Intel PT data when using pipe mode (perf
           record sleep 1|perf report).
      
         - Fix symbol lookup with kcore with multiple segments match stext,
           getting the symbol resolution to just show DSOs as unknown.
      
        ARM:
      
         - Timestamp improvements for ARM64 systems with ETMv4 (Embedded Trace
           Macrocell v4).
      
         - Ensure ARM64 CoreSight timestamps don't go backwards.
      
         - Document that ARM64 SPE (Statistical Profiling Extension) is used
           with 'perf c2c/mem'.
      
         - Add raw decoding for ARM64 SPEv1.2 previous branch address.
      
         - Update neoverse-n2-v2 ARM vendor events (JSON tables): topdown L1,
           TLB, cache, branch, PE utilization and instruction mix metrics.
      
         - Update decoder code for OpenCSD version 1.4, on ARM64 systems.
      
         - Fix command line auto-complete of CPU events on aarch64.
      
        Build:
      
         - Fix 'perf probe' and 'perf test' when libtraceevent isn't linked,
           as several tests use tracepoints, those should be skipped.
      
         - More fallout fixes for the removal of tools/lib/traceevent/.
      
         - Fix build error when linking with libpfm"
      
      * tag 'perf-tools-for-v6.3-1-2023-02-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (114 commits)
        perf tests stat_all_metrics: Change true workload to sleep workload for system wide check
        perf vendor events power10: Add JSON metric events to present CPI stall cycles in powerpc
        perf intel-pt: Synthesize cycle events
        perf c2c: Add report option to show false sharing in adjacent cachelines
        perf record: Fix segfault with --overwrite and --max-size
        perf stat: Avoid merging/aggregating metric counts twice
        perf tools: Fix perf tool build error in util/pfm.c
        perf tools: Fix auto-complete on aarch64
        perf lock contention: Support old rw_semaphore type
        perf lock contention: Add -o/--lock-owner option
        perf lock contention: Fix to save callstack for the default modified
        perf test bpf: Skip test if kernel-debuginfo is not present
        perf probe: Update the exit error codes in function try_to_find_probe_trace_event
        perf script: Fix missing Retire Latency fields option documentation
        perf event x86: Add retire_lat when synthesizing PERF_SAMPLE_WEIGHT_STRUCT
        perf test x86: Support the retire_lat (Retire Latency) sample_type check
        perf test bpf: Check for libtraceevent support
        perf script: Support Retire Latency
        perf report: Support Retire Latency
        perf lock contention: Support filters for different aggregation
        ...
      0df82189
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · b72b5fec
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Add function names as a way to filter function addresses
      
       - Add sample module to test ftrace ops and dynamic trampolines
      
       - Allow stack traces to be passed from beginning event to end event for
         synthetic events. This will allow seeing the stack trace of when a
         task is scheduled out and recorded when it gets scheduled back in.
      
       - Add trace event helper __get_buf() to use as a temporary buffer when
         printing out trace event output.
      
       - Add kernel command line to create trace instances on boot up.
      
       - Add enabling of events to instances created at boot up.
      
       - Add trace_array_puts() to write into instances.
      
       - Allow boot instances to take a snapshot at the end of boot up.
      
       - Allow live patch modules to include trace events
      
       - Minor fixes and clean ups
      
      * tag 'trace-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (31 commits)
        tracing: Remove unnecessary NULL assignment
        tracepoint: Allow livepatch module add trace event
        tracing: Always use canonical ftrace path
        tracing/histogram: Fix stacktrace histogram Documententation
        tracing/histogram: Fix stacktrace key
        tracing/histogram: Fix a few problems with stacktrace variable printing
        tracing: Add BUILD_BUG() to make sure stacktrace fits in strings
        tracing/histogram: Don't use strlen to find length of stacktrace variables
        tracing: Allow boot instances to have snapshot buffers
        tracing: Add trace_array_puts() to write into instance
        tracing: Add enabling of events to boot instances
        tracing: Add creation of instances at boot command line
        tracing: Fix trace_event_raw_event_synth() if else statement
        samples: ftrace: Make some global variables static
        ftrace: sample: avoid open-coded 64-bit division
        samples: ftrace: Include the nospec-branch.h only for x86
        tracing: Acquire buffer from temparary trace sequence
        tracing/histogram: Wrap remaining shell snippets in code blocks
        tracing/osnoise: No need for schedule_hrtimeout range
        bpf/tracing: Use stage6 of tracing to not duplicate macros
        ...
      b72b5fec
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.2-rc7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 91914238
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "Fix race that causes a warning of corrupt ring buffer
      
        With the change that allows to read the "trace" file without disabling
        writing to the ring buffer, there was an integrity check of the ring
        buffer in the iterator read code, that expected the ring buffer to be
        write disabled. This caused the integrity check to trigger when stress
        reading the "trace" file while writing was happening.
      
        The integrity check is a bit aggressive (and has never triggered in
        practice). Change it so that it checks just the integrity of the
        linked pages without clearing the flags inside the pointers. This
        removes the warning that was being triggered"
      
      [ Heh. This was supposed to have gone in last week before the 6.2
        release, but Steven forgot to actually add me to the participants of
        the pull request, so here it is, a week later   - Linus ]
      
      * tag 'trace-v6.2-rc7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Handle race between rb_move_tail and rb_check_pages
      91914238
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · d392e49a
      Linus Torvalds authored
      Pull tracing tools updates from Steven Rostedt:
      
       - Use total duration to calculate average in rtla osnoise_hist
      
       - Use 2 digit precision for displaying average
      
       - Print an intuitive auto analysis of timerlat results
      
       - Add auto analysis to timerlat top
      
       - Add hwnoise, which is the same as osnoise but focuses on hardware
      
       - Small clean ups
      
      * tag 'trace-tools-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        Documentation/rtla: Add hwnoise man page
        rtla: Add hwnoise tool
        Documentation/rtla: Add timerlat-top auto-analysis options
        rtla/timerlat: Add auto-analysis support to timerlat top
        rtla/timerlat: Add auto-analysis core
        tools/tracing/rtla: osnoise_hist: display average with two-digit precision
        tools/tracing/rtla: osnoise_hist: use total duration for average calculation
        tools/rv: Remove unneeded semicolon
      d392e49a
    • Linus Torvalds's avatar
      Merge tag 'ktest-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 2562af68
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
      
       - Fix three instances that the tty is not given back to the console on
         exit. Forcing the user to do a "reset" to get the console back.
      
       - Fix the console monitor to not hang when too much data is given by
         the ssh output.
      
      * tag 'ktest-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Restore stty setting at first in dodie
        ktest.pl: Add RUN_TIMEOUT option with default unlimited
        ktest.pl: Give back console on Ctrt^C on monitor
        ktest.pl: Fix missing "end_monitor" when machine check fails
      2562af68