1. 24 May, 2024 2 commits
    • David Howells's avatar
      cifs: Fix missing set of remote_i_size · 93a43155
      David Howells authored
      Occasionally, the generic/001 xfstest will fail indicating corruption in
      one of the copy chains when run on cifs against a server that supports
      FSCTL_DUPLICATE_EXTENTS_TO_FILE (eg. Samba with a share on btrfs).  The
      problem is that the remote_i_size value isn't updated by cifs_setsize()
      when called by smb2_duplicate_extents(), but i_size *is*.
      
      This may cause cifs_remap_file_range() to then skip the bit after calling
      ->duplicate_extents() that sets sizes.
      
      Fix this by calling netfs_resize_file() in smb2_duplicate_extents() before
      calling cifs_setsize() to set i_size.
      
      This means we don't then need to call netfs_resize_file() upon return from
      ->duplicate_extents(), but we also fix the test to compare against the pre-dup
      inode size.
      
      [Note that this goes back before the addition of remote_i_size with the
      netfs_inode struct.  It should probably have been setting cifsi->server_eof
      previously.]
      
      Fixes: cfc63fc8 ("smb3: fix cached file size problems in duplicate extents (reflink)")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Steve French <sfrench@samba.org>
      cc: Paulo Alcantara <pc@manguebit.com>
      cc: Shyam Prasad N <nspmangalore@gmail.com>
      cc: Rohith Surabattula <rohiths.msft@gmail.com>
      cc: Jeff Layton <jlayton@kernel.org>
      cc: linux-cifs@vger.kernel.org
      cc: netfs@lists.linux.dev
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      93a43155
    • David Howells's avatar
      cifs: Fix smb3_insert_range() to move the zero_point · 8a160723
      David Howells authored
      Fix smb3_insert_range() to move the zero_point over to the new EOF.
      Without this, generic/147 fails as reads of data beyond the old EOF point
      return zeroes.
      
      Fixes: 3ee1a1fc ("cifs: Cut over to using netfslib")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Shyam Prasad N <nspmangalore@gmail.com>
      cc: Rohith Surabattula <rohiths.msft@gmail.com>
      cc: Jeff Layton <jlayton@kernel.org>
      cc: linux-cifs@vger.kernel.org
      cc: netfs@lists.linux.dev
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      8a160723
  2. 21 May, 2024 2 commits
  3. 18 May, 2024 22 commits
    • Linus Torvalds's avatar
      Merge tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6 · 0450d208
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "An important fix to address recent netfs regression (data corruption)"
      
      * tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix data corruption in read after invalidate
      0450d208
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 7991c92f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - more folio conversion patches
      
       - add support for FS_IOC_GETFSSYSFSPATH
      
       - mballoc cleaups and add more kunit tests
      
       - sysfs cleanups and bug fixes
      
       - miscellaneous bug fixes and cleanups
      
      * tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: fix error pointer dereference in ext4_mb_load_buddy_gfp()
        jbd2: add prefix 'jbd2' for 'shrink_type'
        jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
        ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super()
        ext4: remove calls to to set/clear the folio error flag
        ext4: propagate errors from ext4_sb_bread() in ext4_xattr_block_cache_find()
        ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
        jbd2: remove redundant assignement to variable err
        ext4: remove the redundant folio_wait_stable()
        ext4: fix potential unnitialized variable
        ext4: convert ac_buddy_page to ac_buddy_folio
        ext4: convert ac_bitmap_page to ac_bitmap_folio
        ext4: convert ext4_mb_init_cache() to take a folio
        ext4: convert bd_buddy_page to bd_buddy_folio
        ext4: convert bd_bitmap_page to bd_bitmap_folio
        ext4: open coding repeated check in next_linear_group
        ext4: use correct criteria name instead stale integer number in comment
        ext4: call ext4_mb_mark_free_simple to free continuous bits in found chunk
        ext4: add test_mb_mark_used_cost to estimate cost of mb_mark_used
        ext4: keep "prefetch_grp" and "nr" consistent
        ...
      7991c92f
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 61ea647e
      Linus Torvalds authored
      Pull nfsd updates from Chuck Lever:
       "This is a light release containing mostly optimizations, code clean-
        ups, and minor bug fixes. This development cycle has focused on non-
        upstream kernel work:
      
         1. Continuing to build upstream CI for NFSD, based on kdevops
      
         2. Backporting NFSD filecache-related fixes to selected LTS kernels
      
        One notable new feature in v6.10 NFSD is the addition of a new netlink
        protocol dedicated to configuring NFSD. A new user space tool,
        nfsdctl, is to be added to nfs-utils. Lots more to come here.
      
        As always I am very grateful to NFSD contributors, reviewers, testers,
        and bug reporters who participated during this cycle"
      
      * tag 'nfsd-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (29 commits)
        NFSD: Force all NFSv4.2 COPY requests to be synchronous
        SUNRPC: Fix gss_free_in_token_pages()
        NFS/knfsd: Remove the invalid NFS error 'NFSERR_OPNOTSUPP'
        knfsd: LOOKUP can return an illegal error value
        nfsd: set security label during create operations
        NFSD: Add COPY status code to OFFLOAD_STATUS response
        NFSD: Record status of async copy operation in struct nfsd4_copy
        SUNRPC: Remove comment for sp_lock
        NFSD: add listener-{set,get} netlink command
        SUNRPC: add a new svc_find_listener helper
        SUNRPC: introduce svc_xprt_create_from_sa utility routine
        NFSD: add write_version to netlink command
        NFSD: convert write_threads to netlink command
        NFSD: allow callers to pass in scope string to nfsd_svc
        NFSD: move nfsd_mutex handling into nfsd_svc callers
        lockd: host: Remove unnecessary statements'host = NULL;'
        nfsd: don't create nfsv4recoverydir in nfsdfs when not used.
        nfsd: optimise recalculate_deny_mode() for a common case
        nfsd: add tracepoint in mark_client_expired_locked
        nfsd: new tracepoint for check_slot_seqid
        ...
      61ea647e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 25f48746
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Aside from the usual things this has an arch update for
        __iowrite64_copy() used by the RDMA drivers.
      
        This API was intended to generate large 64 byte MemWr TLPs on PCI.
        These days most processors had done this by just repeating writel() in
        a loop. S390 and some new ARM64 designs require a special helper to
        get this to generate.
      
         - Small improvements and fixes for erdma, efa, hfi1, bnxt_re
      
         - Fix a UAF crash after module unload on leaking restrack entry
      
         - Continue adding full RDMA support in mana with support for EQs,
           GID's and CQs
      
         - Improvements to the mkey cache in mlx5
      
         - DSCP traffic class support in hns and several bug fixes
      
         - Cap the maximum number of MADs in the receive queue to avoid OOM
      
         - Another batch of rxe bug fixes from large scale testing
      
         - __iowrite64_copy() optimizations for write combining MMIO memory
      
         - Remove NULL checks before dev_put/hold()
      
         - EFA support for receive with immediate
      
         - Fix a recent memleaking regression in a cma error path"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (70 commits)
        RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdma use siw
        RDMA/IPoIB: Fix format truncation compilation errors
        bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq
        RDMA/efa: Support QP with unsolicited write w/ imm. receive
        IB/hfi1: Remove generic .ndo_get_stats64
        IB/hfi1: Do not use custom stat allocator
        RDMA/hfi1: Use RMW accessors for changing LNKCTL2
        RDMA/mana_ib: implement uapi for creation of rnic cq
        RDMA/mana_ib: boundary check before installing cq callbacks
        RDMA/mana_ib: introduce a helper to remove cq callbacks
        RDMA/mana_ib: create and destroy RNIC cqs
        RDMA/mana_ib: create EQs for RNIC CQs
        RDMA/core: Remove NULL check before dev_{put, hold}
        RDMA/ipoib: Remove NULL check before dev_{put, hold}
        RDMA/mlx5: Remove NULL check before dev_{put, hold}
        RDMA/mlx5: Track DCT, DCI and REG_UMR QPs as diver_detail resources.
        RDMA/core: Add an option to display driver-specific QPs in the rdmatool
        RDMA/efa: Add shutdown notifier
        RDMA/mana_ib: Fix missing ret value
        IB/mlx5: Use __iowrite64_copy() for write combining stores
        ...
      25f48746
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 56172ac1
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - convert to platform remove callback returning void
      
      * tag 'hsi-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: omap_ssi_port: Convert to platform remove callback returning void
        HSI: omap_ssi_core: Convert to platform remove callback returning void
      56172ac1
    • Linus Torvalds's avatar
      Merge tag 'for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 85d46148
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - core: simplify POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR handling
      
       - test-power: add POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR support
      
       - chrome EC drivers: add ID based probing
      
       - bq27xxx: simplify update loop to reduce I2C traffic
      
       - max8903 binding: fix GPIO polarity description
      
      * tag 'for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        dt-bindings: power: supply: max8903: specify flt-gpios as input
        power: supply: bq27xxx: Move health reading out of update loop
        power: supply: bq27xxx: Move cycle count reading out of update loop
        power: supply: bq27xxx: Move energy reading out of update loop
        power: supply: bq27xxx: Move charge reading out of update loop
        power: supply: bq27xxx: Move time reading out of update loop
        power: supply: bq27xxx: Move temperature reading out of update loop
        power: supply: cros_pchg: provide ID table for avoiding fallback match
        power: supply: cros_usbpd: provide ID table for avoiding fallback match
        power: supply: core: simplify charge_behaviour formatting
        power: supply: test-power: implement charge_behaviour property
      85d46148
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 619b92b9
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "I'm actually surprised this time. There aren't any new Qualcomm SoC
        clk drivers. And there's zero diff in the core clk framework.
      
        Instead we have new clk drivers for STM and Sophgo, with
        Samsung^WGoogle in third for the diffstat because they introduced HSI0
        and HSI2 clk drivers for Google's GS101 SoC (high speed interface
        things like PCIe, UFS, and MMC).
      
        Beyond those big diffs there's the usual updates to various clk
        drivers for incorrect parent descriptions or mising
        MODULE_DEVICE_TABLE()s, etc. Nothing in particular stands out as super
        interesting here.
      
        New Drivers:
         - STM32MP257 SoC clk driver
         - Airoha EN7581 SoC clk driver
         - Sophgo CV1800B, CV1812H and SG2000 SoC clk driver
         - Loongson-2k0500 and Loongson-2k2000 SoC clk driver
         - Add HSI0 and HSI2 clock controllers for Google GS101
         - Add i.MX95 BLK CTL clock driver
      
        Updates:
         - Allocate clk_ops dynamically for SCMI clk driver
         - Add support in qcom RCG and RCG2 for multiple configurations for
           the same frequency
         - Use above support for IPQ8074 NSS port 5 and 6 clocks to resolve
           issues
         - Fix the Qualcomm APSS IPQ5018 PLL to fix boot failures of some
           boards
         - Cleanups and fixes for Qualcomm Stromer PLLs
         - Reduce max CPU frequency on Qualcomm APSS IPQ5018
         - Fix Kconfig dependencies of Qualcomm SM8650 GPU and SC8280XP camera
           clk drivers
         - Make Qualcomm MSM8998 Venus clocks functional
         - Cleanup downstream remnants related to DisplayPort across Qualcomm
           SM8450, SM6350, SM8550, and SM8650
         - Reuse the Huayra APSS register map on Qualcomm MSM8996 CBF PLL
         - Use a specific Qualcomm QCS404 compatible for the otherwise generic
           HFPLL
         - Remove Qualcomm SM8150 CPUSS AHB clk as it is unused
         - Remove an unused field in the Qualcomm RPM clk driver
         - Add missing MODULE_DEVICE_TABLE to Qualcomm MSM8917 and MSM8953
           global clock controller drivers
         - Allow choice of manual or firmware-driven control over PLLs, needed
           to fully implement CPU clock controllers on Exynos850
         - Correct PLL clock IDs on ExynosAutov9
         - Propagate certain clock rates to allow setting proper SPI clock
           rates on Google GS101
         - Mark certain Google GS101 clocks critical
         - Convert old S3C64xx clock controller bindings to DT schema
         - Add new PLL rate and missing mux on Rockchip rk3568
         - Add missing reset line on Rockchip rk3588
         - Removal of an unused field in struct rockchip_mmc_clock
         - Amlogic s4/a1: add regmap maximum register for proper debugfs dump
         - Amlogic s4: add MODULE_DEVICE_TABLE() on pll and periph controllers
         - Amlogic pll driver: print clock name on lock error to help debug
         - Amlogic vclk: finish dsi clock path support
         - Amlogic license: fix occurence "GPL v2" as reported by checkpatch
         - Add PM runtime support to i.MX8MP Audiomix
         - Add DT schema for i.MX95 Display Master Block Control
         - Convert to platform remove callback returning void for i.MX8MP
           Audiomix
         - Add SPI (MSIOF) and external interrupt (INTC-EX) clocks on Renesas
           R-Car V4M
         - Add interrupt controller (PLIC) clock and reset on Renesas RZ/Five
         - Prepare power domain support for Renesas RZ/G2L family members, and
           add actual support on Renesas RZ/G3S SoC
         - Add thermal, serial (SCIF), and timer (CMT/TMU) clocks on Renesas
           R-Car V4M
         - Add additional constraints to Allwinner A64 PLL MIPI clock
         - Fix autoloading sunxi-ng clocks when build as a module"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (118 commits)
        clk: samsung: Don't register clkdev lookup for the fixed rate clocks
        clk, reset: microchip: mpfs: fix incorrect preprocessor conditions
        clk: qcom: clk-alpha-pll: fix rate setting for Stromer PLLs
        clk: qcom: apss-ipq-pll: fix PLL rate for IPQ5018
        clk: qcom: Fix SM_GPUCC_8650 dependencies
        clk: qcom: Fix SC_CAMCC_8280XP dependencies
        dt-bindings: clocks: stm32mp25: add access-controllers description
        clock, reset: microchip: move all mpfs reset code to the reset subsystem
        clk: samsung: gs101: drop unused HSI2 clock parent data
        clk: rockchip: rk3568: Add PLL rate for 724 MHz
        clk: rockchip: Remove an unused field in struct rockchip_mmc_clock
        dt-bindings: clock: fixed: Define a preferred node name
        clk: meson: s4: fix module autoloading
        clk: samsung: gs101: mark some apm UASC and XIU clocks critical
        clk: imx: imx8mp: Convert to platform remove callback returning void
        clk: imx: imx8mp: Switch to RUNTIME_PM_OPS()
        clk: bcm: rpi: Assign ->num before accessing ->hws
        clk: bcm: dvp: Assign ->num before accessing ->hws
        clk: samsung: gs101: add support for cmu_hsi2
        clk: samsung: gs101: add support for cmu_hsi0
        ...
      619b92b9
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · ff9a7930
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Avoid 'constexpr', which is a keyword in C23
      
       - Allow 'dtbs_check' and 'dt_compatible_check' run independently of
         'dt_binding_check'
      
       - Fix weak references to avoid GOT entries in position-independent code
         generation
      
       - Convert the last use of 'optional' property in arch/sh/Kconfig
      
       - Remove support for the 'optional' property in Kconfig
      
       - Remove support for Clang's ThinLTO caching, which does not work with
         the .incbin directive
      
       - Change the semantics of $(src) so it always points to the source
         directory, which fixes Makefile inconsistencies between upstream and
         downstream
      
       - Fix 'make tar-pkg' for RISC-V to produce a consistent package
      
       - Provide reasonable default coverage for objtool, sanitizers, and
         profilers
      
       - Remove redundant OBJECT_FILES_NON_STANDARD, KASAN_SANITIZE, etc.
      
       - Remove the last use of tristate choice in drivers/rapidio/Kconfig
      
       - Various cleanups and fixes in Kconfig
      
      * tag 'kbuild-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (46 commits)
        kconfig: use sym_get_choice_menu() in sym_check_prop()
        rapidio: remove choice for enumeration
        kconfig: lxdialog: remove initialization with A_NORMAL
        kconfig: m/nconf: merge two item_add_str() calls
        kconfig: m/nconf: remove dead code to display value of bool choice
        kconfig: m/nconf: remove dead code to display children of choice members
        kconfig: gconf: show checkbox for choice correctly
        kbuild: use GCOV_PROFILE and KCSAN_SANITIZE in scripts/Makefile.modfinal
        Makefile: remove redundant tool coverage variables
        kbuild: provide reasonable defaults for tool coverage
        modules: Drop the .export_symbol section from the final modules
        kconfig: use menu_list_for_each_sym() in sym_check_choice_deps()
        kconfig: use sym_get_choice_menu() in conf_write_defconfig()
        kconfig: add sym_get_choice_menu() helper
        kconfig: turn defaults and additional prompt for choice members into error
        kconfig: turn missing prompt for choice members into error
        kconfig: turn conf_choice() into void function
        kconfig: use linked list in sym_set_changed()
        kconfig: gconf: use MENU_CHANGED instead of SYMBOL_CHANGED
        kconfig: gconf: remove debug code
        ...
      ff9a7930
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0cc6f45c
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core:
         - IOMMU memory usage observability - This will make the memory used
           for IO page tables explicitly visible.
         - Simplify arch_setup_dma_ops()
      
        Intel VT-d:
         - Consolidate domain cache invalidation
         - Remove private data from page fault message
         - Allocate DMAR fault interrupts locally
         - Cleanup and refactoring
      
        ARM-SMMUv2:
         - Support for fault debugging hardware on Qualcomm implementations
         - Re-land support for the ->domain_alloc_paging() callback
      
        ARM-SMMUv3:
         - Improve handling of MSI allocation failure
         - Drop support for the "disable_bypass" cmdline option
         - Major rework of the CD creation code, following on directly from
           the STE rework merged last time around.
         - Add unit tests for the new STE/CD manipulation logic
      
        AMD-Vi:
         - Final part of SVA changes with generic IO page fault handling
      
        Renesas IPMMU:
         - Add support for R8A779H0 hardware
      
        ... and a couple smaller fixes and updates across the sub-tree"
      
      * tag 'iommu-updates-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (80 commits)
        iommu/arm-smmu-v3: Make the kunit into a module
        arm64: Properly clean up iommu-dma remnants
        iommu/amd: Enable Guest Translation after reading IOMMU feature register
        iommu/vt-d: Decouple igfx_off from graphic identity mapping
        iommu/amd: Fix compilation error
        iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry
        iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd()
        iommu/arm-smmu-v3: Move the CD generation for SVA into a function
        iommu/arm-smmu-v3: Allocate the CD table entry in advance
        iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr()
        iommu/arm-smmu-v3: Consolidate clearing a CD table entry
        iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function
        iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry()
        iommu/arm-smmu-v3: Add an ops indirection to the STE code
        iommu/arm-smmu-qcom: Don't build debug features as a kernel module
        iommu/amd: Add SVA domain support
        iommu: Add ops->domain_alloc_sva()
        iommu/amd: Initial SVA support for AMD IOMMU
        iommu/amd: Add support for enable/disable IOPF
        iommu/amd: Add IO page fault notifier handler
        ...
      0cc6f45c
    • Linus Torvalds's avatar
      Merge tag 'random-6.10-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · f0cd69b8
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
      
       - The vmgenid driver can now be bound using device tree, rather than
         just ACPI.
      
         The improvement, from Sudan Landge, lets Amazon's Firecracker VMM
         make use of the virtual device without having to expose an otherwise
         unused ACPI stack in their "micro VM".
      
      * tag 'random-6.10-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        virt: vmgenid: add support for devicetree bindings
        dt-bindings: rng: Add vmgenid support
        virt: vmgenid: change implementation to use a platform driver
      f0cd69b8
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 2fc0e789
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "This brings ioctl control to Landlock, contributed by Günther Noack.
        This also adds him as a Landlock reviewer, and fixes an issue in the
        sample"
      
      * tag 'landlock-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        MAINTAINERS: Add Günther Noack as Landlock reviewer
        fs/ioctl: Add a comment to keep the logic in sync with LSM policies
        MAINTAINERS: Notify Landlock maintainers about changes to fs/ioctl.c
        landlock: Document IOCTL support
        samples/landlock: Add support for LANDLOCK_ACCESS_FS_IOCTL_DEV
        selftests/landlock: Exhaustive test for the IOCTL allow-list
        selftests/landlock: Check IOCTL restrictions for named UNIX domain sockets
        selftests/landlock: Test IOCTLs on named pipes
        selftests/landlock: Test ioctl(2) and ftruncate(2) with open(O_PATH)
        selftests/landlock: Test IOCTL with memfds
        selftests/landlock: Test IOCTL support
        landlock: Add IOCTL access right for character and block devices
        samples/landlock: Fix incorrect free in populate_ruleset_net
      2fc0e789
    • Linus Torvalds's avatar
      Merge tag 'net-accept-more-20240515' of git://git.kernel.dk/linux · 89721e30
      Linus Torvalds authored
      Pull more io_uring updates from Jens Axboe:
       "This adds support for IORING_CQE_F_SOCK_NONEMPTY for io_uring accept
        requests.
      
        This is very similar to previous work that enabled the same hint for
        doing receives on sockets. By far the majority of the work here is
        refactoring to enable the networking side to pass back whether or not
        the socket had more pending requests after accepting the current one,
        the last patch just wires it up for io_uring.
      
        Not only does this enable applications to know whether there are more
        connections to accept right now, it also enables smarter logic for
        io_uring multishot accept on whether to retry immediately or wait for
        a poll trigger"
      
      * tag 'net-accept-more-20240515' of git://git.kernel.dk/linux:
        io_uring/net: wire up IORING_CQE_F_SOCK_NONEMPTY for accept
        net: pass back whether socket was empty post accept
        net: have do_accept() take a struct proto_accept_arg argument
        net: change proto and proto_ops accept type
      89721e30
    • Linus Torvalds's avatar
      kprobe/ftrace: fix build error due to bad function definition · 4b377b48
      Linus Torvalds authored
      Commit 1a7d0890 ("kprobe/ftrace: bail out if ftrace was killed")
      introduced a bad K&R function definition, which we haven't accepted in a
      long long time.
      
      Gcc seems to let it slide, but clang notices with the appropriate error:
      
        kernel/kprobes.c:1140:24: error: a function declaration without a prototype is deprecated in all >
         1140 | void kprobe_ftrace_kill()
              |                        ^
              |                         void
      
      but this commit was apparently never in linux-next before it was sent
      upstream, so it didn't get the appropriate build test coverage.
      
      Fixes: 1a7d0890 kprobe/ftrace: bail out if ftrace was killed
      Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
      Cc: Masami Hiramatsu (Google) <mhiramat@kernel.org>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Steven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b377b48
    • Linus Torvalds's avatar
      Merge tag 'net-6.10-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · f08a1e91
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Current release - regressions:
      
         - virtio_net: fix missed error path rtnl_unlock after control queue
           locking rework
      
        Current release - new code bugs:
      
         - bpf: fix KASAN slab-out-of-bounds in percpu_array_map_gen_lookup,
           caused by missing nested map handling
      
         - drv: dsa: correct initialization order for KSZ88x3 ports
      
        Previous releases - regressions:
      
         - af_packet: do not call packet_read_pending() from
           tpacket_destruct_skb() fix performance regression
      
         - ipv6: fix route deleting failure when metric equals 0, don't assume
           0 means not set / default in this case
      
        Previous releases - always broken:
      
         - bridge: couple of syzbot-driven fixes"
      
      * tag 'net-6.10-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (30 commits)
        selftests: net: local_termination: annotate the expected failures
        net: dsa: microchip: Correct initialization order for KSZ88x3 ports
        MAINTAINERS: net: Update reviewers for TI's Ethernet drivers
        dt-bindings: net: ti: Update maintainers list
        l2tp: fix ICMP error handling for UDP-encap sockets
        net: txgbe: fix to control VLAN strip
        net: wangxun: match VLAN CTAG and STAG features
        net: wangxun: fix to change Rx features
        af_packet: do not call packet_read_pending() from tpacket_destruct_skb()
        virtio_net: Fix missed rtnl_unlock
        netrom: fix possible dead-lock in nr_rt_ioctl()
        idpf: don't skip over ethtool tcp-data-split setting
        dt-bindings: net: qcom: ethernet: Allow dma-coherent
        bonding: fix oops during rmmod
        net/ipv6: Fix route deleting failure when metric equals 0
        selftests/net: reduce xfrm_policy test time
        selftests/bpf: Adjust btf_dump test to reflect recent change in file_operations
        selftests/bpf: Adjust test_access_variable_array after a kernel function name change
        selftests/net/lib: no need to record ns name if it already exist
        net: qrtr: ns: Fix module refcnt
        ...
      f08a1e91
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 26aa834f
      Linus Torvalds authored
      Pull tracing tool updates from Steven Rostedt:
       "Specific for timerlat:
      
         - Improve the output of timerlat top by adding a missing \n, and by
           avoiding printing color-formatting characters where they are
           translated to regular characters.
      
         - Improve timerlat auto-analysis output by replacing '\t' with spaces
           to avoid copy-and-paste issues when reporting problems.
      
         - Make the user-space (-u) option the default, as it is the most
           complete test. Add a -k option to use the in-kernel workload.
      
         - On timerlat top and hist, add a summary with the overall results.
           For instance, the minimum value for all CPUs, the overall average
           and the maximum value from all CPUs.
      
         - timerlat hist was printing initial values (i.e., 0 as max, and ~0
           as min) if the trace stopped before the first Ret-User event. This
           problem was fixed by printing the " - " no value string to the
           output if that was the case.
      
        For all RTLA tools:
      
         - Add a --warm-up <seconds> option, allowing the workload to run for
           <seconds> before starting to collect results.
      
         - Add a --trace-buffer-size option, allowing the user to set the
           tracing buffer size for -t option. This option is mainly useful for
           reducing the trace file. Now rtla depends on libtracefs >= 1.6.
      
         - Fix the -t [trace_file] parsing, now it does not require the '='
           before the option parameter, and better handles the multiple ways a
           user can pass the trace_file.txt"
      
      * tag 'trace-tools-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        rtla: Documentation: Fix -t, --trace
        rtla: Fix -t\--trace[=file]
        rtla/timerlat: Fix histogram report when a cpu count is 0
        rtla: Add --trace-buffer-size option
        rtla/timerlat: Make user-space threads the default
        rtla: Add the --warm-up option
        rtla/timerlat: Add a summary for hist mode
        rtla/timerlat: Add a summary for top mode
        rtla/timerlat: Use pretty formatting only on interactive tty
        rtla/auto-analysis: Replace \t with spaces
        rtla/timerlat: Simplify "no value" printing on top
      26aa834f
    • Linus Torvalds's avatar
      Merge tag 'trace-user-events-v6.10' of... · fa3889d9
      Linus Torvalds authored
      Merge tag 'trace-user-events-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull tracing user-event updates from Steven Rostedt:
      
       - Minor update to the user_events interface
      
        The ABI of creating a user event states that the fields are separated
        by semicolons, and spaces should be ignored.
      
        But the parsing expected at least one space to be there (which was
        incorrect). Fix the reading of the string to handle fields separated
        by semicolons but no space between them.
      
        This does extend the API sightly as now "field;field" will now be
        parsed and not cause an error. But it should not cause any regressions
        as no logic should expect it to fail.
      
        Note, that the logic that parses the event fields to create the
        trace_event works with no spaces after the semi-colon. It is
        the logic that tests against existing events that is inconsistent.
        This causes registering an event without using spaces to succeed
        if it doesn't exist, but makes the same call that tries to register
        to the same event, but doesn't use spaces, fail.
      
      * tag 'trace-user-events-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        selftests/user_events: Add non-spacing separator check
        tracing/user_events: Fix non-spaced field matching
      fa3889d9
    • Linus Torvalds's avatar
      Merge tag 'trace-ringbuffer-v6.10' of... · 53683e40
      Linus Torvalds authored
      Merge tag 'trace-ringbuffer-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull tracing ring buffer updates from Steven Rostedt:
       "Add ring_buffer memory mappings.
      
        The tracing ring buffer was created based on being mostly used with
        the splice system call. It is broken up into page ordered sub-buffers
        and the reader swaps a new sub-buffer with an existing sub-buffer
        that's part of the write buffer. It then has total access to the
        swapped out sub-buffer and can do copyless movements of the memory
        into other mediums (file system, network, etc).
      
        The buffer is great for passing around the ring buffer contents in the
        kernel, but is not so good for when the consumer is the user space
        task itself.
      
        A new interface is added that allows user space to memory map the ring
        buffer. It will get all the write sub-buffers as well as reader
        sub-buffer (that is not written to). It can send an ioctl to change
        which sub-buffer is the new reader sub-buffer.
      
        The ring buffer is read only to user space. It only needs to call the
        ioctl when it is finished with a sub-buffer and needs a new sub-buffer
        that the writer will not write over.
      
        A self test program was also created for testing and can be used as an
        example for the interface to user space. The libtracefs (external to
        the kernel) also has code that interacts with this, although it is
        disabled until the interface is in a official release. It can be
        enabled by compiling the library with a special flag. This was used
        for testing applications that perform better with the buffer being
        mapped.
      
        Memory mapped buffers have limitations. The main one is that it can
        not be used with the snapshot logic. If the buffer is mapped,
        snapshots will be disabled. If any logic is set to trigger snapshots
        on a buffer, that buffer will not be allowed to be mapped"
      
      * tag 'trace-ringbuffer-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Add cast to unsigned long addr passed to virt_to_page()
        ring-buffer: Have mmapped ring buffer keep track of missed events
        ring-buffer/selftest: Add ring-buffer mapping test
        Documentation: tracing: Add ring-buffer mapping
        tracing: Allow user-space mapping of the ring-buffer
        ring-buffer: Introducing ring-buffer mapping functions
        ring-buffer: Allocate sub-buffers with __GFP_COMP
      53683e40
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 594d2815
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Remove unused ftrace_direct_funcs variables
      
       - Fix a possible NULL pointer dereference race in eventfs
      
       - Update do_div() usage in trace event benchmark test
      
       - Speedup direct function registration with asynchronous RCU callback.
      
         The synchronization was done in the registration code and this caused
         delays when registering direct callbacks. Move the freeing to a
         call_rcu() that will prevent delaying of the registering.
      
       - Replace simple_strtoul() usage with kstrtoul()
      
      * tag 'trace-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        eventfs: Fix a possible null pointer dereference in eventfs_find_events()
        ftrace: Fix possible use-after-free issue in ftrace_location()
        ftrace: Remove unused global 'ftrace_direct_func_count'
        ftrace: Remove unused list 'ftrace_direct_funcs'
        tracing: Improve benchmark test performance by using do_div()
        ftrace: Use asynchronous grace period for register_ftrace_direct()
        ftrace: Replaces simple_strtoul in ftrace
      594d2815
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 70a66320
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
      
       - tracing/probes: Add new pseudo-types %pd and %pD support for dumping
         dentry name from 'struct dentry *' and file name from 'struct file *'
      
       - uprobes performance optimizations:
          - Speed up the BPF uprobe event by delaying the fetching of the
            uprobe event arguments that are not used in BPF
          - Avoid locking by speculatively checking whether uprobe event is
            valid
          - Reduce lock contention by using read/write_lock instead of
            spinlock for uprobe list operation. This improved BPF uprobe
            benchmark result 43% on average
      
       - rethook: Remove non-fatal warning messages when tracing stack from
         BPF and skip rcu_is_watching() validation in rethook if possible
      
       - objpool: Optimize objpool (which is used by kretprobes and fprobe as
         rethook backend storage) by inlining functions and avoid caching
         nr_cpu_ids because it is a const value
      
       - fprobe: Add entry/exit callbacks types (code cleanup)
      
       - kprobes: Check ftrace was killed in kprobes if it uses ftrace
      
      * tag 'probes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        kprobe/ftrace: bail out if ftrace was killed
        selftests/ftrace: Fix required features for VFS type test case
        objpool: cache nr_possible_cpus() and avoid caching nr_cpu_ids
        objpool: enable inlining objpool_push() and objpool_pop() operations
        rethook: honor CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING in rethook_try_get()
        ftrace: make extra rcu_is_watching() validation check optional
        uprobes: reduce contention on uprobes_tree access
        rethook: Remove warning messages printed for finding return address of a frame.
        fprobe: Add entry/exit callbacks types
        selftests/ftrace: add fprobe test cases for VFS type "%pd" and "%pD"
        selftests/ftrace: add kprobe test cases for VFS type "%pd" and "%pD"
        Documentation: tracing: add new type '%pd' and '%pD' for kprobe
        tracing/probes: support '%pD' type for print struct file's name
        tracing/probes: support '%pd' type for print struct dentry's name
        uprobes: add speculative lockless system-wide uprobe filter check
        uprobes: prepare uprobe args buffer lazily
        uprobes: encapsulate preparation of uprobe args buffer
      70a66320
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · e9d68251
      Linus Torvalds authored
      Pull bootconfig updates from Masami Hiramatsu:
      
       - Do not put unneeded quotes on the extra command line items which was
         inserted from the bootconfig.
      
       - Remove redundant spaces from the extra command line.
      
      * tag 'bootconfig-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        init/main.c: Minor cleanup for the setup_command_line() function
        init/main.c: Remove redundant space from saved_command_line
        bootconfig: do not put quotes on cmdline items unless necessary
      e9d68251
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl · 91b6163b
      Linus Torvalds authored
      Pull sysctl updates from Joel Granados:
      
       - Remove sentinel elements from ctl_table structs in kernel/*
      
         Removing sentinels in ctl_table arrays reduces the build time size
         and runtime memory consumed by ~64 bytes per array. Removals for
         net/, io_uring/, mm/, ipc/ and security/ are set to go into mainline
         through their respective subsystems making the next release the most
         likely place where the final series that removes the check for
         proc_name == NULL will land.
      
         This adds to removals already in arch/, drivers/ and fs/.
      
       - Adjust ctl_table definitions and references to allow constification
           - Remove unused ctl_table function arguments
           - Move non-const elements from ctl_table to ctl_table_header
           - Make ctl_table pointers const in ctl_table_root structure
      
         Making the static ctl_table structs const will increase safety by
         keeping the pointers to proc_handler functions in .rodata. Though no
         ctl_tables where made const in this PR, the ground work for making
         that possible has started with these changes sent by Thomas
         Weißschuh.
      
      * tag 'sysctl-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl:
        sysctl: drop now unnecessary out-of-bounds check
        sysctl: move sysctl type to ctl_table_header
        sysctl: drop sysctl_is_perm_empty_ctl_table
        sysctl: treewide: constify argument ctl_table_root::permissions(table)
        sysctl: treewide: drop unused argument ctl_table_root::set_ownership(table)
        bpf: Remove the now superfluous sentinel elements from ctl_table array
        delayacct: Remove the now superfluous sentinel elements from ctl_table array
        kprobes: Remove the now superfluous sentinel elements from ctl_table array
        printk: Remove the now superfluous sentinel elements from ctl_table array
        scheduler: Remove the now superfluous sentinel elements from ctl_table array
        seccomp: Remove the now superfluous sentinel elements from ctl_table array
        timekeeping: Remove the now superfluous sentinel elements from ctl_table array
        ftrace: Remove the now superfluous sentinel elements from ctl_table array
        umh: Remove the now superfluous sentinel elements from ctl_table array
        kernel misc: Remove the now superfluous sentinel elements from ctl_table array
      91b6163b
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 06f054b1
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "DT Bindings:
      
         - Convert samsung,exynos5-dp, atmel,lcdc, aspeed,ast2400-wdt bindings
           to schemas
      
         - Add bindings for Allwinner H616 NMI controller, Renesas r8a779g0
           irqc, Renesas R-Car V4M TMU and CMT timers, Freescale S32G3
           linflexuart, and Mediatek MT7988 XHCI
      
         - Add 'reg' constraints on DSI and SPI display panels
      
         - More dropping of unnecessary quotes in schemas
      
         - Use full paths rather than relative paths in schema $refs
      
         - Drop redundant storing of phandle for reserved memory
      
        DT Core:
      
         - Use scope based cleanups for kfree() and of_node_put()
      
         - Track interrupt-map and power-supplies for fw_devlink
      
         - Add buffer overflow check in of_modalias()
      
         - Add and use __of_prop_free() helper for freeing struct property"
      
      * tag 'devicetree-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (25 commits)
        of: property: Add fw_devlink support for interrupt-map property
        dt-bindings: display: panel: constrain 'reg' in DSI panels
        dt-bindings: display: panel: constrain 'reg' in SPI panels
        dt-bindings: display: samsung,ams495qa01: add missing SPI properties ref
        dt-bindings: Use full path to other schemas
        dt-bindings: PCI: qcom,pcie-sm8350: Drop redundant 'oneOf' sub-schema
        of: module: add buffer overflow check in of_modalias()
        dt-bindings: PCI: microchip: increase number of items in ranges property
        dt-bindings: Drop unnecessary quotes on keys
        dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Drop unnecessary quotes
        of: property: Use scope based cleanup on port_node
        of: reserved_mem: Remove the use of phandle from the reserved_mem APIs
        of: property: fw_devlink: Add support for "power-supplies" binding
        dt-bindings: watchdog: aspeed,ast2400-wdt: Convert to DT schema
        dt-bindings: irq: sun7i-nmi: Add binding for the H616 NMI controller
        dt-bindings: interrupt-controller: renesas,irqc: Add r8a779g0 support
        dt-bindings: timer: renesas,tmu: Add R-Car V4M support
        dt-bindings: timer: renesas,cmt: Add R-Car V4M support
        of: Use scope based of_node_put() cleanups
        of: Use scope based kfree() cleanups
        ...
      06f054b1
  4. 17 May, 2024 14 commits