1. 15 Mar, 2024 16 commits
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · ab522e14
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "DT core:
      
         - Add cleanup.h based auto release of struct device_node pointers via
           __free marking and new for_each_child_of_node_scoped() iterator to
           use it.
      
         - Always create a base skeleton DT when CONFIG_OF is enabled. This
           supports several usecases of adding DT data on non-DT booted
           systems.
      
         - Move around some /reserved-memory code in preparation for further
           improvements
      
         - Add a stub for_each_property_of_node() for !OF
      
         - Adjust the printk levels on some messages
      
         - Fix __be32 sparse warning
      
         - Drop RESERVEDMEM_OF_DECLARE usage from Freescale qbman driver
           (currently orphaned)
      
         - Add Saravana Kannan and drop Frank Rowand as DT maintainers
      
        DT bindings:
      
         - Convert Mediatek timer, Mediatek sysirq, fsl,imx6ul-tsc,
           fsl,imx6ul-pinctrl, Atmel AIC, Atmel HLCDC, FPGA region, and
           xlnx,sd-fec to DT schemas
      
         - Add existing, but undocumented fsl,imx-anatop binding
      
         - Add bunch of undocumented vendor prefixes used in compatible
           strings
      
         - Drop obsolete brcm,bcm2835-pm-wdt binding
      
         - Drop obsolete i2c.txt which as been replaced with schema in
           dtschema
      
         - Add DPS310 device and sort trivial-devices.yaml
      
         - Enable undocumented compatible checks on DT binding examples
      
         - More QCom maintainer fixes/updates
      
         - Updates to writing-schema.rst and DT submitting-patches.rst to
           cover some frequent review comments
      
         - Clean-up SPDX tags to use 'OR' rather than 'or'"
      
      * tag 'devicetree-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (56 commits)
        dt-bindings: soc: imx: fsl,imx-anatop: add imx6q regulators
        of: unittest: Use for_each_child_of_node_scoped()
        of: Introduce for_each_*_child_of_node_scoped() to automate of_node_put() handling
        of: Add cleanup.h based auto release via __free(device_node) markings
        of: Move all FDT reserved-memory handling into of_reserved_mem.c
        of: Add KUnit test to confirm DTB is loaded
        of: unittest: treat missing of_root as error instead of fixing up
        x86/of: Unconditionally call unflatten_and_copy_device_tree()
        um: Unconditionally call unflatten_device_tree()
        of: Create of_root if no dtb provided by firmware
        of: Always unflatten in unflatten_and_copy_device_tree()
        dt-bindings: timer: mediatek: Convert to json-schema
        dt-bindings: interrupt-controller: fsl,intmux: Include power-domains support
        soc: fsl: qbman: Remove RESERVEDMEM_OF_DECLARE usage
        dt-bindings: fsl-imx-sdma: fix HDMI audio index
        dt-bindings: soc: imx: fsl,imx-iomuxc-gpr: add imx6
        dt-bindings: soc: imx: fsl,imx-anatop: add binding
        dt-bindings: input: touchscreen: fsl,imx6ul-tsc convert to YAML
        dt-bindings: pinctrl: fsl,imx6ul-pinctrl: convert to YAML
        of: make for_each_property_of_node() available to to !OF
        ...
      ab522e14
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 3c5d127f
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "MTD:
      
         - The Carillo Ranch driver has been removed
      
         - Top level mtd bindings have received a couple of improvements
           (references, selects)
      
         - The ssfdc driver received few minor adjustments
      
         - The usual load of misc/small improvements and fixes
      
        Raw NAND:
      
         - The main series brought is an update of the Broadcom support to
           support all BCMBCA SoCs and their specificity (ECC, write
           protection, configuration straps), plus a few misc fixes and
           changes in the main driver. Device tree updates are also part of
           this PR, initially because of a misunderstanding on my side.
      
         - The STM32_FMC2 controller driver is also upgraded to properly
           support MP1 and MP25 SoCs.
      
         - A new compatible is added for an Atmel flavor.
      
         - Among all these feature changes, there is as well a load of
           continuous read related fixes, avoiding more corner conditions and
           clarifying the logic. Finally a few miscellaneous fixes are made to
           the core, the lpx32xx_mlc, fsl_lbc, Meson and Atmel controller
           driver, as well as final one in the Hynix vendor driver.
      
        SPI-NAND:
      
         - The ESMT support has been extended to match 5 bytes ID to avoid
           collisions. Winbond support on its side receives support for
           W25N04KV chips.
      
        SPI NOR:
      
         - SPI NOR gets the non uniform erase code cleaned. We stopped using
           bitmasks for erase types and flags, and instead introduced
           dedicated members. We then passed the SPI NOR erase map to MTD.
           Users can now determine the erase regions and make informed
           decisions on partitions size.
      
         - An optional interrupt property is now described in the bindings"
      
      * tag 'mtd/for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (50 commits)
        mtd: rawnand: Ensure continuous reads are well disabled
        mtd: rawnand: Constrain even more when continuous reads are enabled
        mtd: rawnand: brcmnand: Add support for getting ecc setting from strap
        mtd: rawnand: brcmnand: fix sparse warnings
        mtd: nand: raw: atmel: Fix comment in timings preparation
        mtd: rawnand: Ensure all continuous terms are always in sync
        mtd: rawnand: Add a helper for calculating a page index
        mtd: rawnand: Fix and simplify again the continuous read derivations
        mtd: rawnand: hynix: remove @nand_technology kernel-doc description
        dt-bindings: atmel-nand: add microchip,sam9x7-pmecc
        mtd: rawnand: brcmnand: Support write protection setting from dts
        mtd: rawnand: brcmnand: Add BCMBCA read data bus interface
        mtd: rawnand: brcmnand: Rename bcm63138 nand driver
        arm64: dts: broadcom: bcmbca: Update router boards
        arm64: dts: broadcom: bcmbca: Add NAND controller node
        ARM: dts: broadcom: bcmbca: Add NAND controller node
        mtd: spi-nor: core: correct type of i
        mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map
        mtd: spi-nor: core: get rid of SNOR_OVERLAID_REGION flag
        mtd: spi-nor: core: get rid of SNOR_LAST_REGION flag
        ...
      3c5d127f
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 2b3a4192
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New hardware support:
         - Allwinner H616 dma support
         - Renesas r8a779h0 dma controller support
         - TI CSI2RX dma support
      
        Updates:
         - Freescale edma driver updates for TCD64csupport for i.MX95
         - constify of pointers and args
         - Yaml conversion for MediaTek High-Speed controller binding
         - TI k3 udma support for TX/RX DMA channels for thread IDs:
      
      * tag 'dmaengine-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (25 commits)
        dmaengine: of: constify of_phandle_args in of_dma_find_controller()
        dmaengine: pl08x: constify pointer to char in filter function
        MAINTAINERS: change in AMD ptdma maintainer
        MAINTAINERS: adjust file entry in MEDIATEK DMA DRIVER
        dmaengine: idxd: constify the struct device_type usage
        dt-bindings: renesas,rcar-dmac: Add r8a779h0 support
        dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema
        dmaengine: idxd: make dsa_bus_type const
        dmaengine: fsl-edma: integrate TCD64 support for i.MX95
        dt-bindings: fsl-dma: fsl-edma: add fsl,imx95-edma5 compatible string
        dmaengine: mcf-edma: utilize edma_write_tcdreg() macro for TCD Access
        dmaengine: fsl-edma: add address for channel mux register in fsl_edma_chan
        dmaengine: fsl-edma: fix spare build warning
        dmaengine: fsl-edma: involve help macro fsl_edma_set(get)_tcd()
        dt-bindings: mmp-dma: convert to YAML
        dmaengine: ti: k3-psil-j721s2: Add entry for CSI2RX
        dmaengine: ti: k3-udma-glue: Add function to request RX chan for thread ID
        dmaengine: ti: k3-udma-glue: Add function to request TX chan for thread ID
        dmaengine: ti: k3-udma-glue: Update name for remote RX channel device
        dmaengine: ti: k3-udma-glue: Add function to parse channel by ID
        ...
      2b3a4192
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · b898db92
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
      
       - Constify sdw_bus and sdw_master_type objects
      
       - use of rtd helper for better code
      
       - intel aux device remove redundant assignment
      
      * tag 'soundwire-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: Use snd_soc_substream_to_rtd() to obtain rtd
        soundwire: constify the struct device_type usage
        soundwire: bus_type: make sdw_bus_type const
        soundwire: intel_auxdevice: remove redundant assignment to variable link_flags
        soundwire: stream: add missing const to Documentation
      b898db92
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · c77756d3
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Minor changes to the I2C core. Most changes are in drivers:
      
        The i801 and designware drivers received most of the changes,
        including refactorings and some additions.
      
        Recovery changes for the iMX and iMX-LPI2C are now utilizing the
        generic i2c support.
      
        The Cadence driver now supports system suspend and resume.
      
        The hisi, mpc, sh_mobile, and npcm drivers have undergone some
        cleanups and improvements. Meanwhile, Uwe continues his work on
        converting the "remove" callback to become a void function.
      
        The pca954x mux driver now supports additional configurations, such as
        isolating faulty channels and flushing stuck buses, among others.
      
        Support has been added for Renesas r8a779h0, i.MX95 LPI2C, and
        Microchip sam9x7. Meanwhile, Geert lays the groundwork for the
        upcoming R-Car Gen4"
      
      * tag 'i2c-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (34 commits)
        i2c: sprd: Convert to platform remove callback returning void
        Documentation: i2c: Document that client auto-detection is a legacy mechanism
        i2c: remove redundant condition
        i2c: rcar: Prepare for the advent of ARCH_RCAR_GEN4
        i2c: imx-lpi2c: add generic GPIO recovery for LPI2C
        i2c: cadence: Add system suspend and resume PM support
        i2c: mpc: remove outdated macro
        i2c: mpc: use proper binding for transfer timeouts
        dt-bindings: i2c: mpc: use proper binding for transfer timeouts
        i2c: smbus: Prepare i2c_register_spd for usage on muxed segments
        i2c: constify the struct device_type usage
        i2c: designware: Implement generic polling mode code for Wangxun 10Gb NIC
        i2c: designware: Fix RX FIFO depth define on Wangxun 10Gb NIC
        i2c: designware: Move interrupt handling functions before i2c_dw_xfer()
        i2c: designware: Use accessors to DW_IC_INTR_MASK register
        i2c: designware: Do not enable interrupts shortly in polling mode
        i2c: designware: Uniform initialization flow for polling mode
        dt-bindings: i2c: at91: Add sam9x7 compatible string
        dt-bindings: i2c: imx-lpi2c: add i.MX95 LPI2C
        i2c: Remove redundant comparison in npcm_i2c_reg_slave
        ...
      c77756d3
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 4757c3c6
      Linus Torvalds authored
      Pull libnvdimm updates from Dave Jiang:
      
       - ACPI_NFIT Kconfig documetation fix
      
       - Make nvdimm_bus_type const
      
       - Make dax_bus_type const
      
       - remove SLAB_MEM_SPREAD flag usage in DAX
      
      * tag 'libnvdimm-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        dax: remove SLAB_MEM_SPREAD flag usage
        device-dax: make dax_bus_type const
        nvdimm: make nvdimm_bus_type const
        libnvdimm: Fix ACPI_NFIT in BLK_DEV_PMEM help
      4757c3c6
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 6dff52b8
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "Not a ton of stuff happening in the clk framework. We got some more
        devm helpers and we seem to be going in the direction of "just turn
        this stuff on already and leave me alone!" with the addition of a
        devm_clk_bulk_get_all_enable() API. I'm hoping that we can make that
        into a pmdomain that drivers attach instead, but this API should help
        drivers simplify in the meantime.
      
        Outside of the devm wrappers, we've got the usual clk driver updates
        that are dominated by the major phone SoC vendors (Samsung and
        Qualcomm) and the non-critical driver fixes for things like incorrect
        topology descriptions and wrong registers or bit fields. More details
        are below, but I'd say that it looks pretty ordinary. The only thing
        that really jumps out at me is the Renesas clk driver that's ignoring
        clks that are assigned to remote processors in DeviceTree. That's a
        new feature that they're using to avoid marking clks as
        CLK_IGNORE_UNUSED based on the configuration of the system.
      
        Core:
         - Increase dev_id len for clkdev lookups
         - Add a devm_clk_bulk_get_all_enable() API to get and enable all clks
           for a device
         - Add a devm variant of clk_rate_exclusive_get()
      
        New Drivers:
         - Display, TCSR, GPU, and Camera clock controllers for Qualcomm's X1
           Elite SoC
         - Google GS101 PERIC0 and PERIC1 clock controllers
         - Exynos850 PDMA clocks
         - Exynos850 CPU cluster 0 and 1 (CMU_CPUCLK0/CMU_CPUCLK1) clock
           controllers
      
        Removed Drivers:
         - Remove the unused Qualcomm sc7180 modem clk driver
      
        Updates:
         - Fix some static checker errors in the Hisilicon clk driver
         - Polarfire MSSPLL hardware has 4 output clocks (the driver supported
           previously only one output); each of these 4 outputs feed dividers
           and the output of each divider feed individual hardware blocks
           (e.g. CAN, Crypto, eMMC); individual hardware block drivers need to
           control their clocks thus clock driver support was added for all
           MSSPLL output clocks
         - Typo fixes in the Qualcomm IPQ5018 GCC driver
         - Add "qdss_at" clk on Qualcomm IPQ6018, needed for WiFi
         - Properly terminate frequency tables in different Qualcomm clk
           drivers
         - Add MDSS, crypto, and SDCC resets on Qualcomm MSM8953
         - Add missing UFS CLKREF clks on Qualcomm SC8180X
         - Avoid significant delays during boot by adding a softdep on rpmhpd
           to Qualcomm SDM845 gcc driver
         - Add QUPv3 RCGS w/ DFS and video resets to Qualcomm SM8150 GCC
           driver
         - Fix the custom GPU GX "do-nothing" method in the Qualcomm GDSC
           driver
         - Add an external regulator to GX GDSC on Qualcomm SC8280XP GPU clk
           driver
         - Switch display, GPU, video, and camera Qualcomm clk drivers to
           module_platform_driver()
         - Set a longer delay for Venus resets on many Qualcomm SoCs
         - Correct the GDSC wait times in the Qualcomm SDM845 display clk
           driver
         - Fix clock listing Oops on Amlogic axg
         - New pll-rate for Rockchip rk3568
         - i2s rate improvements for Rockchip rk3399
         - Rockchip rk3588 syscon clock fixes and removal of overall
           clock-number from the rk3588 binding header
         - A prerequisite for later improvements to the Rockchip rk3588 linked
           clocks
         - Minor clean-ups and error handling improvements in both
           composite-8m and SCU i.MX clock drivers
         - Fix for SAI_MCLK_SEL definition for i.MX8MP
         - Register the Samsung CMU MISC clock controller earlier, so the
           Multi Core Timer clocksource can use it on Google GS101
         - Propagate Exynos850 SPI IPCLK rate change to parents, so the SPI
           will get proper clock rates
         - Refactor the generic Samsung CPU clock controllers code, preparing
           it for supporting Exynos850 CPU clocks
         - Fix some clk kerneldoc warnings
         - Add Ethernet, SDHI, DMA, and HyperFLASH/QSPI (RPC-IF) clocks on
           Renesas R-Car V4M
         - Ignore all clocks which are assigned to a non-Linux system in the
           Renesas clk driver
         - Add watchdog clock on Renesas RZ/G3S
         - Add camera (CRU) clock and reset on Renesas RZ/G2UL
         - Add support for the Renesas R-Car V4M (R8A779H0) SoC
         - Convert some clk bindings to YAML so they can be validated"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (150 commits)
        clk: zynq: Prevent null pointer dereference caused by kmalloc failure
        clk: fractional-divider: Use bit operations consistently
        clk: fractional-divider: Move mask calculations out of lock
        clk: Fix clk_core_get NULL dereference
        clk: starfive: jh7110-vout: Convert to platform remove callback returning void
        clk: starfive: jh7110-isp: Convert to platform remove callback returning void
        clk: imx: imx8-acm: Convert to platform remove callback returning void
        clk: qcom: gcc-ipq5018: fix register offset for GCC_UBI0_AXI_ARES reset
        clk: qcom: gcc-ipq5018: fix 'halt_reg' offset of 'gcc_pcie1_pipe_clk'
        clk: qcom: gcc-ipq5018: fix 'enable_reg' offset of 'gcc_gmac0_sys_clk'
        clk: qcom: camcc-x1e80100: Fix missing DT_IFACE enum in x1e80100 camcc
        clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays
        clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays
        clk: qcom: camcc-sc8280xp: fix terminating of frequency table arrays
        clk: qcom: gcc-ipq9574: fix terminating of frequency table arrays
        clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays
        clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays
        clk: qcom: gcc-ipq5018: fix terminating of frequency table arrays
        clk: mediatek: clk-mt8173-apmixedsys: Use common error handling code in clk_mt8173_apmixed_probe()
        clk: Add a devm variant of clk_rate_exclusive_get()
        ...
      6dff52b8
    • Linus Torvalds's avatar
      Merge tag 'media/v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · eb7cca1f
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - DVB budget legacy API was finally documented. It took only 20+ years
         to get some documentation about it...
      
       - hantro driver has gained support for STM32MP25 VDEC/VENC
      
       - rkisp1 has gained support for i.MX8MP
      
       - atomisp got rid of two items from its todo list. Still 5 items
         pending for moving it out of staging
      
       - lots of driver fixes, cleanups and improvements
      
      * tag 'media/v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (252 commits)
        media: rcar-isp: Disallow unbind of devices
        media: usbtv: Remove useless locks in usbtv_video_free()
        media: mediatek: vcodec: avoid -Wcast-function-type-strict warning
        media: ttpci: fix two memleaks in budget_av_attach
        media: go7007: fix a memleak in go7007_load_encoder
        media: dvb-frontends: avoid stack overflow warnings with clang
        media: pvrusb2: fix uaf in pvr2_context_set_notify
        media: usb: s2255: Refactor s2255_get_fx2fw
        media: ti: j721e-csi2rx: Convert to platform remove callback returning void
        media: stm32-dcmipp: Convert to platform remove callback returning void
        media: nxp: imx8-isi: Convert to platform remove callback returning void
        media: nuvoton: Convert to platform remove callback returning void
        media: chips-media: wave5: Convert to platform remove callback returning void
        media: chips-media: wave5: Remove unnecessary semicolons
        media: i2c: imx290: Fix IMX920 typo
        media: platform: replace of_graph_get_next_endpoint()
        media: i2c: replace of_graph_get_next_endpoint()
        media: ivsc: csi: Make use of sub-device state
        media: ivsc: csi: Swap SINK and SOURCE pads
        media: ipu-bridge: Serialise calls to IPU bridge init
        ...
      eb7cca1f
    • Linus Torvalds's avatar
      Merge tag '9p-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · c442a423
      Linus Torvalds authored
      Pull 9p updates from Eric Van Hensbergen:
       "This includes a number of patches addressing improvements in the cache
        portions of the 9p client.
      
        The biggest improvements have to do with fixing handling of inodes and
        eliminating duplicate structures and unnecessary allocation/release of
        inode structures and many associated unnecessary protocol traffic.
        This also dramatically reduced code complexity across the code and
        sets us up to add proper temporal cache capabilities"
      
      * tag '9p-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        fs/9p: fix dups even in uncached mode
        fs/9p: simplify iget to remove unnecessary paths
        fs/9p: rework qid2ino logic
        fs/9p: Eliminate now unused v9fs_get_inode
        fs/9p: Eliminate redundant non-cache path in mknod
        fs/9p: remove walk and inode allocation from symlink
        fs/9p: convert mkdir to use get_new_inode
        fs/9p: switch vfsmount to use v9fs_get_new_inode
      c442a423
    • Alexander Stein's avatar
      dt-bindings: soc: imx: fsl,imx-anatop: add imx6q regulators · 7e98fe49
      Alexander Stein authored
      imx6q has additional regulators compared to imx6ul. Add them to the list
      of allowed patterns.
      Signed-off-by: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
      Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Link: https://lore.kernel.org/r/20240314145953.2957313-1-alexander.stein@ew.tq-group.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
      7e98fe49
    • Linus Torvalds's avatar
      Merge tag 'fuse-update-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 6ce8b2ce
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
      
       - Add passthrough mode for regular file I/O.
      
         This allows performing read and write (also via memory maps) on a
         backing file without incurring the overhead of roundtrips to
         userspace. For now this is only allowed to privileged servers, but
         this limitation will go away in the future (Amir Goldstein)
      
       - Fix interaction of direct I/O mode with memory maps (Bernd Schubert)
      
       - Export filesystem tags through sysfs for virtiofs (Stefan Hajnoczi)
      
       - Allow resending queued requests for server crash recovery (Zhao Chen)
      
       - Misc fixes and cleanups
      
      * tag 'fuse-update-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (38 commits)
        fuse: get rid of ff->readdir.lock
        fuse: remove unneeded lock which protecting update of congestion_threshold
        fuse: Fix missing FOLL_PIN for direct-io
        fuse: remove an unnecessary if statement
        fuse: Track process write operations in both direct and writethrough modes
        fuse: Use the high bit of request ID for indicating resend requests
        fuse: Introduce a new notification type for resend pending requests
        fuse: add support for explicit export disabling
        fuse: __kuid_val/__kgid_val helpers in fuse_fill_attr_from_inode()
        fuse: fix typo for fuse_permission comment
        fuse: Convert fuse_writepage_locked to take a folio
        fuse: Remove fuse_writepage
        virtio_fs: remove duplicate check if queue is broken
        fuse: use FUSE_ROOT_ID in fuse_get_root_inode()
        fuse: don't unhash root
        fuse: fix root lookup with nonzero generation
        fuse: replace remaining make_bad_inode() with fuse_make_bad()
        virtiofs: drop __exit from virtio_fs_sysfs_exit()
        fuse: implement passthrough for mmap
        fuse: implement splice read/write passthrough
        ...
      6ce8b2ce
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 68bf6bfd
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Ext4 bug fixes and cleanups, plus some additional kunit tests"
      
      * tag 'ext4_for_linus-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (23 commits)
        ext4: initialize sbi->s_freeclusters_counter and sbi->s_dirtyclusters_counter before use in kunit test
        ext4: hold group lock in ext4 kunit test
        ext4: alloc test super block from sget
        ext4: kunit: use dynamic inode allocation
        ext4: enable meta_bg only when new desc blocks are needed
        ext4: remove unused parameter biop in ext4_issue_discard()
        ext4: remove SLAB_MEM_SPREAD flag usage
        ext4: verify s_clusters_per_group even without bigalloc
        ext4: fix corruption during on-line resize
        ext4: don't report EOPNOTSUPP errors from discard
        ext4: drop duplicate ea_inode handling in ext4_xattr_block_set()
        ext4: fold quota accounting into ext4_xattr_inode_lookup_create()
        ext4: correct best extent lstart adjustment logic
        ext4: forbid commit inconsistent quota data when errors=remount-ro
        ext4: add a hint for block bitmap corrupt state in mb_groups
        ext4: fix the comment of ext4_map_blocks()/ext4_ext_map_blocks()
        ext4: improve error msg for ext4_mb_seq_groups_show
        ext4: remove unused buddy_loaded in ext4_mb_seq_groups_show
        ext4: Add unit test for ext4_mb_mark_diskspace_used
        ext4: Add unit test for mb_free_blocks
        ...
      68bf6bfd
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-03-13' of https://evilpiepirate.org/git/bcachefs · 32a50540
      Linus Torvalds authored
      Pull bcachefs updates from Kent Overstreet:
      
       - Subvolume children btree; this is needed for providing a userspace
         interface for walking subvolumes, which will come later
      
       - Lots of improvements to directory structure checking
      
       - Improved journal pipelining, significantly improving performance on
         high iodepth write workloads
      
       - Discard path improvements: the discard path is more efficient, and no
         longer flushes the journal unnecessarily
      
       - Buffered write path can now avoid taking the inode lock
      
       - new mm helper: memalloc_flags_{save|restore}
      
       - mempool now does kvmalloc mempools
      
      * tag 'bcachefs-2024-03-13' of https://evilpiepirate.org/git/bcachefs: (128 commits)
        bcachefs: time_stats: shrink time_stat_buffer for better alignment
        bcachefs: time_stats: split stats-with-quantiles into a separate structure
        bcachefs: mean_and_variance: put struct mean_and_variance_weighted on a diet
        bcachefs: time_stats: add larger units
        bcachefs: pull out time_stats.[ch]
        bcachefs: reconstruct_alloc cleanup
        bcachefs: fix bch_folio_sector padding
        bcachefs: Fix btree key cache coherency during replay
        bcachefs: Always flush write buffer in delete_dead_inodes()
        bcachefs: Fix order of gc_done passes
        bcachefs: fix deletion of indirect extents in btree_gc
        bcachefs: Prefer struct_size over open coded arithmetic
        bcachefs: Kill unused flags argument to btree_split()
        bcachefs: Check for writing superblocks with nonsense member seq fields
        bcachefs: fix bch2_journal_buf_to_text()
        lib/generic-radix-tree.c: Make nodes more reasonably sized
        bcachefs: copy_(to|from)_user_errcode()
        bcachefs: Split out bkey_types.h
        bcachefs: fix lost journal buf wakeup due to improved pipelining
        bcachefs: intercept mountoption value for bool type
        ...
      32a50540
    • Miquel Raynal's avatar
      Merge tag 'nand/for-6.9' into mtd/next · 09888e97
      Miquel Raynal authored
      Raw NAND
      
      The main series brought is an update of the Broadcom support to support
      all BCMBCA SoCs and their specificity (ECC, write protection,
      configuration straps), plus a few misc fixes and changes in the main
      driver. Device tree updates are also part of this PR, initially because
      of a misunderstanding on my side.
      
      The STM32_FMC2 controller driver is also upgraded to properly support
      MP1 and MP25 SoCs.
      
      A new compatible is added for an Atmel flavor.
      
      Among all these feature changes, there is as well a load of continuous
      read related fixes, avoiding more corner conditions and clarifying the
      logic. Finally a few miscellaneous fixes are made to the core, the
      lpx32xx_mlc, fsl_lbc, Meson and Atmel controller driver, as well as
      final one in the Hynix vendor driver.
      
      SPI-NAND
      
      The ESMT support has been extended to match 5 bytes ID to avoid
      collisions. Winbond support on its side receives support for W25N04KV
      chips.
      09888e97
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2024-03-14-09-36' of... · e5eb28f6
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2024-03-14-09-36' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-MM updates from Andrew Morton:
      
       - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min
         heap optimizations".
      
       - Kuan-Wei Chiu has also sped up the library sorting code in the series
         "lib/sort: Optimize the number of swaps and comparisons".
      
       - Alexey Gladkov has added the ability for code running within an IPC
         namespace to alter its IPC and MQ limits. The series is "Allow to
         change ipc/mq sysctls inside ipc namespace".
      
       - Geert Uytterhoeven has contributed some dhrystone maintenance work in
         the series "lib: dhry: miscellaneous cleanups".
      
       - Ryusuke Konishi continues nilfs2 maintenance work in the series
      
      	"nilfs2: eliminate kmap and kmap_atomic calls"
      	"nilfs2: fix kernel bug at submit_bh_wbc()"
      
       - Nathan Chancellor has updated our build tools requirements in the
         series "Bump the minimum supported version of LLVM to 13.0.1".
      
       - Muhammad Usama Anjum continues with the selftests maintenance work in
         the series "selftests/mm: Improve run_vmtests.sh".
      
       - Oleg Nesterov has done some maintenance work against the signal code
         in the series "get_signal: minor cleanups and fix".
      
      Plus the usual shower of singleton patches in various parts of the tree.
      Please see the individual changelogs for details.
      
      * tag 'mm-nonmm-stable-2024-03-14-09-36' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (77 commits)
        nilfs2: prevent kernel bug at submit_bh_wbc()
        nilfs2: fix failure to detect DAT corruption in btree and direct mappings
        ocfs2: enable ocfs2_listxattr for special files
        ocfs2: remove SLAB_MEM_SPREAD flag usage
        assoc_array: fix the return value in assoc_array_insert_mid_shortcut()
        buildid: use kmap_local_page()
        watchdog/core: remove sysctl handlers from public header
        nilfs2: use div64_ul() instead of do_div()
        mul_u64_u64_div_u64: increase precision by conditionally swapping a and b
        kexec: copy only happens before uchunk goes to zero
        get_signal: don't initialize ksig->info if SIGNAL_GROUP_EXIT/group_exec_task
        get_signal: hide_si_addr_tag_bits: fix the usage of uninitialized ksig
        get_signal: don't abuse ksig->info.si_signo and ksig->sig
        const_structs.checkpatch: add device_type
        Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>"
        dyndbg: replace kstrdup() + strchr() with kstrdup_and_replace()
        list: leverage list_is_head() for list_entry_is_head()
        nilfs2: MAINTAINERS: drop unreachable project mirror site
        smp: make __smp_processor_id() 0-argument macro
        fat: fix uninitialized field in nostale filehandles
        ...
      e5eb28f6
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 902861e3
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames
         from hotplugged memory rather than only from main memory. Series
         "implement "memmap on memory" feature on s390".
      
       - More folio conversions from Matthew Wilcox in the series
      
      	"Convert memcontrol charge moving to use folios"
      	"mm: convert mm counter to take a folio"
      
       - Chengming Zhou has optimized zswap's rbtree locking, providing
         significant reductions in system time and modest but measurable
         reductions in overall runtimes. The series is "mm/zswap: optimize the
         scalability of zswap rb-tree".
      
       - Chengming Zhou has also provided the series "mm/zswap: optimize zswap
         lru list" which provides measurable runtime benefits in some
         swap-intensive situations.
      
       - And Chengming Zhou further optimizes zswap in the series "mm/zswap:
         optimize for dynamic zswap_pools". Measured improvements are modest.
      
       - zswap cleanups and simplifications from Yosry Ahmed in the series
         "mm: zswap: simplify zswap_swapoff()".
      
       - In the series "Add DAX ABI for memmap_on_memory", Vishal Verma has
         contributed several DAX cleanups as well as adding a sysfs tunable to
         control the memmap_on_memory setting when the dax device is
         hotplugged as system memory.
      
       - Johannes Weiner has added the large series "mm: zswap: cleanups",
         which does that.
      
       - More DAMON work from SeongJae Park in the series
      
      	"mm/damon: make DAMON debugfs interface deprecation unignorable"
      	"selftests/damon: add more tests for core functionalities and corner cases"
      	"Docs/mm/damon: misc readability improvements"
      	"mm/damon: let DAMOS feeds and tame/auto-tune itself"
      
       - In the series "mm/mempolicy: weighted interleave mempolicy and sysfs
         extension" Rakie Kim has developed a new mempolicy interleaving
         policy wherein we allocate memory across nodes in a weighted fashion
         rather than uniformly. This is beneficial in heterogeneous memory
         environments appearing with CXL.
      
       - Christophe Leroy has contributed some cleanup and consolidation work
         against the ARM pagetable dumping code in the series "mm: ptdump:
         Refactor CONFIG_DEBUG_WX and check_wx_pages debugfs attribute".
      
       - Luis Chamberlain has added some additional xarray selftesting in the
         series "test_xarray: advanced API multi-index tests".
      
       - Muhammad Usama Anjum has reworked the selftest code to make its
         human-readable output conform to the TAP ("Test Anything Protocol")
         format. Amongst other things, this opens up the use of third-party
         tools to parse and process out selftesting results.
      
       - Ryan Roberts has added fork()-time PTE batching of THP ptes in the
         series "mm/memory: optimize fork() with PTE-mapped THP". Mainly
         targeted at arm64, this significantly speeds up fork() when the
         process has a large number of pte-mapped folios.
      
       - David Hildenbrand also gets in on the THP pte batching game in his
         series "mm/memory: optimize unmap/zap with PTE-mapped THP". It
         implements batching during munmap() and other pte teardown
         situations. The microbenchmark improvements are nice.
      
       - And in the series "Transparent Contiguous PTEs for User Mappings"
         Ryan Roberts further utilizes arm's pte's contiguous bit ("contpte
         mappings"). Kernel build times on arm64 improved nicely. Ryan's
         series "Address some contpte nits" provides some followup work.
      
       - In the series "mm/hugetlb: Restore the reservation" Breno Leitao has
         fixed an obscure hugetlb race which was causing unnecessary page
         faults. He has also added a reproducer under the selftest code.
      
       - In the series "selftests/mm: Output cleanups for the compaction
         test", Mark Brown did what the title claims.
      
       - Kinsey Ho has added the series "mm/mglru: code cleanup and
         refactoring".
      
       - Even more zswap material from Nhat Pham. The series "fix and extend
         zswap kselftests" does as claimed.
      
       - In the series "Introduce cpu_dcache_is_aliasing() to fix DAX
         regression" Mathieu Desnoyers has cleaned up and fixed rather a mess
         in our handling of DAX on archiecctures which have virtually aliasing
         data caches. The arm architecture is the main beneficiary.
      
       - Lokesh Gidra's series "per-vma locks in userfaultfd" provides
         dramatic improvements in worst-case mmap_lock hold times during
         certain userfaultfd operations.
      
       - Some page_owner enhancements and maintenance work from Oscar Salvador
         in his series
      
      	"page_owner: print stacks and their outstanding allocations"
      	"page_owner: Fixup and cleanup"
      
       - Uladzislau Rezki has contributed some vmalloc scalability
         improvements in his series "Mitigate a vmap lock contention". It
         realizes a 12x improvement for a certain microbenchmark.
      
       - Some kexec/crash cleanup work from Baoquan He in the series "Split
         crash out from kexec and clean up related config items".
      
       - Some zsmalloc maintenance work from Chengming Zhou in the series
      
      	"mm/zsmalloc: fix and optimize objects/page migration"
      	"mm/zsmalloc: some cleanup for get/set_zspage_mapping()"
      
       - Zi Yan has taught the MM to perform compaction on folios larger than
         order=0. This a step along the path to implementaton of the merging
         of large anonymous folios. The series is named "Enable >0 order folio
         memory compaction".
      
       - Christoph Hellwig has done quite a lot of cleanup work in the
         pagecache writeback code in his series "convert write_cache_pages()
         to an iterator".
      
       - Some modest hugetlb cleanups and speedups in Vishal Moola's series
         "Handle hugetlb faults under the VMA lock".
      
       - Zi Yan has changed the page splitting code so we can split huge pages
         into sizes other than order-0 to better utilize large folios. The
         series is named "Split a folio to any lower order folios".
      
       - David Hildenbrand has contributed the series "mm: remove
         total_mapcount()", a cleanup.
      
       - Matthew Wilcox has sought to improve the performance of bulk memory
         freeing in his series "Rearrange batched folio freeing".
      
       - Gang Li's series "hugetlb: parallelize hugetlb page init on boot"
         provides large improvements in bootup times on large machines which
         are configured to use large numbers of hugetlb pages.
      
       - Matthew Wilcox's series "PageFlags cleanups" does that.
      
       - Qi Zheng's series "minor fixes and supplement for ptdesc" does that
         also. S390 is affected.
      
       - Cleanups to our pagemap utility functions from Peter Xu in his series
         "mm/treewide: Replace pXd_large() with pXd_leaf()".
      
       - Nico Pache has fixed a few things with our hugepage selftests in his
         series "selftests/mm: Improve Hugepage Test Handling in MM
         Selftests".
      
       - Also, of course, many singleton patches to many things. Please see
         the individual changelogs for details.
      
      * tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (435 commits)
        mm/zswap: remove the memcpy if acomp is not sleepable
        crypto: introduce: acomp_is_async to expose if comp drivers might sleep
        memtest: use {READ,WRITE}_ONCE in memory scanning
        mm: prohibit the last subpage from reusing the entire large folio
        mm: recover pud_leaf() definitions in nopmd case
        selftests/mm: skip the hugetlb-madvise tests on unmet hugepage requirements
        selftests/mm: skip uffd hugetlb tests with insufficient hugepages
        selftests/mm: dont fail testsuite due to a lack of hugepages
        mm/huge_memory: skip invalid debugfs new_order input for folio split
        mm/huge_memory: check new folio order when split a folio
        mm, vmscan: retry kswapd's priority loop with cache_trim_mode off on failure
        mm: add an explicit smp_wmb() to UFFDIO_CONTINUE
        mm: fix list corruption in put_pages_list
        mm: remove folio from deferred split list before uncharging it
        filemap: avoid unnecessary major faults in filemap_fault()
        mm,page_owner: drop unnecessary check
        mm,page_owner: check for null stack_record before bumping its refcount
        mm: swap: fix race between free_swap_and_cache() and swapoff()
        mm/treewide: align up pXd_leaf() retval across archs
        mm/treewide: drop pXd_large()
        ...
      902861e3
  2. 14 Mar, 2024 24 commits
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.9-2024-03-13' of... · 1bbeaf83
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.9-2024-03-13' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
      
      Pull perf tools updates from Namhyung Kim:
       "perf stat:
      
         - Support new 'cluster' aggregation mode for shared resources
           depending on the hardware configuration:
      
              $ sudo perf stat -a --per-cluster -e cycles,instructions sleep 1
      
               Performance counter stats for 'system wide':
      
              S0-D0-CLS0    2         85,051,822      cycles
              S0-D0-CLS0    2         73,909,908      instructions      #    0.87  insn per cycle
              S0-D0-CLS2    2         93,365,918      cycles
              S0-D0-CLS2    2         83,006,158      instructions      #    0.89  insn per cycle
              S0-D0-CLS4    2        104,157,523      cycles
              S0-D0-CLS4    2         53,234,396      instructions      #    0.51  insn per cycle
              S0-D0-CLS6    2         65,891,079      cycles
              S0-D0-CLS6    2         41,478,273      instructions      #    0.63  insn per cycle
      
                     1.002407989 seconds time elapsed
      
         - Various fixes and cleanups for event metrics including NaN handling
      
        perf script:
      
         - Use libcapstone if available to disassemble the instructions. This
           enables 'perf script -F disasm' and 'perf script --insn-trace=disasm'
           (for Intel-PT):
      
              $ perf script -F event,ip,disasm
              cycles:P:  ffffffffa988d428             wrmsr
              cycles:P:  ffffffffa9839d25             movq %rax, %r14
              cycles:P:  ffffffffa9cdcaf0             endbr64
              cycles:P:  ffffffffa988d428             wrmsr
              cycles:P:  ffffffffa988d428             wrmsr
              cycles:P:  ffffffffaa401f86             iretq
              cycles:P:  ffffffffa99c4de5             movq 0x30(%rcx), %r8
              cycles:P:  ffffffffa988d428             wrmsr
              cycles:P:  ffffffffaa401f86             iretq
              cycles:P:  ffffffffa9907983             movl 0x68(%rbx), %eax
              cycles:P:  ffffffffa988d428             wrmsr
      
         - Expose sample ID / stream ID to python scripts
      
        perf test:
      
         - Add more perf test cases from Redhat internal test suites. This
           time it adds the base infra and a few perf probe tests. More to
           come. :)
      
         - Add 'perf test -p' for parallel execution and fix some issues found
           by the parallel test
      
         - Support symbol test to print symbols in given (active) module:
      
              $ perf test -F -v Symbols --dso /lib/modules/$(uname -r)/kernel/fs/ext4/ext4.ko
              --- start ---
              Testing /lib/modules/6.5.13-1rodete2-amd64/kernel/fs/ext4/ext4.ko
              Overlapping symbols:
               7a990-7a9a0 l __pfx_ext4_exit_fs
               7a990-7a9a0 g __pfx_cleanup_module
              Overlapping symbols:
               7a9a0-7aa1c l ext4_exit_fs
               7a9a0-7aa1c g cleanup_module
              ...
      
        JSON metric updates:
      
         - A new round of Intel metric updates
      
         - Support Power11 PVR (compatible to Power10)
      
         - Fix cache latency events on Zen 4 to set SliceId properly
      
        Internal:
      
         - Fix reference counting for 'map' data structure, tireless work from
           Ian!
      
         - More memory optimization for struct thread and annotate histogram.
           Now, 'perf report' (TUI) and 'perf annotate' should be much
           lighter-weight in terms of memory footprint
      
         - Support cross-arch perf register access. Clean up the build
           configuration so that it can detect arch-register support at
           runtime. This can allow to parse register data in sample which was
           recorded in a different arch
      
        Others:
      
         - Sync task state in 'perf sched' to kernel using trace event fields.
           The task states have been changed so tools cannot assume a fixed
           encoding
      
         - Clean up 'perf mem' to generalize the arch-specific events
      
         - Add support for local and global variables to data type profiling.
           This would increase the success rate of type resolution with DWARF
      
         - Add short option -H for --hierarchy in 'perf report' and 'perf top'"
      
      * tag 'perf-tools-for-v6.9-2024-03-13' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (154 commits)
        perf annotate: Add comments in the data structures
        perf annotate: Remove sym_hist.addr[] array
        perf annotate: Calculate instruction overhead using hashmap
        perf annotate: Add a hashmap for symbol histogram
        perf threads: Reduce table size from 256 to 8
        perf threads: Switch from rbtree to hashmap
        perf threads: Move threads to its own files
        perf machine: Move machine's threads into its own abstraction
        perf machine: Move fprintf to for_each loop and a callback
        perf trace: Ignore thread hashing in summary
        perf report: Sort child tasks by tid
        perf vendor events amd: Fix Zen 4 cache latency events
        perf version: Display availability of OpenCSD support
        perf vendor events intel: Add umasks/occ_sel to PCU events.
        perf map: Fix map reference count issues
        libperf evlist: Avoid out-of-bounds access
        perf lock contention: Account contending locks too
        perf metrics: Fix segv for metrics with no events
        perf metrics: Fix metric matching
        perf pmu: Fix a potential memory leak in perf_pmu__lookup()
        ...
      1bbeaf83
    • Linus Torvalds's avatar
      Merge tag 'trace-ring-buffer-v6.8-rc7-2' of... · 63bd30f2
      Linus Torvalds authored
      Merge tag 'trace-ring-buffer-v6.8-rc7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull tracing updates from Steven Rostedt:
      
       - Do not update shortest_full in rb_watermark_hit() if the watermark is
         hit. The shortest_full field was being updated regardless if the task
         was going to wait or not. If the watermark is hit, then the task is
         not going to wait, so do not update the shortest_full field (used by
         the waker).
      
       - Update shortest_full field before setting the full_waiters_pending
         flag
      
         In the poll logic, the full_waiters_pending flag was being set before
         the shortest_full field was set. If the full_waiters_pending flag is
         set, writers will check the shortest_full field which has the least
         percentage of data that the ring buffer needs to be filled before
         waking up. The writer will check shortest_full if
         full_waiters_pending is set, and if the ring buffer percentage filled
         is greater than shortest full, then it will call the irq_work to wake
         up the waiters.
      
         The problem was that the poll logic set the full_waiters_pending flag
         before updating shortest_full, which when zero will always trigger
         the writer to call the irq_work to wake up the waiters. The irq_work
         will reset the shortest_full field back to zero as the woken waiters
         is suppose to reset it.
      
       - There's some optimized logic in the rb_watermark_hit() that is used
         in ring_buffer_wait(). Use that helper function in the poll logic as
         well.
      
       - Restructure ring_buffer_wait() to use wait_event_interruptible()
      
         The logic to wake up pending readers when the file descriptor is
         closed is racy. Restructure ring_buffer_wait() to allow callers to
         pass in conditions besides the ring buffer having enough data in it
         by using wait_event_interruptible().
      
       - Update the tracing_wait_on_pipe() to call ring_buffer_wait() with its
         own conditions to exit the wait loop.
      
      * tag 'trace-ring-buffer-v6.8-rc7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/ring-buffer: Fix wait_on_pipe() race
        ring-buffer: Use wait_event_interruptible() in ring_buffer_wait()
        ring-buffer: Reuse rb_watermark_hit() for the poll logic
        ring-buffer: Fix full_waiters_pending in poll
        ring-buffer: Do not set shortest_full when full target is hit
      63bd30f2
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 01732755
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
       "x86 kprobes:
      
         - Use boolean for some function return instead of 0 and 1
      
         - Prohibit probing on INT/UD. This prevents user to put kprobe on
           INTn/INT1/INT3/INTO and UD0/UD1/UD2 because these are used for a
           special purpose in the kernel
      
         - Boost Grp instructions. Because a few percent of kernel
           instructions are Grp 2/3/4/5 and those are safe to be executed
           without ip register fixup, allow those to be boosted (direct
           execution on the trampoline buffer with a JMP)
      
        tracing:
      
         - Add function argument access from return events (kretprobe and
           fprobe). This allows user to compare how a data structure field is
           changed after executing a function. With BTF, return event also
           accepts function argument access by name.
      
         - Fix a wrong comment (using "Kretprobe" in fprobe)
      
         - Cleanup a big probe argument parser function into three parts, type
           parser, post-processing function, and main parser
      
         - Cleanup to set nr_args field when initializing trace_probe instead
           of counting up it while parsing
      
         - Cleanup a redundant #else block from tracefs/README source code
      
         - Update selftests to check entry argument access from return probes
      
         - Documentation update about entry argument access from return
           probes"
      
      * tag 'probes-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        Documentation: tracing: Add entry argument access at function exit
        selftests/ftrace: Add test cases for entry args at function exit
        tracing/probes: Support $argN in return probe (kprobe and fprobe)
        tracing: Remove redundant #else block for BTF args from README
        tracing/probes: cleanup: Set trace_probe::nr_args at trace_probe_init
        tracing/probes: Cleanup probe argument parser
        tracing/fprobe-event: cleanup: Fix a wrong comment in fprobe event
        x86/kprobes: Boost more instructions from grp2/3/4/5
        x86/kprobes: Prohibit kprobing on INT and UD
        x86/kprobes: Refactor can_{probe,boost} return type to bool
      01732755
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20240314' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · c0a614e8
      Linus Torvalds authored
      Pull lsm fixes from Paul Moore:
       "Two fixes to address issues with the LSM syscalls that we shipped in
        Linux v6.8. The first patch might be a bit controversial, but the
        second is a rather straightforward fix; more on both below.
      
        The first fix from Casey addresses a problem that should have been
        caught during the ~16 month (?) review cycle, but sadly was not. The
        good news is that Dmitry caught it very quickly once Linux v6.8 was
        released. The core issue is the use of size_t parameters to pass
        buffer sizes back and forth in the syscall; while we could have solved
        this with a compat syscall definition, given the newness of the
        syscalls I wanted to attempt to just redefine the size_t parameters as
        u32 types and avoid the work associated with a set of compat syscalls.
      
        However, this is technically a change in the syscall's signature/API
        so I can understand if you're opposed to this, even if the syscalls
        are less than a week old.
      
         [ Fingers crossed nobody even notices - Linus ]
      
        The second fix is a rather trivial fix to allow userspace to call into
        the lsm_get_self_attr() syscall with a NULL buffer to quickly
        determine a minimum required size for the buffer. We do have
        kselftests for this very case, I'm not sure why I didn't notice the
        failure; I'm going to guess stupidity, tired eyes, I dunno. My
        apologies we didn't catch this earlier"
      
      * tag 'lsm-pr-20240314' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: handle the NULL buffer case in lsm_fill_user_ctx()
        lsm: use 32-bit compatible data types in LSM syscalls
      c0a614e8
    • Miquel Raynal's avatar
      mtd: rawnand: Ensure continuous reads are well disabled · 4120aa0e
      Miquel Raynal authored
      The cont_read.ongoing flag should only be enabled at the beginning of a
      read operation, and also disabled at its end, so we never end up
      triggering nasty side effects outside of this scope. The mtd core being
      highly serialized, we should not be bothered by parallel accesses
      anyway.
      
      In case we reach the end of a read operation and the boolean was not
      properly disabled, it's a bug, but it's totally manageable. So warn, and
      then fix the boolean state.
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240307115315.1942678-2-miquel.raynal@bootlin.com
      4120aa0e
    • Miquel Raynal's avatar
      mtd: rawnand: Constrain even more when continuous reads are enabled · 78ffbefb
      Miquel Raynal authored
      As a matter of fact, continuous reads require additional handling at the
      operation level in order for them to work properly. The core helpers do
      have this additional logic now, but any time a controller implements its
      own page helper, this extra logic is "lost". This means we need another
      level of per-controller driver checks to ensure they can leverage
      continuous reads. This is for now unsupported, so in order to ensure
      continuous reads are enabled only when fully using the core page
      helpers, we need to add more initial checks.
      
      Also, as performance is not relevant during raw accesses, we also
      prevent these from enabling the feature.
      
      This should solve the issue seen with controllers such as the STM32 FMC2
      when in sequencer mode. In this case, the continuous read feature would
      be enabled but not leveraged, and most importantly not disabled, leading
      to further operations to fail.
      Reported-by: default avatarChristophe Kerello <christophe.kerello@foss.st.com>
      Fixes: 003fe4b9 ("mtd: rawnand: Support for sequential cache reads")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Tested-by: default avatarChristophe Kerello <christophe.kerello@foss.st.com>
      Link: https://lore.kernel.org/linux-mtd/20240307115315.1942678-1-miquel.raynal@bootlin.com
      78ffbefb
    • William Zhang's avatar
      mtd: rawnand: brcmnand: Add support for getting ecc setting from strap · c2cf7e25
      William Zhang authored
      BCMBCA broadband SoC based board design does not specify ecc setting in
      dts but rather use the SoC NAND strap info to obtain the ecc strength
      and spare area size setting. Add brcm,nand-ecc-use-strap dts propety for
      this purpose and update driver to support this option. However these two
      options can not be used at the same time.
      Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
      Reviewed-by: default avatarDavid Regan <dregan@broadcom.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240301173308.226004-1-william.zhang@broadcom.com
      c2cf7e25
    • William Zhang's avatar
      mtd: rawnand: brcmnand: fix sparse warnings · 29d53c54
      William Zhang authored
      Fix the following sparse warnings:
      sparse warnings: (new ones prefixed by >>)
      >> drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c:79:41: sparse: sparse:
      cast removes address space '__iomem' of expression
         drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c:80:17: sparse: sparse:
      cast removes address space '__iomem' of expression
         drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c:80:17: sparse: sparse:
      cast removes address space '__iomem' of expression
         drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c:80:17: sparse: sparse:
      cast removes address space '__iomem' of expression
      
      Fixes: c52c16d1bee5 ("mtd: rawnand: brcmnand: Add BCMBCA read data bus interface")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202402270940.gmVLVRg0-lkp@intel.com/Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240227190258.200929-1-william.zhang@broadcom.com
      29d53c54
    • Alexander Dahl's avatar
      mtd: nand: raw: atmel: Fix comment in timings preparation · 1c60e027
      Alexander Dahl authored
      Looks like a copy'n'paste mistake introduced when initially adding the
      dynamic timings feature with commit f9ce2edd ("mtd: nand: atmel: Add
      ->setup_data_interface() hooks").  The context around this and
      especially the code itself suggests 'read' is meant instead of write.
      Signed-off-by: default avatarAlexander Dahl <ada@thorsis.com>
      Reviewed-by: default avatarNicolas Ferre <nicolas.ferre@microchip.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240226122537.75097-1-ada@thorsis.com
      1c60e027
    • Miquel Raynal's avatar
      mtd: rawnand: Ensure all continuous terms are always in sync · 6fb075fc
      Miquel Raynal authored
      While crossing a LUN boundary, it is probably safer (and clearer) to
      keep all members of the continuous read structure aligned, including the
      pause page (which is the last page of the lun or the last page of the
      continuous read). Once these members properly in sync, we can use the
      rawnand_cap_cont_reads() helper everywhere to "prepare" the next
      continuous read if there is one.
      
      Fixes: bbcd80f5 ("mtd: rawnand: Prevent crossing LUN boundaries during sequential reads")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240223115545.354541-4-miquel.raynal@bootlin.com
      6fb075fc
    • Miquel Raynal's avatar
      mtd: rawnand: Add a helper for calculating a page index · df9803bf
      Miquel Raynal authored
      For LUN crossing boundaries, it is handy to know what is the index of
      the last page in a LUN. This helper will soon be reused. At the same
      time I rename page_per_lun to ppl in the calling function to clarify the
      lines.
      
      Cc: stable@vger.kernel.org # v6.7
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240223115545.354541-3-miquel.raynal@bootlin.com
      df9803bf
    • Miquel Raynal's avatar
      mtd: rawnand: Fix and simplify again the continuous read derivations · c7ee7c8d
      Miquel Raynal authored
      We need to avoid the first page if we don't read it entirely.
      We need to avoid the last page if we don't read it entirely.
      While rather simple, this logic has been failed in the previous
      fix. This time I wrote about 30 unit tests locally to check each
      possible condition, hopefully I covered them all.
      Reported-by: default avatarChristophe Kerello <christophe.kerello@foss.st.com>
      Closes: https://lore.kernel.org/linux-mtd/20240221175327.42f7076d@xps-13/T/#m399bacb10db8f58f6b1f0149a1df867ec086bb0aSuggested-by: default avatarChristophe Kerello <christophe.kerello@foss.st.com>
      Fixes: 828f6df1 ("mtd: rawnand: Clarify conditions to enable continuous reads")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Tested-by: default avatarChristophe Kerello <christophe.kerello@foss.st.com>
      Link: https://lore.kernel.org/linux-mtd/20240223115545.354541-2-miquel.raynal@bootlin.com
      c7ee7c8d
    • Randy Dunlap's avatar
      mtd: rawnand: hynix: remove @nand_technology kernel-doc description · c9692ebf
      Randy Dunlap authored
      Remove the extraneous kernel-doc description for @nand_technology to
      eliminate a kernel-doc warning:
      
      nand_hynix.c:39: warning: Excess struct member 'nand_technology' description in 'hynix_nand'
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Miquel Raynal <miquel.raynal@bootlin.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Vignesh Raghavendra <vigneshr@ti.com>
      Cc: linux-mtd@lists.infradead.org
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240224014639.16145-1-rdunlap@infradead.org
      c9692ebf
    • Varshini Rajendran's avatar
    • William Zhang's avatar
      mtd: rawnand: brcmnand: Support write protection setting from dts · 8e7daa85
      William Zhang authored
      The write protection feature is controlled by the module parameter wp_on
      with default set to enabled. But not all the board use this feature
      especially in BCMBCA broadband board. And module parameter is not
      sufficient as different board can have different option.  Add a device
      tree property and allow this feature to be configured through the board
      dts on per board basis.
      Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
      Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
      Reviewed-by: default avatarKamal Dasu <kamal.dasu@broadcom.com>
      Reviewed-by: default avatarDavid Regan <dregan@broadcom.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-14-william.zhang@broadcom.com
      8e7daa85
    • William Zhang's avatar
      mtd: rawnand: brcmnand: Add BCMBCA read data bus interface · 546e4259
      William Zhang authored
      The BCMBCA broadband SoC integrates the NAND controller differently than
      STB, iProc and other SoCs.  It has different endianness for NAND cache
      data.
      
      Add a SoC read data bus shim for BCMBCA to meet the specific SoC need
      and performance improvement using the optimized memcpy function on NAND
      cache memory.
      Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
      Reviewed-by: default avatarDavid Regan <dregan@broadcom.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-12-william.zhang@broadcom.com
      546e4259
    • William Zhang's avatar
      mtd: rawnand: brcmnand: Rename bcm63138 nand driver · 198eef9f
      William Zhang authored
      In preparing to support multiple BCMBCA SoCs, rename bcm63138 to bcmbca
      in the driver code and driver file name.
      Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
      Reviewed-by: default avatarDavid Regan <dregan@broadcom.com>
      Acked-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-11-william.zhang@broadcom.com
      198eef9f
    • William Zhang's avatar
      arm64: dts: broadcom: bcmbca: Update router boards · 0d7760f2
      William Zhang authored
      Enable the nand controller and add WP pin connection property in actual
      board dts as they are board level properties now that they are disabled
      and moved out from SoC dtsi.
      
      Also remove the unnecessary brcm,nand-has-wp property from AC5300 board.
      This property is only needed for some old controller that this board
      does not apply.
      Signed-off-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Acked-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
      Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-10-william.zhang@broadcom.com
      0d7760f2
    • William Zhang's avatar
    • William Zhang's avatar
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 35e886e8
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "Some miscellaneous improvements, including new KUnit tests, extended
        documentation and boot help, and some cosmetic cleanups.
      
        Additional test changes already went through the net tree"
      
      * tag 'landlock-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        samples/landlock: Don't error out if a file path cannot be opened
        landlock: Use f_cred in security_file_open() hook
        landlock: Rename "ptrace" files to "task"
        landlock: Simplify current_check_access_socket()
        landlock: Warn once if a Landlock action is requested while disabled
        landlock: Extend documentation for kernel support
        landlock: Add support for KUnit tests
        selftests/landlock: Clean up error logs related to capabilities
      35e886e8
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of https://github.com/openrisc/linux · 29da654b
      Linus Torvalds authored
      Pull OpenRISC updates from Stafford Horne:
       "Just a few cleanups and updates that were sent in:
      
         - Replace asm/fixmap.h with asm-generic version
      
         - Fix to move memblock setup up before it's used during init"
      
      * tag 'for-linus' of https://github.com/openrisc/linux:
        openrisc: Use asm-generic's version of fix_to_virt() & virt_to_fix()
        openrisc: Call setup_memory() earlier in the init sequence
      29da654b
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 6d75c6f4
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
       "The major features are support for LPA2 (52-bit VA/PA with 4K and 16K
        pages), the dpISA extension and Rust enabled on arm64. The changes are
        mostly contained within the usual arch/arm64/, drivers/perf, the arm64
        Documentation and kselftests. The exception is the Rust support which
        touches some generic build files.
      
        Summary:
      
         - Reorganise the arm64 kernel VA space and add support for LPA2 (at
           stage 1, KVM stage 2 was merged earlier) - 52-bit VA/PA address
           range with 4KB and 16KB pages
      
         - Enable Rust on arm64
      
         - Support for the 2023 dpISA extensions (data processing ISA), host
           only
      
         - arm64 perf updates:
      
            - StarFive's StarLink (integrates one or more CPU cores with a
              shared L3 memory system) PMU support
      
            - Enable HiSilicon Erratum 162700402 quirk for HIP09
      
            - Several updates for the HiSilicon PCIe PMU driver
      
            - Arm CoreSight PMU support
      
            - Convert all drivers under drivers/perf/ to use .remove_new()
      
         - Miscellaneous:
      
            - Don't enable workarounds for "rare" errata by default
      
            - Clean up the DAIF flags handling for EL0 returns (in preparation
              for NMI support)
      
            - Kselftest update for ptrace()
      
            - Update some of the sysreg field definitions
      
            - Slight improvement in the code generation for inline asm I/O
              accessors to permit offset addressing
      
            - kretprobes: acquire regs via a BRK exception (previously done
              via a trampoline handler)
      
            - SVE/SME cleanups, comment updates
      
            - Allow CALL_OPS+CC_OPTIMIZE_FOR_SIZE with clang (previously
              disabled due to gcc silently ignoring -falign-functions=N)"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (134 commits)
        Revert "mm: add arch hook to validate mmap() prot flags"
        Revert "arm64: mm: add support for WXN memory translation attribute"
        Revert "ARM64: Dynamically allocate cpumasks and increase supported CPUs to 512"
        ARM64: Dynamically allocate cpumasks and increase supported CPUs to 512
        kselftest/arm64: Add 2023 DPISA hwcap test coverage
        kselftest/arm64: Add basic FPMR test
        kselftest/arm64: Handle FPMR context in generic signal frame parser
        arm64/hwcap: Define hwcaps for 2023 DPISA features
        arm64/ptrace: Expose FPMR via ptrace
        arm64/signal: Add FPMR signal handling
        arm64/fpsimd: Support FEAT_FPMR
        arm64/fpsimd: Enable host kernel access to FPMR
        arm64/cpufeature: Hook new identification registers up to cpufeature
        docs: perf: Fix build warning of hisi-pcie-pmu.rst
        perf: starfive: Only allow COMPILE_TEST for 64-bit architectures
        MAINTAINERS: Add entry for StarFive StarLink PMU
        docs: perf: Add description for StarFive's StarLink PMU
        dt-bindings: perf: starfive: Add JH8100 StarLink PMU
        perf: starfive: Add StarLink PMU support
        docs: perf: Update usage for target filter of hisi-pcie-pmu
        ...
      6d75c6f4
    • Linus Torvalds's avatar
      Merge tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · fe46a7dd
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "This was a relatively calm development cycle. Most of changes are
        rather small device-specific fixes and enhancements. The only
        significant changes in ALSA core are code refactoring with the recent
        cleanup infrastructure, which should bring no functionality changes.
        Some highlights below:
      
        Core:
         - Lots of cleanups in ALSA core code with automatic kfree cleanup and
           locking guard macros
         - New ALSA core kunit test
      
        ASoC:
         - SoundWire support for AMD ACP 6.3 systems
         - Support for reporting version information for AVS firmware
         - Support DSPless mode for Intel Soundwire systems
         - Support for configuring CS35L56 amplifiers using EFI calibration
           data
         - Log which component is being operated on as part of power
           management trace events.
         - Support for Microchip SAM9x7, NXP i.MX95 and Qualcomm WCD939x
      
        HD- and USB-audio:
         - More Cirrus HD-audio codec support
         - TAS2781 HD-audio codec fixes
         - Scarlett2 mixer fixes
      
        Others:
         - Enhancement of virtio driver for audio control supports
         - Cleanups of legacy PM code with new macros
         - Firewire sound updates"
      
      * tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (307 commits)
        ALSA: usb-audio: Stop parsing channels bits when all channels are found.
        ALSA: hda/tas2781: remove unnecessary runtime_pm calls
        ALSA: hda/realtek - ALC236 fix volume mute & mic mute LED on some HP models
        ALSA: aaci: Delete unused variable in aaci_do_suspend
        ALSA: scarlett2: Fix Scarlett 4th Gen input gain range again
        ALSA: scarlett2: Fix Scarlett 4th Gen input gain range
        ALSA: scarlett2: Fix Scarlett 4th Gen autogain status values
        ALSA: scarlett2: Fix Scarlett 4th Gen 4i4 low-voltage detection
        ALSA: hda/tas2781: restore power state after system_resume
        ALSA: hda/tas2781: do not call pm_runtime_force_* in system_resume/suspend
        ALSA: hda/tas2781: do not reset cur_* values in runtime_suspend
        ALSA: hda/tas2781: add lock to system_suspend
        ALSA: hda/tas2781: use dev_dbg in system_resume
        ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
        platform/x86: serial-multi-instantiate: Add support for CS35L54 and CS35L57
        ALSA: hda: cs35l56: Add support for CS35L54 and CS35L57
        ASoC: cs35l56: Add support for CS35L54 and CS35L57
        ASoC: Intel: catpt: Carefully use PCI bitwise constants
        ALSA: hda: hda_component: Include sound/hda_codec.h
        ALSA: hda: hda_component: Add missing #include guards
        ...
      fe46a7dd