1. 09 Sep, 2023 7 commits
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.6-2023-09-09' of git://git.infradead.org/users/hch/dma-mapping · 474197a4
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - move a dma-debug call that prints a message out from a lock that's
         causing problems with the lock order in serial drivers (Sergey
         Senozhatsky)
      
       - fix the CONFIG_DMA_NUMA_CMA Kconfig entry to have the right
         dependency and not default to y (Christoph Hellwig)
      
       - move an ifdef a bit to remove a __maybe_unused that seems to trip up
         some sensitivities (Christoph Hellwig)
      
       - revert a bogus check in the CMA allocator (Zhenhua Huang)
      
      * tag 'dma-mapping-6.6-2023-09-09' of git://git.infradead.org/users/hch/dma-mapping:
        Revert "dma-contiguous: check for memory region overlap"
        dma-pool: remove a __maybe_unused label in atomic_pool_expand
        dma-contiguous: fix the Kconfig entry for CONFIG_DMA_NUMA_CMA
        dma-debug: don't call __dma_entry_alloc_check_leak() under free_entries_lock
      474197a4
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.6-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 060249b5
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Add PCI_DYNAMIC_OF_NODES dependency on OF_IRQ to fix sparc64 build
         error (Lizhi Hou)
      
       - After coalescing host bridge resources, free any released resources
         to avoid a leak (Ross Lagerwall)
      
       - Revert a quirk that prevented NVIDIA T4 GPUs from using Secondary Bus
         Reset. The quirk worked around an issue that we now think is related
         to the Root Port, not the GPU (Bjorn Helgaas)
      
      * tag 'pci-v6.6-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
        Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"
        PCI: Free released resource after coalescing
        PCI: Fix CONFIG_PCI_DYNAMIC_OF_NODES kconfig dependencies
      060249b5
    • Linus Torvalds's avatar
      Merge tag 'ntb-6.6' of https://github.com/jonmason/ntb · fa9d4bf5
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Link toggling fixes and debugfs error path fixes"
      
      [ And for everybody like me who always have to remind themselves what
        the TLA of the day is, and what NTB stands for - it's a PCIe
        "Non-Transparent Bridge" thing    - Linus ]
      
      * tag 'ntb-6.6' of https://github.com/jonmason/ntb:
        ntb: Check tx descriptors outstanding instead of head/tail for tx queue
        ntb: Fix calculation ntb_transport_tx_free_entry()
        ntb: Drop packets when qp link is down
        ntb: Clean up tx tail index on link down
        ntb: amd: Drop unnecessary error check for debugfs_create_dir
        NTB: ntb_tool: Switch to memdup_user_nul() helper
        dtivers: ntb: fix parameter check in perf_setup_dbgfs()
        ntb: Remove error checking for debugfs_create_dir()
      fa9d4bf5
    • Linus Torvalds's avatar
      Merge tag '6.6-rc-ksmbd' of git://git.samba.org/ksmbd · 6099776f
      Linus Torvalds authored
      Pull smb server update from Steve French:
       "After two years, many fixes and much testing, ksmbd is no longer
        experimental"
      
      * tag '6.6-rc-ksmbd' of git://git.samba.org/ksmbd:
        ksmbd: remove experimental warning
      6099776f
    • Linus Torvalds's avatar
      Merge tag 'xarray-6.6' of git://git.infradead.org/users/willy/xarray · 3095dd99
      Linus Torvalds authored
      Pull xarray fixes from Matthew Wilcox:
      
       - Fix a bug encountered by people using bittorrent where they'd get
         NULL pointer dereferences on page cache lookups when using XFS
      
       - Two documentation fixes
      
      * tag 'xarray-6.6' of git://git.infradead.org/users/willy/xarray:
        idr: fix param name in idr_alloc_cyclic() doc
        xarray: Document necessary flag in alloc functions
        XArray: Do not return sibling entries from xa_load()
      3095dd99
    • Linus Torvalds's avatar
      Merge tag 'block-6.6-2023-09-08' of git://git.kernel.dk/linux · 7402e635
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix null_blk polled IO timeout handling (Chengming)
      
       - Regression fix for swapped arguments in drbd bvec_set_page()
         (Christoph)
      
       - String length handling fix for s390 dasd (Heiko)
      
       - Fixes for blk-throttle accounting (Yu)
      
       - Fix page pinning issue for same page segments (Christoph)
      
       - Remove redundant file_remove_privs() call (Christoph)
      
       - Fix a regression in partition handling for devices not supporting
         partitions (Li)
      
      * tag 'block-6.6-2023-09-08' of git://git.kernel.dk/linux:
        drbd: swap bvec_set_page len and offset
        block: fix pin count management when merging same-page segments
        null_blk: fix poll request timeout handling
        s390/dasd: fix string length handling
        block: don't add or resize partition on the disk with GENHD_FL_NO_PART
        block: remove the call to file_remove_privs in blkdev_write_iter
        blk-throttle: consider 'carryover_ios/bytes' in throtl_trim_slice()
        blk-throttle: use calculate_io/bytes_allowed() for throtl_trim_slice()
        blk-throttle: fix wrong comparation while 'carryover_ios/bytes' is negative
        blk-throttle: print signed value 'carryover_bytes/ios' for user
      7402e635
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.6-2023-09-08' of git://git.kernel.dk/linux · 7ccc3ebf
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A few fixes that should go into the 6.6-rc merge window:
      
         - Fix for a regression this merge window caused by the SQPOLL
           affinity patch, where we can race with SQPOLL thread shutdown and
           cause an oops when trying to set affinity (Gabriel)
      
         - Fix for a regression this merge window where fdinfo reading with
           for a ring setup with IORING_SETUP_NO_SQARRAY will attempt to
           deference the non-existing SQ ring array (me)
      
         - Add the patch that allows more finegrained control over who can use
           io_uring (Matteo)
      
         - Locking fix for a regression added this merge window for IOPOLL
           overflow (Pavel)
      
         - IOPOLL fix for stable, breaking our loop if helper threads are
           exiting (Pavel)
      
        Also had a fix for unreaped iopoll requests from io-wq from Ming, but
        we found an issue with that and hence it got reverted. Will get this
        sorted for a future rc"
      
      * tag 'io_uring-6.6-2023-09-08' of git://git.kernel.dk/linux:
        Revert "io_uring: fix IO hang in io_wq_put_and_exit from do_exit()"
        io_uring: fix unprotected iopoll overflow
        io_uring: break out of iowq iopoll on teardown
        io_uring: add a sysctl to disable io_uring system-wide
        io_uring/fdinfo: only print ->sq_array[] if it's there
        io_uring: fix IO hang in io_wq_put_and_exit from do_exit()
        io_uring: Don't set affinity on a dying sqpoll thread
      7ccc3ebf
  2. 08 Sep, 2023 16 commits
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.6-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 32bf43e4
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "Eliminate an obsolete thermal zone registration function"
      
      * tag 'thermal-6.6-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: Drop thermal_zone_device_register()
        thermal: Use thermal_tripless_zone_device_register()
        thermal: core: Add function for registering tripless thermal zones
        thermal: core: Clean up headers of thermal zone registration functions
      32bf43e4
    • Linus Torvalds's avatar
      Merge tag 'pm-6.6-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fd88c59e
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Fix an Intel RAPL power capping driver regression introduced during
        the 6.5 development cycle (Srinivas Pandruvada)"
      
      * tag 'pm-6.6-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        powercap: intel_rapl: Fix invalid setting of Power Limit 4
      fd88c59e
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · d30c0d32
      Linus Torvalds authored
      Pull gpio fix from Bartosz Golaszewski:
      
       - fix a regression in irqchip setup in gpio-zynq
      
      * tag 'gpio-fixes-for-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: zynq: restore zynq_gpio_irq_reqres/zynq_gpio_irq_relres callbacks
      d30c0d32
    • Bjorn Helgaas's avatar
      Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset" · 5260bd6d
      Bjorn Helgaas authored
      This reverts commit d5af729d.
      
      d5af729d ("PCI: Mark NVIDIA T4 GPUs to avoid bus reset") avoided
      Secondary Bus Reset on the T4 because the reset seemed to not work when the
      T4 was directly attached to a Root Port.
      
      But NVIDIA thinks the issue is probably related to some issue with the Root
      Port, not with the T4.  The T4 provides neither PM nor FLR reset, so
      masking bus reset compromises this device for assignment scenarios.
      
      Revert d5af729d as requested by Wu Zongyong.  This will leave SBR
      broken in the specific configuration Wu tested, as it was in v6.5, so Wu
      will debug that further.
      
      Link: https://lore.kernel.org/r/ZPqMCDWvITlOLHgJ@wuzongyong-alibaba
      Link: https://lore.kernel.org/r/20230908201104.GA305023@bhelgaasSigned-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      5260bd6d
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a3d231e4
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes for 6.6-rc1. All small and easy ones.
      
         - The corrections of the previous PCM iov_iter transitions
      
         - Regression fixes in MIDI 2.0 / USB changes
      
         - Various ASoC codec fixes for Cirrus, Realtek, WCD
      
         - ASoC AMD quirks and ASoC Intel AVS driver workaround"
      
      * tag 'sound-fix-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (21 commits)
        ALSA: hda/realtek - ALC287 I2S speaker platform support
        ASoC: amd: yc: Fix a non-functional mic on Lenovo 82TL
        ASoC: Intel: avs: Provide support for fallback topology
        ALSA: seq: Fix snd_seq_expand_var_event() call to user-space
        ALSA: usb-audio: Fix potential memory leaks at error path for UMP open
        ALSA: hda/cirrus: Fix broken audio on hardware with two CS42L42 codecs.
        ASoC: rt5645: NULL pointer access when removing jack
        ASoC: amd: yc: Add DMI entries to support Victus by HP Gaming Laptop 15-fb0xxx (8A3E)
        MAINTAINERS: Update the MAINTAINERS enties for TEXAS INSTRUMENTS ASoC DRIVERS
        ALSA: sb: Fix wrong argument in commented code
        ALSA: pcm: Fix error checks of default read/write copy ops
        ASoC: Name iov_iter argument as iterator instead of buffer
        ASoC: dmaengine: Drop unused iov_iter for process callback
        ALSA: hda/tas2781: Use standard clamp() macro
        ASoC: cs35l56: Waiting for firmware to boot must be tolerant of I/O errors
        ASoC: dt-bindings: fsl_easrc: Add support for imx8mp-easrc
        ASoC: cs42l43: Fix missing error code in cs42l43_codec_probe()
        ASoC: cs35l45: Rename DACPCM1 Source control
        ASoC: cs35l45: Fix "Dead assigment" warning
        ASoC: cs35l45: Add support for Chip ID 0x35A460
        ...
      a3d231e4
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ca9c7abf
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "The main one is a fix for a broken strscpy() conversion that landed in
        the merge window and broke early parsing of the kernel command line.
      
         - Fix an incorrect mask in the CXL PMU driver
      
         - Fix a regression in early parsing of the kernel command line
      
         - Fix an IP checksum OoB access reported by syzbot"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: csum: Fix OoB access in IP checksum code for negative lengths
        arm64/sysreg: Fix broken strncpy() -> strscpy() conversion
        perf: CXL: fix mismatched number of counters mask
      ca9c7abf
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.6' of... · 12952b6b
      Linus Torvalds authored
      Merge tag 'loongarch-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - Allow usage of LSX/LASX in the kernel, and use them for
         SIMD-optimized RAID5/RAID6 routines
      
       - Add Loongson Binary Translation (LBT) extension support
      
       - Add basic KGDB & KDB support
      
       - Add building with kcov coverage
      
       - Add KFENCE (Kernel Electric-Fence) support
      
       - Add KASAN (Kernel Address Sanitizer) support
      
       - Some bug fixes and other small changes
      
       - Update the default config file
      
      * tag 'loongarch-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson: (25 commits)
        LoongArch: Update Loongson-3 default config file
        LoongArch: Add KASAN (Kernel Address Sanitizer) support
        LoongArch: Simplify the processing of jumping new kernel for KASLR
        kasan: Add (pmd|pud)_init for LoongArch zero_(pud|p4d)_populate process
        kasan: Add __HAVE_ARCH_SHADOW_MAP to support arch specific mapping
        LoongArch: Add KFENCE (Kernel Electric-Fence) support
        LoongArch: Get partial stack information when providing regs parameter
        LoongArch: mm: Add page table mapped mode support for virt_to_page()
        kfence: Defer the assignment of the local variable addr
        LoongArch: Allow building with kcov coverage
        LoongArch: Provide kaslr_offset() to get kernel offset
        LoongArch: Add basic KGDB & KDB support
        LoongArch: Add Loongson Binary Translation (LBT) extension support
        raid6: Add LoongArch SIMD recovery implementation
        raid6: Add LoongArch SIMD syndrome calculation
        LoongArch: Add SIMD-optimized XOR routines
        LoongArch: Allow usage of LSX/LASX in the kernel
        LoongArch: Define symbol 'fault' as a local label in fpu.S
        LoongArch: Adjust {copy, clear}_user exception handler behavior
        LoongArch: Use static defined zero page rather than allocated
        ...
      12952b6b
    • Linus Torvalds's avatar
      Merge tag 'printk-for-6.6-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 01a46efc
      Linus Torvalds authored
      Pull printk fix from Petr Mladek:
      
       - Revert exporting symbols needed for dumping the raw printk buffer in
         panic().
      
         I pushed the export prematurely before the user was ready for merging
         into the mainline.
      
      * tag 'printk-for-6.6-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        Revert "printk: export symbols for debug modules"
      01a46efc
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · d0a45eeb
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "One test fix and a __counted_by annotation"
      
      * tag 'landlock-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        selftests/landlock: Fix a resource leak
        landlock: Annotate struct landlock_rule with __counted_by
      d0a45eeb
    • Zhenhua Huang's avatar
      Revert "dma-contiguous: check for memory region overlap" · f875db4f
      Zhenhua Huang authored
      This reverts commit 3fa6456e.
      
      The Commit broke the CMA region creation through DT on arm64,
      as showed below logs with "memblock=debug":
      [    0.000000] memblock_phys_alloc_range: 41943040 bytes align=0x200000
      from=0x0000000000000000 max_addr=0x00000000ffffffff
      early_init_dt_alloc_reserved_memory_arch+0x34/0xa0
      [    0.000000] memblock_reserve: [0x00000000fd600000-0x00000000ffdfffff]
      memblock_alloc_range_nid+0xc0/0x19c
      [    0.000000] Reserved memory: overlap with other memblock reserved region
      
      >From call flow, region we defined in DT was always reserved before entering
      into rmem_cma_setup. Also, rmem_cma_setup has one routine cma_init_reserved_mem
      to ensure the region was reserved. Checking the region not reserved here seems
      not correct.
      
      early_init_fdt_scan_reserved_mem:
          fdt_scan_reserved_mem
              __reserved_mem_reserve_reg
      		early_init_dt_reserve_memory
      			memblock_reserve(using “reg” prop case)
              fdt_init_reserved_mem
      		__reserved_mem_alloc_size
      			*early_init_dt_alloc_reserved_memory_arch*
      				memblock_reserve(dynamic alloc case)
              __reserved_mem_init_node
      		rmem_cma_setup(region overlap check here should always fail)
      
      Example DT can be used to reproduce issue:
      
          dump_mem: mem_dump_region {
                  compatible = "shared-dma-pool";
                  alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
                  reusable;
                  size = <0 0x2800000>;
          };
      Signed-off-by: default avatarZhenhua Huang <quic_zhenhuah@quicinc.com>
      f875db4f
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-09-08' of git://anongit.freedesktop.org/drm/drm · a48fa7ef
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular rounds of rc1 fixes, a large bunch for amdgpu since it's three
        weeks in one go, one i915, one nouveau and one ivpu.
      
        I think there might be a few more fixes in misc that I haven't pulled
        in yet, but we should get them all for rc2.
      
        amdgpu:
         - Display replay fixes
         - Fixes for headless boards
         - Fix documentation breakage
         - RAS fixes
         - Handle newer IP discovery tables
         - SMU 13.0.6 fixes
         - SR-IOV fixes
         - Display vstartup fixes
         - NBIO 7.9 fixes
         - Display scaling mode fixes
         - Debugfs power reporting fix
         - GC 9.4.3 fixes
         - Dirty framebuffer fixes for fbcon
         - eDP fixes
         - DCN 3.1.5 fix
         - Display ODM fixes
         - GPU core dump fix
         - Re-enable zops property now that IGT test is fixed
         - Fix possible UAF in CS code
         - Cursor degamma fix
      
        amdkfd:
         - HMM fixes
         - Interrupt masking fix
         - GFX11 MQD fixes
      
        i915:
         - Mark requests for GuC virtual engines to avoid use-after-free
      
        nouveau:
         - Fix fence state in nouveau_fence_emit()
      
        ivpu:
         - replace strncpy"
      
      * tag 'drm-next-2023-09-08' of git://anongit.freedesktop.org/drm/drm: (51 commits)
        drm/amdgpu: Restrict bootloader wait to SMUv13.0.6
        drm/amd/display: prevent potential division by zero errors
        drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma
        drm/amd/display: limit the v_startup workaround to ASICs older than DCN3.1
        Revert "drm/amd/display: Remove v_startup workaround for dcn3+"
        drm/amdgpu: fix amdgpu_cs_p1_user_fence
        Revert "Revert "drm/amd/display: Implement zpos property""
        drm/amdkfd: Add missing gfx11 MQD manager callbacks
        drm/amdgpu: Free ras cmd input buffer properly
        drm/amdgpu: Hide xcp partition sysfs under SRIOV
        drm/amdgpu: use read-modify-write mode for gfx v9_4_3 SQ setting
        drm/amdkfd: use mask to get v9 interrupt sq data bits correctly
        drm/amdgpu: Allocate coredump memory in a nonblocking way
        drm/amdgpu: Support query ecc cap for aqua_vanjaram
        drm/amdgpu: Add umc_info v4_0 structure
        drm/amd/display: always switch off ODM before committing more streams
        drm/amd/display: Remove wait while locked
        drm/amd/display: update blank state on ODM changes
        drm/amd/display: Add smu write msg id fail retry process
        drm/amdgpu: Add SMU v13.0.6 default reset methods
        ...
      a48fa7ef
    • Linus Torvalds's avatar
      Merge tag 'net-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 73be7fb1
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Including fixes from netfilter and bpf.
      
        Current release - regressions:
      
         - eth: stmmac: fix failure to probe without MAC interface specified
      
        Current release - new code bugs:
      
         - docs: netlink: fix missing classic_netlink doc reference
      
        Previous releases - regressions:
      
         - deal with integer overflows in kmalloc_reserve()
      
         - use sk_forward_alloc_get() in sk_get_meminfo()
      
         - bpf_sk_storage: fix the missing uncharge in sk_omem_alloc
      
         - fib: avoid warn splat in flow dissector after packet mangling
      
         - skb_segment: call zero copy functions before using skbuff frags
      
         - eth: sfc: check for zero length in EF10 RX prefix
      
        Previous releases - always broken:
      
         - af_unix: fix msg_controllen test in scm_pidfd_recv() for
           MSG_CMSG_COMPAT
      
         - xsk: fix xsk_build_skb() dereferencing possible ERR_PTR()
      
         - netfilter:
            - nft_exthdr: fix non-linear header modification
            - xt_u32, xt_sctp: validate user space input
            - nftables: exthdr: fix 4-byte stack OOB write
            - nfnetlink_osf: avoid OOB read
            - one more fix for the garbage collection work from last release
      
         - igmp: limit igmpv3_newpack() packet size to IP_MAX_MTU
      
         - bpf, sockmap: fix preempt_rt splat when using raw_spin_lock_t
      
         - handshake: fix null-deref in handshake_nl_done_doit()
      
         - ip: ignore dst hint for multipath routes to ensure packets are
           hashed across the nexthops
      
         - phy: micrel:
            - correct bit assignments for cable test errata
            - disable EEE according to the KSZ9477 errata
      
        Misc:
      
         - docs/bpf: document compile-once-run-everywhere (CO-RE) relocations
      
         - Revert "net: macsec: preserve ingress frame ordering", it appears
           to have been developed against an older kernel, problem doesn't
           exist upstream"
      
      * tag 'net-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (95 commits)
        net: enetc: distinguish error from valid pointers in enetc_fixup_clear_rss_rfs()
        Revert "net: team: do not use dynamic lockdep key"
        net: hns3: remove GSO partial feature bit
        net: hns3: fix the port information display when sfp is absent
        net: hns3: fix invalid mutex between tc qdisc and dcb ets command issue
        net: hns3: fix debugfs concurrency issue between kfree buffer and read
        net: hns3: fix byte order conversion issue in hclge_dbg_fd_tcam_read()
        net: hns3: Support query tx timeout threshold by debugfs
        net: hns3: fix tx timeout issue
        net: phy: Provide Module 4 KSZ9477 errata (DS80000754C)
        netfilter: nf_tables: Unbreak audit log reset
        netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
        netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction
        netfilter: nf_tables: uapi: Describe NFTA_RULE_CHAIN_ID
        netfilter: nfnetlink_osf: avoid OOB read
        netfilter: nftables: exthdr: fix 4-byte stack OOB write
        selftests/bpf: Check bpf_sk_storage has uncharged sk_omem_alloc
        bpf: bpf_sk_storage: Fix the missing uncharge in sk_omem_alloc
        bpf: bpf_sk_storage: Fix invalid wait context lockdep report
        s390/bpf: Pass through tail call counter in trampolines
        ...
      73be7fb1
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 2ab35ce2
      Linus Torvalds authored
      Pull more devicetree updates from Rob Herring:
       "A couple of conversions which didn't get picked up by the subsystems
        and one fix:
      
         - Convert st,stih407-irq-syscfg and Omnivision OV7251 bindings to DT
           schema
      
         - Merge Omnivision OV5695 into OV5693 binding
      
         - Fix of_overlay_fdt_apply prototype when !CONFIG_OF_OVERLAY"
      
      * tag 'devicetree-fixes-for-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: irqchip: convert st,stih407-irq-syscfg to DT schema
        media: dt-bindings: Convert Omnivision OV7251 to DT schema
        media: dt-bindings: Merge OV5695 into OV5693 binding
        of: overlay: Fix of_overlay_fdt_apply prototype when !CONFIG_OF_OVERLAY
      2ab35ce2
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.6-rc1' of... · 8d844b35
      Linus Torvalds authored
      Merge tag 'pwm/for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "Various cleanups and fixes across the board"
      
      * tag 'pwm/for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (31 commits)
        pwm: lpc32xx: Remove handling of PWM channels
        pwm: atmel: Simplify using devm functions
        dt-bindings: pwm: brcm,kona-pwm: convert to YAML
        pwm: stmpe: Handle errors when disabling the signal
        pwm: stm32: Simplify using devm_pwmchip_add()
        pwm: stm32: Don't modify HW state in .remove() callback
        pwm: Fix order of freeing resources in pwmchip_remove()
        pwm: ntxec: Use device_set_of_node_from_dev()
        pwm: ntxec: Drop a write-only variable from driver data
        pwm: pxa: Don't reimplement of_device_get_match_data()
        pwm: lpc18xx-sct: Simplify using devm_clk_get_enabled()
        pwm: atmel-tcb: Don't track polarity in driver data
        pwm: atmel-tcb: Unroll atmel_tcb_pwm_set_polarity() into only caller
        pwm: atmel-tcb: Put per-channel data into driver data
        pwm: atmel-tcb: Fix resource freeing in error path and remove
        pwm: atmel-tcb: Harmonize resource allocation order
        pwm: Drop unused #include <linux/radix-tree.h>
        pwm: rz-mtu3: Fix build warning 'num_channel_ios' not described
        pwm: Remove outdated documentation for pwmchip_remove()
        pwm: atmel: Enable clk when pwm already enabled in bootloader
        ...
      8d844b35
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.6-2023-09-06' of... · 43ffcd6f
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.6-2023-09-06' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
      
      amd-drm-fixes-6.6-2023-09-06:
      
      amdgpu:
      - Display replay fixes
      - Fixes for headless boards
      - Fix documentation breakage
      - RAS fixes
      - Handle newer IP discovery tables
      - SMU 13.0.6 fixes
      - SR-IOV fixes
      - Display vstartup fixes
      - NBIO 7.9 fixes
      - Display scaling mode fixes
      - Debugfs power reporting fix
      - GC 9.4.3 fixes
      - Dirty framebuffer fixes for fbcon
      - eDP fixes
      - DCN 3.1.5 fix
      - Display ODM fixes
      - GPU core dump fix
      - Re-enable zops property now that IGT test is fixed
      - Fix possible UAF in CS code
      - Cursor degamma fix
      
      amdkfd:
      - HMM fixes
      - Interrupt masking fix
      - GFX11 MQD fixes
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230907033049.7811-1-alexander.deucher@amd.com
      43ffcd6f
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2023-08-31' of... · 51eed9d4
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2023-08-31' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      - Mark requests for GuC virtual engines to avoid use-after-free (Andrzej).
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ZPEGEeP2EwCtx9hM@intel.com
      51eed9d4
  3. 07 Sep, 2023 17 commits
    • Linus Torvalds's avatar
      Merge tag 'rtc-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · ff6e6ded
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Subsystem:
      
         - Add a way for drivers to tell the core the supported alarm range is
           smaller than the date range. This is not used yet but will be
           useful for the alarmtimers in the next release.
      
         - fix Wvoid-pointer-to-enum-cast warnings
      
         - remove redundant of_match_ptr()
      
         - stop warning for invalid alarms when the alarm is disabled
      
        Drivers:
      
         - isl12022: allow setting the trip level for battery level detection
      
         - pcf2127: add support for PCF2131 and multiple timestamps
      
         - stm32: time precision improvement, many fixes
      
         - twl: NVRAM support"
      
      * tag 'rtc-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (73 commits)
        dt-bindings: rtc: ds3231: Remove text binding
        rtc: wm8350: remove unnecessary messages
        rtc: twl: remove unnecessary messages
        rtc: sun6i: remove unnecessary message
        rtc: stop warning for invalid alarms when the alarm is disabled
        rtc: twl: add NVRAM support
        rtc: pcf85363: Allow to wake up system without IRQ
        rtc: m48t86: add DT support for m48t86
        dt-bindings: rtc: Add ST M48T86
        rtc: pcf2127: remove useless check
        rtc: rzn1: Report maximum alarm limit to rtc core
        rtc: ds1305: Report maximum alarm limit to rtc core
        rtc: tps6586x: Report maximum alarm limit to rtc core
        rtc: cmos: Report supported alarm limit to rtc infrastructure
        rtc: cros-ec: Detect and report supported alarm window size
        rtc: Add support for limited alarm timer offsets
        rtc: isl1208: Fix incorrect logic in isl1208_set_xtoscb()
        MAINTAINERS: remove obsolete pattern in RTC SUBSYSTEM section
        rtc: tps65910: Remove redundant dev_warn() and do not check for 0 return after calling platform_get_irq()
        rtc: omap: Do not check for 0 return after calling platform_get_irq()
        ...
      ff6e6ded
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · e59a698b
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "Core:
         - Fix SETDASA when static and dynamic adress are equal
         - Fix cmd_v1 DAA exit criteria
      
        Drivers:
         - svc: allow probing without any device"
      
      * tag 'i3c/for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: master: svc: fix probe failure when no i3c device exist
        i3c: master: Fix SETDASA process
        dt-bindings: i3c: Fix description for assigned-address
        i3c: master: svc: Describe member 'saved_regs'
        i3c: master: svc: Do not check for 0 return after calling platform_get_irq()
        i3c/master: cmd_v1: Fix the exit criteria for the daa procedure
        i3c: Explicitly include correct DT includes
      e59a698b
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v6.6-merge-window' of... · d9b9ea58
      Linus Torvalds authored
      Merge tag 'regulator-fix-v6.6-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "A couple of fixes that came in during the merge window, both driver
        specific - one for a bug that came up in testing, one for a bug due
        to a misreading of the datasheet"
      
      * tag 'regulator-fix-v6.6-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: tps6594-regulator: Fix random kernel crash
        regulator: tps6287x: Fix n_voltages
      d9b9ea58
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.6-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 32904dec
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of fixes for the sun6i driver. The patch to reduce DMA RX to
        single byte width all the time is *hopefully* excessively cautious but
        it's unclear which SoCs are affected so the fix just covers everything
        for safety"
      
      * tag 'spi-fix-v6.6-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: sun6i: fix race between DMA RX transfer completion and RX FIFO drain
        spi: sun6i: reduce DMA RX transfer width to single byte
      32904dec
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 0c021834
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
      
         - Clean up vCPU targets, always returning generic v8 as the preferred
           target
      
         - Trap forwarding infrastructure for nested virtualization (used for
           traps that are taken from an L2 guest and are needed by the L1
           hypervisor)
      
         - FEAT_TLBIRANGE support to only invalidate specific ranges of
           addresses when collapsing a table PTE to a block PTE. This avoids
           that the guest refills the TLBs again for addresses that aren't
           covered by the table PTE.
      
         - Fix vPMU issues related to handling of PMUver.
      
         - Don't unnecessary align non-stack allocations in the EL2 VA space
      
         - Drop HCR_VIRT_EXCP_MASK, which was never used...
      
         - Don't use smp_processor_id() in kvm_arch_vcpu_load(), but the cpu
           parameter instead
      
         - Drop redundant call to kvm_set_pfn_accessed() in user_mem_abort()
      
         - Remove prototypes without implementations
      
        RISC-V:
      
         - Zba, Zbs, Zicntr, Zicsr, Zifencei, and Zihpm support for guest
      
         - Added ONE_REG interface for SATP mode
      
         - Added ONE_REG interface to enable/disable multiple ISA extensions
      
         - Improved error codes returned by ONE_REG interfaces
      
         - Added KVM_GET_REG_LIST ioctl() implementation for KVM RISC-V
      
         - Added get-reg-list selftest for KVM RISC-V
      
        s390:
      
         - PV crypto passthrough enablement (Tony, Steffen, Viktor, Janosch)
      
           Allows a PV guest to use crypto cards. Card access is governed by
           the firmware and once a crypto queue is "bound" to a PV VM every
           other entity (PV or not) looses access until it is not bound
           anymore. Enablement is done via flags when creating the PV VM.
      
         - Guest debug fixes (Ilya)
      
        x86:
      
         - Clean up KVM's handling of Intel architectural events
      
         - Intel bugfixes
      
         - Add support for SEV-ES DebugSwap, allowing SEV-ES guests to use
           debug registers and generate/handle #DBs
      
         - Clean up LBR virtualization code
      
         - Fix a bug where KVM fails to set the target pCPU during an IRTE
           update
      
         - Fix fatal bugs in SEV-ES intrahost migration
      
         - Fix a bug where the recent (architecturally correct) change to
           reinject #BP and skip INT3 broke SEV guests (can't decode INT3 to
           skip it)
      
         - Retry APIC map recalculation if a vCPU is added/enabled
      
         - Overhaul emergency reboot code to bring SVM up to par with VMX, tie
           the "emergency disabling" behavior to KVM actually being loaded,
           and move all of the logic within KVM
      
         - Fix user triggerable WARNs in SVM where KVM incorrectly assumes the
           TSC ratio MSR cannot diverge from the default when TSC scaling is
           disabled up related code
      
         - Add a framework to allow "caching" feature flags so that KVM can
           check if the guest can use a feature without needing to search
           guest CPUID
      
         - Rip out the ancient MMU_DEBUG crud and replace the useful bits with
           CONFIG_KVM_PROVE_MMU
      
         - Fix KVM's handling of !visible guest roots to avoid premature
           triple fault injection
      
         - Overhaul KVM's page-track APIs, and KVMGT's usage, to reduce the
           API surface that is needed by external users (currently only
           KVMGT), and fix a variety of issues in the process
      
        Generic:
      
         - Wrap kvm_{gfn,hva}_range.pte in a union to allow mmu_notifier
           events to pass action specific data without needing to constantly
           update the main handlers.
      
         - Drop unused function declarations
      
        Selftests:
      
         - Add testcases to x86's sync_regs_test for detecting KVM TOCTOU bugs
      
         - Add support for printf() in guest code and covert all guest asserts
           to use printf-based reporting
      
         - Clean up the PMU event filter test and add new testcases
      
         - Include x86 selftests in the KVM x86 MAINTAINERS entry"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (279 commits)
        KVM: x86/mmu: Include mmu.h in spte.h
        KVM: x86/mmu: Use dummy root, backed by zero page, for !visible guest roots
        KVM: x86/mmu: Disallow guest from using !visible slots for page tables
        KVM: x86/mmu: Harden TDP MMU iteration against root w/o shadow page
        KVM: x86/mmu: Harden new PGD against roots without shadow pages
        KVM: x86/mmu: Add helper to convert root hpa to shadow page
        drm/i915/gvt: Drop final dependencies on KVM internal details
        KVM: x86/mmu: Handle KVM bookkeeping in page-track APIs, not callers
        KVM: x86/mmu: Drop @slot param from exported/external page-track APIs
        KVM: x86/mmu: Bug the VM if write-tracking is used but not enabled
        KVM: x86/mmu: Assert that correct locks are held for page write-tracking
        KVM: x86/mmu: Rename page-track APIs to reflect the new reality
        KVM: x86/mmu: Drop infrastructure for multiple page-track modes
        KVM: x86/mmu: Use page-track notifiers iff there are external users
        KVM: x86/mmu: Move KVM-only page-track declarations to internal header
        KVM: x86: Remove the unused page-track hook track_flush_slot()
        drm/i915/gvt: switch from ->track_flush_slot() to ->track_remove_region()
        KVM: x86: Add a new page-track hook to handle memslot deletion
        drm/i915/gvt: Don't bother removing write-protection on to-be-deleted slot
        KVM: x86: Reject memslot MOVE operations if KVMGT is attached
        ...
      0c021834
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2023-09-01' of... · d9809d24
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2023-09-01' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      Short summary of fixes pull:
      
       * ivpu: Replace strncpy
       * nouveau: Fix fence state in nouveau_fence_emit()
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230901070123.GA6987@linux-uq9g
      d9809d24
    • Vladimir Oltean's avatar
      net: enetc: distinguish error from valid pointers in enetc_fixup_clear_rss_rfs() · 1b36955c
      Vladimir Oltean authored
      enetc_psi_create() returns an ERR_PTR() or a valid station interface
      pointer, but checking for the non-NULL quality of the return code blurs
      that difference away. So if enetc_psi_create() fails, we call
      enetc_psi_destroy() when we shouldn't. This will likely result in
      crashes, since enetc_psi_create() cleans up everything after itself when
      it returns an ERR_PTR().
      
      Fixes: f0168042 ("net: enetc: reimplement RFS/RSS memory clearing as PCI quirk")
      Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Closes: https://lore.kernel.org/netdev/582183ef-e03b-402b-8e2d-6d9bb3c83bd9@moroto.mountain/Suggested-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://lore.kernel.org/r/20230906141609.247579-1-vladimir.oltean@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1b36955c
    • Jakub Kicinski's avatar
      Revert "net: team: do not use dynamic lockdep key" · 6afcf0fb
      Jakub Kicinski authored
      This reverts commit 39285e12.
      
      Looks like the change has unintended consequences in exposing
      objects before they are initialized. Let's drop this patch
      and try again in net-next.
      
      Reported-by: syzbot+44ae022028805f4600fc@syzkaller.appspotmail.com
      Fixes: 39285e12 ("net: team: do not use dynamic lockdep key")
      Link: https://lore.kernel.org/all/20230907103124.6adb7256@kernel.org/Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6afcf0fb
    • Linus Torvalds's avatar
      Merge tag 's390-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 4a0fc73d
      Linus Torvalds authored
      Pull more s390 updates from Heiko Carstens:
      
       - A couple of virtual vs physical address confusion fixes
      
       - Rework locking in dcssblk driver to address a lockdep warning
      
       - Remove support for "noexec" kernel command line option since there is
         no use case where it would make sense
      
       - Simplify kernel mapping setup and get rid of quite a bit of code
      
       - Add architecture specific __set_memory_yy() functions which allow us
         to modify kernel mappings. Unlike the set_memory_xx() variants they
         take void pointer start and end parameters, which allows using them
         without the usual casts, and also to use them on areas larger than
         8TB.
      
         Note that the set_memory_xx() family comes with an int num_pages
         parameter which overflows with 8TB. This could be addressed by
         changing the num_pages parameter to unsigned long, however requires
         to change all architectures, since the module code expects an int
         parameter (see module_set_memory()).
      
         This was indeed an issue since for debug_pagealloc() we call
         set_memory_4k() on the whole identity mapping. Therefore address this
         for now with the __set_memory_yy() variant, and address common code
         later
      
       - Use dev_set_name() and also fix memory leak in zcrypt driver error
         handling
      
       - Remove unused lsi_mask from airq_struct
      
       - Add warning for invalid kernel mapping requests
      
      * tag 's390-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/vmem: do not silently ignore mapping limit
        s390/zcrypt: utilize dev_set_name() ability to use a formatted string
        s390/zcrypt: don't leak memory if dev_set_name() fails
        s390/mm: fix MAX_DMA_ADDRESS physical vs virtual confusion
        s390/airq: remove lsi_mask from airq_struct
        s390/mm: use __set_memory() variants where useful
        s390/set_memory: add __set_memory() variant
        s390/set_memory: generate all set_memory() functions
        s390/mm: improve description of mapping permissions of prefix pages
        s390/amode31: change type of __samode31, __eamode31, etc
        s390/mm: simplify kernel mapping setup
        s390: remove "noexec" option
        s390/vmem: fix virtual vs physical address confusion
        s390/dcssblk: fix lockdep warning
        s390/monreader: fix virtual vs physical address confusion
      4a0fc73d
    • Linus Torvalds's avatar
      Merge tag 'mips_6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · ac2224a4
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
       "Just cleanups and fixes"
      
      * tag 'mips_6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: TXx9: Do PCI error checks on own line
        arch/mips/configs/*_defconfig cleanup
        MIPS: VDSO: Conditionally export __vdso_gettimeofday()
        Mips: loongson3_defconfig: Enable ast drm driver by default
        mips: remove <asm/export.h>
        mips: replace #include <asm/export.h> with #include <linux/export.h>
        mips: remove unneeded #include <asm/export.h>
        MIPS: Loongson64: Fix more __iomem attributes
        MIPS: loongson32: Remove regs-rtc.h
        MIPS: loongson32: Remove regs-clk.h
        MIPS: More explicit DT include clean-ups
        MIPS: Fixup explicit DT include clean-up
        Revert MIPS: Loongson: Fix build error when make modules_install
        MIPS: Only fiddle with CHECKFLAGS if `need-compiler'
        MIPS: Fix CONFIG_CPU_DADDI_WORKAROUNDS `modules_install' regression
        MIPS: Explicitly include correct DT includes
      ac2224a4
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20230905' of https://github.com/jcmvbkbc/linux-xtensa · dd1386dd
      Linus Torvalds authored
      Pull xtensa updates from Max Filippov:
      
       - enable MTD XIP support
      
       - fix base address of the xtensa perf module in newer hardware
      
      * tag 'xtensa-20230905' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: add XIP-aware MTD support
        xtensa: PMU: fix base address for the newer hardware
      dd1386dd
    • Christian Brauner's avatar
      ntfs3: drop inode references in ntfs_put_super() · 78a06688
      Christian Brauner authored
      Recently we moved most cleanup from ntfs_put_super() into
      ntfs3_kill_sb() as part of a bigger cleanup.  This accidently also moved
      dropping inode references stashed in ntfs3's sb->s_fs_info from
      @sb->put_super() to @sb->kill_sb().  But generic_shutdown_super()
      verifies that there are no busy inodes past sb->put_super().  Fix this
      and disentangle dropping inode references from freeing @sb->s_fs_info.
      
      Fixes: a4f64a30 ("ntfs3: free the sbi in ->kill_sb") # mainline only
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      78a06688
    • Linus Torvalds's avatar
      vfs: mostly undo glibc turning 'fstat()' into 'fstatat(AT_EMPTY_PATH)' · 9013c51c
      Linus Torvalds authored
      Mateusz reports that glibc turns 'fstat()' calls into 'fstatat()', and
      that seems to have been going on for quite a long time due to glibc
      having tried to simplify its stat logic into just one point.
      
      This turns out to cause completely unnecessary overhead, where we then
      go off and allocate the kernel side pathname, and actually look up the
      empty path.  Sure, our path lookup is quite optimized, but it still
      causes a fair bit of allocation overhead and a couple of completely
      unnecessary rounds of lockref accesses etc.
      
      This is all hopefully getting fixed in user space, and there is a patch
      floating around for just having glibc use the native fstat() system
      call.  But even with the current situation we can at least improve on
      things by catching the situation and short-circuiting it.
      
      Note that this is still measurably slower than just a plain 'fstat()',
      since just checking that the filename is actually empty is somewhat
      expensive due to inevitable user space access overhead from the kernel
      (ie verifying pointers, and SMAP on x86).  But it's still quite a bit
      faster than actually looking up the path for real.
      
      To quote numers from Mateusz:
       "Sapphire Rapids, will-it-scale, ops/s
      
        stock fstat	5088199
        patched fstat	7625244	(+49%)
        real fstat	8540383	(+67% / +12%)"
      
      where that 'stock fstat' is the glibc translation of fstat into
      fstatat() with an empty path, the 'patched fstat' is with this short
      circuiting of the path lookup, and the 'real fstat' is the actual native
      fstat() system call with none of this overhead.
      
      Link: https://lore.kernel.org/lkml/20230903204858.lv7i3kqvw6eamhgz@f/Reported-by: default avatarMateusz Guzik <mjguzik@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9013c51c
    • Jens Axboe's avatar
      Revert "io_uring: fix IO hang in io_wq_put_and_exit from do_exit()" · 023464fe
      Jens Axboe authored
      This reverts commit b484a40d.
      
      This commit cancels all requests with io-wq, not just the ones from the
      originating task. This breaks use cases that have thread pools, or just
      multiple tasks issuing requests on the same ring. The liburing
      regression test for this also shows that problem:
      
      $ test/thread-exit.t
      cqe->res=-125, Expected 512
      
      where an IO thread gets its request canceled rather than complete
      successfully.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      023464fe
    • Pavel Begunkov's avatar
      io_uring: fix unprotected iopoll overflow · 27122c07
      Pavel Begunkov authored
      [   71.490669] WARNING: CPU: 3 PID: 17070 at io_uring/io_uring.c:769
      io_cqring_event_overflow+0x47b/0x6b0
      [   71.498381] Call Trace:
      [   71.498590]  <TASK>
      [   71.501858]  io_req_cqe_overflow+0x105/0x1e0
      [   71.502194]  __io_submit_flush_completions+0x9f9/0x1090
      [   71.503537]  io_submit_sqes+0xebd/0x1f00
      [   71.503879]  __do_sys_io_uring_enter+0x8c5/0x2380
      [   71.507360]  do_syscall_64+0x39/0x80
      
      We decoupled CQ locking from ->task_complete but haven't fixed up places
      forcing locking for CQ overflows.
      
      Fixes: ec26c225 ("io_uring: merge iopoll and normal completion paths")
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      27122c07
    • Pavel Begunkov's avatar
      io_uring: break out of iowq iopoll on teardown · 45500dc4
      Pavel Begunkov authored
      io-wq will retry iopoll even when it failed with -EAGAIN. If that
      races with task exit, which sets TIF_NOTIFY_SIGNAL for all its workers,
      such workers might potentially infinitely spin retrying iopoll again and
      again and each time failing on some allocation / waiting / etc. Don't
      keep spinning if io-wq is dying.
      
      Fixes: 561fb04a ("io_uring: replace workqueue usage with io-wq")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      45500dc4
    • Christoph Hellwig's avatar
      Revert "printk: export symbols for debug modules" · 4952801f
      Christoph Hellwig authored
      This reverts commit 3e00123a.
      
      No, we never export random symbols for out of tree modules.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarPetr Mladek <pmladek@suse.com>
      Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20230905081902.321778-1-hch@lst.de
      4952801f