Date: Mon, 11 Nov 2024 15:43:04 +0200 From: Georgi Djakov To: gregkh@linuxfoundation.org Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, djakov@kernel.org Subject: [GIT PULL] interconnect changes for 6.13 Hello Greg, This is the pull request with interconnect changes for the v6.13-rc1 merge window. It contains new drivers and clean-ups. As always, the summary is in the signed tag. All patches have been in linux-next for at least a week. There are no reported issues. Please pull into char-misc-next when possible. Thanks, Georgi The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc.git tags/icc-6.13-rc1 for you to fetch changes up to b1fd28da86aae5d622ea95711cee8ede39f70369: Merge branch 'icc-sar2130p' into icc-next (2024-11-05 01:32:05 +0200) ---------------------------------------------------------------- interconnect changes for 6.13 This pull request contains the interconnect changes for the 6.13-rc1 merge window. It contains new drivers and clean-ups with the following highlights: Core changes: - Remove a useless kfree_const() usage - Switch back to struct platform_driver::remove() - Use of_property_present() for non-boolean properties Driver changes: - New driver for QCS615 platforms - New driver for SAR2130P platforms - New driver for QCS8300 platforms - Probe defer incase of missing QoS clock dependency in rpmh driver - Rename qos_clks_required flag to qos_requires_clocks in rpmh driver - Constify pointers to qcom_icc_node in msm8937 driver Signed-off-by: Georgi Djakov ---------------------------------------------------------------- Christophe JAILLET (1): interconnect: Remove a useless kfree_const() usage Dmitry Baryshkov (2): dt-bindings: interconnect: qcom: document SAR2130P NoC interconnect: qcom: add support for SAR2130P Georgi Djakov (3): Merge branch 'icc-qcs8300' into icc-next Merge branch 'icc-qcs615' into icc-next Merge branch 'icc-sar2130p' into icc-next Jingyi Wang (1): dt-bindings: interconnect: qcom-bwmon: Document QCS8300 bwmon compatibles Krzysztof Kozlowski (1): interconnect: qcom: msm8937: constify pointer to qcom_icc_node Raviteja Laggyshetty (6): interconnect: qcom: icc-rpmh: probe defer incase of missing QoS clock dependency interconnect: qcom: icc-rpmh: rename qos_clks_required flag dt-bindings: interconnect: document the RPMh Network-On-Chip interconnect in QCS8300 SoC dt-bindings: interconnect: document the RPMh Network-On-Chip interconnect in QCS615 SoC interconnect: qcom: add QCS615 interconnect provider driver interconnect: qcom: add QCS8300 interconnect provider driver Rob Herring (Arm) (1): interconnect: Use of_property_present() for non-boolean properties Uwe Kleine-König (1): interconnect: Switch back to struct platform_driver::remove() .../devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml | 2 + .../devicetree/bindings/interconnect/qcom,qcs615-rpmh.yaml | 73 + .../devicetree/bindings/interconnect/qcom,qcs8300-rpmh.yaml | 72 + .../devicetree/bindings/interconnect/qcom,sar2130p-rpmh.yaml | 117 + drivers/interconnect/core.c | 4 +- drivers/interconnect/imx/imx8mm.c | 2 +- drivers/interconnect/imx/imx8mn.c | 2 +- drivers/interconnect/imx/imx8mp.c | 2 +- drivers/interconnect/imx/imx8mq.c | 2 +- drivers/interconnect/mediatek/mt8183.c | 2 +- drivers/interconnect/mediatek/mt8195.c | 2 +- drivers/interconnect/qcom/Kconfig | 29 + drivers/interconnect/qcom/Makefile | 6 + drivers/interconnect/qcom/icc-rpmh.c | 5 +- drivers/interconnect/qcom/icc-rpmh.h | 2 +- drivers/interconnect/qcom/msm8909.c | 2 +- drivers/interconnect/qcom/msm8916.c | 2 +- drivers/interconnect/qcom/msm8937.c | 10 +- drivers/interconnect/qcom/msm8939.c | 2 +- drivers/interconnect/qcom/msm8953.c | 2 +- drivers/interconnect/qcom/msm8974.c | 2 +- drivers/interconnect/qcom/msm8976.c | 2 +- drivers/interconnect/qcom/msm8996.c | 2 +- drivers/interconnect/qcom/osm-l3.c | 2 +- drivers/interconnect/qcom/qcm2290.c | 2 +- drivers/interconnect/qcom/qcs404.c | 2 +- drivers/interconnect/qcom/qcs615.c | 1563 ++++++ drivers/interconnect/qcom/qcs615.h | 128 + drivers/interconnect/qcom/qcs8300.c | 2088 ++++++++ drivers/interconnect/qcom/qcs8300.h | 177 + drivers/interconnect/qcom/qdu1000.c | 2 +- drivers/interconnect/qcom/sa8775p.c | 2 +- drivers/interconnect/qcom/sar2130p.c | 1930 +++++++ drivers/interconnect/qcom/sc7180.c | 2 +- drivers/interconnect/qcom/sc7280.c | 6 +- drivers/interconnect/qcom/sc8180x.c | 2 +- drivers/interconnect/qcom/sc8280xp.c | 2 +- drivers/interconnect/qcom/sdm660.c | 2 +- drivers/interconnect/qcom/sdm670.c | 2 +- drivers/interconnect/qcom/sdm845.c | 2 +- drivers/interconnect/qcom/sdx55.c | 2 +- drivers/interconnect/qcom/sdx65.c | 2 +- drivers/interconnect/qcom/sdx75.c | 2 +- drivers/interconnect/qcom/sm6115.c | 2 +- drivers/interconnect/qcom/sm6350.c | 2 +- drivers/interconnect/qcom/sm7150.c | 2 +- drivers/interconnect/qcom/sm8150.c | 2 +- drivers/interconnect/qcom/sm8250.c | 2 +- drivers/interconnect/qcom/sm8350.c | 2 +- drivers/interconnect/qcom/sm8450.c | 2 +- drivers/interconnect/qcom/sm8550.c | 2 +- drivers/interconnect/qcom/sm8650.c | 2 +- drivers/interconnect/qcom/smd-rpm.c | 2 +- drivers/interconnect/qcom/x1e80100.c | 2 +- drivers/interconnect/samsung/exynos.c | 2 +- include/dt-bindings/interconnect/qcom,qcs615-rpmh.h | 136 + include/dt-bindings/interconnect/qcom,qcs8300-rpmh.h | 189 + include/dt-bindings/interconnect/qcom,sar2130p-rpmh.h | 137 + 58 files changed, 6701 insertions(+), 51 deletions(-) create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,qcs615-rpmh.yaml create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,qcs8300-rpmh.yaml create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sar2130p-rpmh.yaml create mode 100644 drivers/interconnect/qcom/qcs615.c create mode 100644 drivers/interconnect/qcom/qcs615.h create mode 100644 drivers/interconnect/qcom/qcs8300.c create mode 100644 drivers/interconnect/qcom/qcs8300.h create mode 100644 drivers/interconnect/qcom/sar2130p.c create mode 100644 include/dt-bindings/interconnect/qcom,qcs615-rpmh.h create mode 100644 include/dt-bindings/interconnect/qcom,qcs8300-rpmh.h create mode 100644 include/dt-bindings/interconnect/qcom,sar2130p-rpmh.h . Date: Mon, 11 Nov 2024 23:18:52 +0900 From: Hector Martin To: SoC Team Cc: Asahi Linux , LKML , linux-arm-kernel@lists.infradead.org Subject: [GIT PULL] Apple SoC DT updates for v6.13 Hi SoC folks, Please merge these DT changes for v6.13. This batch adds a bunch of pre-M1 Apple iDevice SoC and board device trees. These are bare-bones right now, just basic bring-up. -Hector The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: https://github.com/AsahiLinux/linux.git tags/asahi-soc-dt-6.13 for you to fetch changes up to 5c9de6f45db36b8a74c12e448cf9db87c97bf1e5: arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE (2024-10-26 00:14:46 +0900) ---------------------------------------------------------------- Apple SoC DT updates for 6.13: - Added base DTs for a bunch of non-Mac Apple iDevices (pre-M1) ---------------------------------------------------------------- Konrad Dybcio (8): arm64: dts: apple: Add A7 devices arm64: dts: apple: Add A8 devices arm64: dts: apple: Add A8X devices arm64: dts: apple: Add A9 devices arm64: dts: apple: Add A9X devices arm64: dts: apple: Add A10 devices arm64: dts: apple: Add A10X devices arm64: dts: apple: Add A11 devices Nick Chan (12): dt-bindings: arm: cpus: Add Apple A7-A11 CPU cores dt-bindings: watchdog: apple,wdt: Add A7-A11 compatibles dt-bindings: pinctrl: apple,pinctrl: Add A7-A11 compatibles dt-bindings: arm: apple: Add A7 devices dt-bindings: arm: apple: Add A8 devices dt-bindings: arm: apple: Add A8X devices dt-bindings: arm: apple: Add A9 devices dt-bindings: arm: apple: Add A9X devices dt-bindings: arm: apple: Add A10 devices dt-bindings: arm: apple: Add A10X devices dt-bindings: arm: apple: Add A11 devices arm64: Kconfig: Update help text for CONFIG_ARCH_APPLE Documentation/devicetree/bindings/arm/apple.yaml | 160 +++++++++++++- Documentation/devicetree/bindings/arm/cpus.yaml | 8 +- .../devicetree/bindings/pinctrl/apple,pinctrl.yaml | 5 + .../devicetree/bindings/watchdog/apple,wdt.yaml | 5 + arch/arm64/Kconfig.platforms | 4 +- arch/arm64/boot/dts/apple/Makefile | 53 +++++ arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 51 +++++ arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi | 51 +++++ arch/arm64/boot/dts/apple/s5l8960x-common.dtsi | 48 +++++ arch/arm64/boot/dts/apple/s5l8960x-j71.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j72.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j73.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j85.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j85m.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j86.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j86m.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j87.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-j87m.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi | 51 +++++ arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-n51.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x-n53.dts | 14 ++ arch/arm64/boot/dts/apple/s5l8960x.dtsi | 113 ++++++++++ arch/arm64/boot/dts/apple/s800-0-3-common.dtsi | 48 +++++ arch/arm64/boot/dts/apple/s8000-j71s.dts | 15 ++ arch/arm64/boot/dts/apple/s8000-j72s.dts | 15 ++ arch/arm64/boot/dts/apple/s8000-n66.dts | 15 ++ arch/arm64/boot/dts/apple/s8000-n69u.dts | 15 ++ arch/arm64/boot/dts/apple/s8000-n71.dts | 15 ++ arch/arm64/boot/dts/apple/s8000.dtsi | 144 +++++++++++++ arch/arm64/boot/dts/apple/s8001-common.dtsi | 48 +++++ arch/arm64/boot/dts/apple/s8001-j127.dts | 14 ++ arch/arm64/boot/dts/apple/s8001-j128.dts | 14 ++ arch/arm64/boot/dts/apple/s8001-j98a.dts | 14 ++ arch/arm64/boot/dts/apple/s8001-j99a.dts | 14 ++ arch/arm64/boot/dts/apple/s8001-pro.dtsi | 44 ++++ arch/arm64/boot/dts/apple/s8001.dtsi | 133 ++++++++++++ arch/arm64/boot/dts/apple/s8003-j71t.dts | 15 ++ arch/arm64/boot/dts/apple/s8003-j72t.dts | 15 ++ arch/arm64/boot/dts/apple/s8003-n66m.dts | 15 ++ arch/arm64/boot/dts/apple/s8003-n69.dts | 15 ++ arch/arm64/boot/dts/apple/s8003-n71m.dts | 15 ++ arch/arm64/boot/dts/apple/s8003.dtsi | 21 ++ arch/arm64/boot/dts/apple/s800x-6s.dtsi | 49 +++++ arch/arm64/boot/dts/apple/s800x-ipad5.dtsi | 43 ++++ arch/arm64/boot/dts/apple/s800x-se.dtsi | 49 +++++ arch/arm64/boot/dts/apple/t7000-6.dtsi | 50 +++++ arch/arm64/boot/dts/apple/t7000-common.dtsi | 36 ++++ arch/arm64/boot/dts/apple/t7000-handheld.dtsi | 27 +++ arch/arm64/boot/dts/apple/t7000-j42d.dts | 31 +++ arch/arm64/boot/dts/apple/t7000-j96.dts | 14 ++ arch/arm64/boot/dts/apple/t7000-j97.dts | 14 ++ arch/arm64/boot/dts/apple/t7000-mini4.dtsi | 51 +++++ arch/arm64/boot/dts/apple/t7000-n102.dts | 48 +++++ arch/arm64/boot/dts/apple/t7000-n56.dts | 14 ++ arch/arm64/boot/dts/apple/t7000-n61.dts | 14 ++ arch/arm64/boot/dts/apple/t7000.dtsi | 125 +++++++++++ arch/arm64/boot/dts/apple/t7001-air2.dtsi | 74 +++++++ arch/arm64/boot/dts/apple/t7001-j81.dts | 14 ++ arch/arm64/boot/dts/apple/t7001-j82.dts | 14 ++ arch/arm64/boot/dts/apple/t7001.dtsi | 123 +++++++++++ arch/arm64/boot/dts/apple/t8010-7.dtsi | 43 ++++ arch/arm64/boot/dts/apple/t8010-common.dtsi | 48 +++++ arch/arm64/boot/dts/apple/t8010-d10.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-d101.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-d11.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-d111.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-ipad6.dtsi | 44 ++++ arch/arm64/boot/dts/apple/t8010-ipad7.dtsi | 14 ++ arch/arm64/boot/dts/apple/t8010-j171.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-j172.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-j71b.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-j72b.dts | 14 ++ arch/arm64/boot/dts/apple/t8010-n112.dts | 47 +++++ arch/arm64/boot/dts/apple/t8010.dtsi | 133 ++++++++++++ arch/arm64/boot/dts/apple/t8011-common.dtsi | 46 ++++ arch/arm64/boot/dts/apple/t8011-j105a.dts | 16 ++ arch/arm64/boot/dts/apple/t8011-j120.dts | 16 ++ arch/arm64/boot/dts/apple/t8011-j121.dts | 16 ++ arch/arm64/boot/dts/apple/t8011-j207.dts | 16 ++ arch/arm64/boot/dts/apple/t8011-j208.dts | 16 ++ arch/arm64/boot/dts/apple/t8011-pro2.dtsi | 42 ++++ arch/arm64/boot/dts/apple/t8011.dtsi | 141 +++++++++++++ arch/arm64/boot/dts/apple/t8015-8.dtsi | 13 ++ arch/arm64/boot/dts/apple/t8015-8plus.dtsi | 9 + arch/arm64/boot/dts/apple/t8015-common.dtsi | 48 +++++ arch/arm64/boot/dts/apple/t8015-d20.dts | 14 ++ arch/arm64/boot/dts/apple/t8015-d201.dts | 14 ++ arch/arm64/boot/dts/apple/t8015-d21.dts | 14 ++ arch/arm64/boot/dts/apple/t8015-d211.dts | 14 ++ arch/arm64/boot/dts/apple/t8015-d22.dts | 14 ++ arch/arm64/boot/dts/apple/t8015-d221.dts | 14 ++ arch/arm64/boot/dts/apple/t8015-x.dtsi | 13 ++ arch/arm64/boot/dts/apple/t8015.dtsi | 234 +++++++++++++++++++++ 94 files changed, 3298 insertions(+), 4 deletions(-) create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j71.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j72.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j73.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j85m.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j86m.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-j87m.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-mini3.dtsi create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n51.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-n53.dts create mode 100644 arch/arm64/boot/dts/apple/s5l8960x.dtsi create mode 100644 arch/arm64/boot/dts/apple/s800-0-3-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/s8000-j71s.dts create mode 100644 arch/arm64/boot/dts/apple/s8000-j72s.dts create mode 100644 arch/arm64/boot/dts/apple/s8000-n66.dts create mode 100644 arch/arm64/boot/dts/apple/s8000-n69u.dts create mode 100644 arch/arm64/boot/dts/apple/s8000-n71.dts create mode 100644 arch/arm64/boot/dts/apple/s8000.dtsi create mode 100644 arch/arm64/boot/dts/apple/s8001-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/s8001-j127.dts create mode 100644 arch/arm64/boot/dts/apple/s8001-j128.dts create mode 100644 arch/arm64/boot/dts/apple/s8001-j98a.dts create mode 100644 arch/arm64/boot/dts/apple/s8001-j99a.dts create mode 100644 arch/arm64/boot/dts/apple/s8001-pro.dtsi create mode 100644 arch/arm64/boot/dts/apple/s8001.dtsi create mode 100644 arch/arm64/boot/dts/apple/s8003-j71t.dts create mode 100644 arch/arm64/boot/dts/apple/s8003-j72t.dts create mode 100644 arch/arm64/boot/dts/apple/s8003-n66m.dts create mode 100644 arch/arm64/boot/dts/apple/s8003-n69.dts create mode 100644 arch/arm64/boot/dts/apple/s8003-n71m.dts create mode 100644 arch/arm64/boot/dts/apple/s8003.dtsi create mode 100644 arch/arm64/boot/dts/apple/s800x-6s.dtsi create mode 100644 arch/arm64/boot/dts/apple/s800x-ipad5.dtsi create mode 100644 arch/arm64/boot/dts/apple/s800x-se.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7000-6.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7000-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7000-handheld.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7000-j42d.dts create mode 100644 arch/arm64/boot/dts/apple/t7000-j96.dts create mode 100644 arch/arm64/boot/dts/apple/t7000-j97.dts create mode 100644 arch/arm64/boot/dts/apple/t7000-mini4.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7000-n102.dts create mode 100644 arch/arm64/boot/dts/apple/t7000-n56.dts create mode 100644 arch/arm64/boot/dts/apple/t7000-n61.dts create mode 100644 arch/arm64/boot/dts/apple/t7000.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7001-air2.dtsi create mode 100644 arch/arm64/boot/dts/apple/t7001-j81.dts create mode 100644 arch/arm64/boot/dts/apple/t7001-j82.dts create mode 100644 arch/arm64/boot/dts/apple/t7001.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8010-7.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8010-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8010-d10.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-d101.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-d11.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-d111.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad6.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8010-ipad7.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8010-j171.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-j172.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-j71b.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-j72b.dts create mode 100644 arch/arm64/boot/dts/apple/t8010-n112.dts create mode 100644 arch/arm64/boot/dts/apple/t8010.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8011-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8011-j105a.dts create mode 100644 arch/arm64/boot/dts/apple/t8011-j120.dts create mode 100644 arch/arm64/boot/dts/apple/t8011-j121.dts create mode 100644 arch/arm64/boot/dts/apple/t8011-j207.dts create mode 100644 arch/arm64/boot/dts/apple/t8011-j208.dts create mode 100644 arch/arm64/boot/dts/apple/t8011-pro2.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8011.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8015-8.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8015-8plus.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8015-common.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8015-d20.dts create mode 100644 arch/arm64/boot/dts/apple/t8015-d201.dts create mode 100644 arch/arm64/boot/dts/apple/t8015-d21.dts create mode 100644 arch/arm64/boot/dts/apple/t8015-d211.dts create mode 100644 arch/arm64/boot/dts/apple/t8015-d22.dts create mode 100644 arch/arm64/boot/dts/apple/t8015-d221.dts create mode 100644 arch/arm64/boot/dts/apple/t8015-x.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8015.dtsi . Date: Mon, 11 Nov 2024 07:23:52 -1000 From: Tejun Heo To: Linus Torvalds Cc: David Vernet , linux-kernel@vger.kernel.org, kernel-team@meta.com, sched-ext@meta.com, Peter Zijlstra Subject: [GIT PULL] sched_ext: Fixes for v6.12-rc7 The following changes since commit c31f2ee5cd7da3086eb4fbeef9f3afdc8e01d36b: sched_ext: Fix enq_last_no_enq_fails selftest (2024-10-25 12:20:29 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/ tags/sched_ext-for-6.12-rc7-fixes for you to fetch changes up to a6250aa251eacaf3ebfcfe152a96a727fd483ecd: sched_ext: Handle cases where pick_task_scx() is called without preceding balance_scx() (2024-11-09 10:43:55 -1000) ---------------------------------------------------------------- sched_ext: Fixes for v6.12-rc7 - The fair sched class currently has a bug where its balance() returns true telling the sched core that it has tasks to run but then NULL from pick_task(). This makes sched core call sched_ext's pick_task() without preceding balance() which can lead to stalls in partial mode. For now, work around by detecting the condition and forcing the CPU to go through another scheduling cycle. - Add a missing newline to an error message and fix drgn introspection tool which went out of sync. ---------------------------------------------------------------- Tejun Heo (3): sched_ext: Add a missing newline at the end of an error message sched_ext: Update scx_show_state.py to match scx_ops_bypass_depth's new type sched_ext: Handle cases where pick_task_scx() is called without preceding balance_scx() kernel/sched/core.c | 13 ++++++----- kernel/sched/ext.c | 46 +++++++++++++++++++++++++++------------ kernel/sched/sched.h | 5 +++-- tools/sched_ext/scx_show_state.py | 2 +- 4 files changed, 44 insertions(+), 22 deletions(-) -- tejun . Date: Tue, 12 Nov 2024 11:36:00 -0500 From: Mimi Zohar To: Linus Torvalds Cc: linux-integrity , linux-kernel , Roberto Sassu Subject: [GIT PULL] integrity: subsystem fixes for v6.12 Hi Linus, Sorry for the delay in sending these changes. There's just a couple of cha= nges: one bug fix, one performance improvement, and the use of static_assert. - The bug fix addresses "only a cosmetic change" commit, which didn't take = into account the original 'ima' template definition. - The performance improvement limits the atomic_read(). thanks, Mimi The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git/ tags/integrity-v6.12 for you to fetch changes up to 08ae3e5f5fc8edb9bd0c7ef9696ff29ef18b26ef: integrity: Use static_assert() to check struct sizes (2024-10-09 22:49:40= - 0400) ---------------------------------------------------------------- integrity-v6.12 ---------------------------------------------------------------- Gustavo A. R. Silva (1): integrity: Use static_assert() to check struct sizes Mateusz Guzik (1): evm: stop avoidably reading i_writecount in evm_file_release Samasth Norway Ananda (1): ima: fix buffer overrun in ima_eventdigest_init_common security/integrity/evm/evm_main.c | 3 ++- security/integrity/ima/ima_template_lib.c | 14 ++++++++++---- security/integrity/integrity.h | 4 ++++ 3 files changed, 16 insertions(+), 5 deletions(-) . Date: Tue, 12 Nov 2024 13:17:00 -0500 From: Paolo Bonzini To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: [GIT PULL] KVM fixes for Linux 6.12-rc8 or final Linus, The following changes since commit 59b723cd2adbac2a34fc8e12c74ae26ae45bf230: Linux 6.12-rc6 (2024-11-03 14:05:52 -1000) are available in the Git repository at: https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus for you to fetch changes up to aa0d42cacf093a6fcca872edc954f6f812926a17: KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN (2024-11-08 05:57:13 -0500) ---------------------------------------------------------------- KVM x86 and selftests fixes for 6.12: x86: - When emulating a guest TLB flush for a nested guest, flush vpid01, not vpid02, if L2 is active but VPID is disabled in vmcs12, i.e. if L2 and L1 are sharing VPID '0' (from L1's perspective). - Fix a bug in the SNP initialization flow where KVM would return '0' to userspace instead of -errno on failure. - Move the Intel PT virtualization (i.e. outputting host trace to host buffer and guest trace to guest buffer) behind CONFIG_BROKEN. - Fix memory leak on failure of KVM_SEV_SNP_LAUNCH_START - Fix a bug where KVM fails to inject an interrupt from the IRR after KVM_SET_LAPIC. Selftests: - Increase the timeout for the memslot performance selftest to avoid false failures on arm64 and nested x86 platforms. - Fix a goof in the guest_memfd selftest where a for-loop initialized a bit mask to zero instead of BIT(0). - Disable strict aliasing when building KVM selftests to prevent the compiler from treating things like "u64 *" to "uint64_t *" cases as undefined behavior, which can lead to nasty, hard to debug failures. - Force -march=x86-64-v2 for KVM x86 selftests if and only if the uarch is supported by the compiler. - Fix broken compilation of kvm selftests after a header sync in tools/ ---------------------------------------------------------------- Dionna Glaze (1): kvm: svm: Fix gctx page leak on invalid inputs John Sperbeck (1): KVM: selftests: use X86_MEMTYPE_WB instead of VMX_BASIC_MEM_TYPE_WB Maxim Levitsky (1): KVM: selftests: memslot_perf_test: increase guest sync timeout Paolo Bonzini (1): Merge tag 'kvm-x86-fixes-6.12-rcN' of https://github.com/kvm-x86/linux into HEAD Patrick Roy (1): KVM: selftests: fix unintentional noop test in guest_memfd_test.c Sean Christopherson (6): KVM: selftests: Disable strict aliasing KVM: selftests: Don't force -march=x86-64-v2 if it's unsupported KVM: nVMX: Treat vpid01 as current if L2 is active, but with VPID disabled KVM: SVM: Propagate error from snp_guest_req_init() to userspace KVM: x86: Unconditionally set irr_pending when updating APICv state KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN arch/x86/kvm/lapic.c | 29 +++++++++++++++--------- arch/x86/kvm/svm/sev.c | 15 ++++++++----- arch/x86/kvm/vmx/nested.c | 30 ++++++++++++++++++++----- arch/x86/kvm/vmx/vmx.c | 6 +++-- tools/testing/selftests/kvm/Makefile | 10 +++++---- tools/testing/selftests/kvm/guest_memfd_test.c | 2 +- tools/testing/selftests/kvm/lib/x86_64/vmx.c | 2 +- tools/testing/selftests/kvm/memslot_perf_test.c | 2 +- 8 files changed, 65 insertions(+), 31 deletions(-) . Date: Tue, 12 Nov 2024 11:33:30 -0800 From: Sean Christopherson To: Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Sean Christopherson Subject: [GIT PULL] KVM: x86 changes for 6.13 AFAIK, there are no conflicts or dependencies with other architectures or trees. . Date: Tue, 12 Nov 2024 18:02:06 -0500 From: Paul Moore To: Linus Torvalds Cc: audit@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] audit/audit-pr-20241112 Linus, I'm expecting to have spotty network access later this week and early into next so I'm sending my v6.13 merge window pull requests a bit earlier than normal. The audit patches are minimal this time around with one patch to correct some kdoc function parameters and one to leverage the `str_yes_no()` function; nothing very exciting. -Paul -- The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git tags/audit-pr-20241112 for you to fetch changes up to 89282beaf75d81c9e04da7bc7c97bb261c2a0204: audit: Use str_yes_no() helper function (2024-10-22 19:16:50 -0400) ---------------------------------------------------------------- audit/stable-6.13 PR 20241112 ---------------------------------------------------------------- Julia Lawall (1): audit: Reorganize kerneldoc parameter names Thorsten Blum (1): audit: Use str_yes_no() helper function kernel/audit.c | 2 +- kernel/auditsc.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) -- paul-moore.com . Date: Tue, 12 Nov 2024 18:02:10 -0500 From: Paul Moore To: Linus Torvalds Cc: selinux@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] selinux/selinux-pr-20241112 Linus, I'm expecting to have spotty network access later this week and early into next so I'm sending my v6.13 merge window pull requests a bit earlier than normal. The SELinux highlights are below: - Add support for netlink xperms Some time ago we added the concept of "xperms" to the SELinux policy so that we could write policy for individual ioctls, this pull request builds upon this by using extending xperms to netlink so that we can write SELinux policy for individual netlnk message types and not rely on the fairly coarse read/write mapping tables we currently have. There are limitations involving generic netlink due to the multiplexing that is done, but it's no worse that what we currently have. As usual, more information can be found in the commit message. - Deprecate /sys/fs/selinux/user We removed the only known userspace use of this back in 2020 and now that several years have elapsed we're starting down the path of deprecating it in the kernel. - Cleanup the build under scripts/selinux A couple of patches to move the genheaders tool under security/selinux and correct our usage of kernel headers in the tools located under scripts/selinux. While these changes originated out of an effort to build Linux on different systems, they are arguably the right thing to do regardless. - Minor code cleanups and style fixes Not much to say here, two minor cleanup patches that came out of the netlink xperms work. -Paul -- The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git tags/selinux-pr-20241112 for you to fetch changes up to d7b6918e22c74f2b354d8dc0ef31ab17ae334b93: selinux: Deprecate /sys/fs/selinux/user (2024-10-07 16:39:49 -0400) ---------------------------------------------------------------- selinux/stable-6.13 PR 20241112 ---------------------------------------------------------------- Masahiro Yamada (2): selinux: do not include headers from host programs selinux: move genheaders to security/selinux/ Paul Moore (2): selinux: streamline selinux_nlmsg_lookup() selinux: apply clang format to security/selinux/nlmsgtab.c Stephen Smalley (1): selinux: Deprecate /sys/fs/selinux/user Thiébaud Weksteen (1): selinux: Add netlink xperm support Documentation/ABI/obsolete/sysfs-selinux-user | 12 scripts/remove-stale-files | 3 scripts/selinux/Makefile | 2 scripts/selinux/genheaders/.gitignore | 2 scripts/selinux/genheaders/Makefile | 5 scripts/selinux/mdp/Makefile | 2 scripts/selinux/mdp/mdp.c | 4 security/selinux/.gitignore | 1 security/selinux/Makefile | 7 security/selinux/genheaders.c | 3 security/selinux/hooks.c | 51 ++ security/selinux/include/classmap.h | 19 security/selinux/include/initial_sid_to_string.h | 4 security/selinux/include/policycap.h | 1 security/selinux/include/policycap_names.h | 1 security/selinux/include/security.h | 6 security/selinux/nlmsgtab.c | 299 +++++++-------- security/selinux/selinuxfs.c | 4 security/selinux/ss/avtab.h | 5 security/selinux/ss/services.c | 78 ++- 20 files changed, 295 insertions(+), 214 deletions(-) -- paul-moore.com . Date: Tue, 12 Nov 2024 18:02:14 -0500 From: Paul Moore To: Linus Torvalds Cc: linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] lsm/lsm-pr-20241112 Linus, I'm expecting to have spotty network access later this week and early into next so I'm sending my v6.13 merge window pull requests a bit earlier than normal. While the LSM pull request is composed of thirteen patches, they all focused on moving away from the current "secid" LSM identifier to a richer "lsm_prop" structure. This move will help reduce the translation that is necessary in many LSMs, offering better performance, and make it easier to support different LSMs in the future. -Paul -- The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm.git tags/lsm-pr-20241112 for you to fetch changes up to 8afd8c8faa24249e48f5007aee46209299377588: lsm: remove lsm_prop scaffolding (2024-10-11 14:34:16 -0400) ---------------------------------------------------------------- lsm/stable-6.13 PR 20241112 ---------------------------------------------------------------- Casey Schaufler (13): lsm: add the lsm_prop data structure lsm: use lsm_prop in security_audit_rule_match lsm: add lsmprop_to_secctx hook audit: maintain an lsm_prop in audit_context lsm: use lsm_prop in security_ipc_getsecid audit: update shutdown LSM data lsm: use lsm_prop in security_current_getsecid lsm: use lsm_prop in security_inode_getsecid audit: use an lsm_prop in audit_names lsm: create new security_cred_getlsmprop LSM hook audit: change context data from secid to lsm_prop netlabel,smack: use lsm_prop for audit data lsm: remove lsm_prop scaffolding MAINTAINERS | 1 include/linux/lsm/apparmor.h | 17 ++++ include/linux/lsm/bpf.h | 16 ++++ include/linux/lsm/selinux.h | 16 ++++ include/linux/lsm/smack.h | 17 ++++ include/linux/lsm_hook_defs.h | 20 +++-- include/linux/security.h | 98 +++++++++++++++++++++----- include/net/netlabel.h | 2 kernel/audit.c | 21 ++--- kernel/audit.h | 7 + kernel/auditfilter.c | 9 +- kernel/auditsc.c | 61 +++++++--------- net/netlabel/netlabel_unlabeled.c | 2 net/netlabel/netlabel_user.c | 7 - net/netlabel/netlabel_user.h | 2 security/apparmor/audit.c | 4 - security/apparmor/include/audit.h | 2 security/apparmor/include/secid.h | 2 security/apparmor/lsm.c | 17 ++-- security/apparmor/secid.c | 21 +++++ security/integrity/ima/ima.h | 8 +- security/integrity/ima/ima_api.c | 6 - security/integrity/ima/ima_appraise.c | 6 - security/integrity/ima/ima_main.c | 60 +++++++-------- security/integrity/ima/ima_policy.c | 20 ++--- security/security.c | 96 +++++++++++++++++-------- security/selinux/hooks.c | 49 ++++++++----- security/selinux/include/audit.h | 5 - security/selinux/ss/services.c | 6 - security/smack/smack_lsm.c | 96 ++++++++++++++++--------- security/smack/smackfs.c | 4 - 31 files changed, 470 insertions(+), 228 deletions(-) -- paul-moore.com . Date: Tue, 12 Nov 2024 16:41:28 -0800 From: Andrew Morton To: Linus Torvalds Cc: linux-mm@kvack.org, mm-commits@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] hotfixes for 6.12 Linus, please pull this batch of hotfixes, thanks. The following changes since commit c289f4de8e479251b64988839fd0e87f246e03a2: mailmap: add entry for Thorsten Blum (2024-11-07 14:14:59 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-hotfixes-stable-2024-11-12-16-39 for you to fetch changes up to dcf32ea7ecede94796fb30231b3969d7c838374c: mm: swapfile: fix cluster reclaim work crash on rotational devices (2024-11-12 16:01:36 -0800) ---------------------------------------------------------------- 10 hotfixes, 7 of which are cc:stable. 7 are MM, 3 are not. All singletons. ---------------------------------------------------------------- Barry Song (1): mm: count zeromap read and set for swapout and swapin Dmitry Antipov (1): ocfs2: fix UBSAN warning in ocfs2_verify_volume() Donet Tom (1): selftests: hugetlb_dio: fixup check for initial conditions to skip in the start Hajime Tazaki (1): nommu: pass NULL argument to vma_iter_prealloc() Hugh Dickins (1): mm/thp: fix deferred split queue not partially_mapped: fix Johannes Weiner (1): mm: swapfile: fix cluster reclaim work crash on rotational devices John Hubbard (1): mm/gup: avoid an unnecessary allocation call for FOLL_LONGTERM cases Roman Gushchin (1): mm: page_alloc: move mlocked flag clearance into free_pages_prepare() Ryusuke Konishi (2): nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint nilfs2: fix null-ptr-deref in block_dirty_buffer tracepoint Documentation/admin-guide/cgroup-v2.rst | 9 +++ fs/nilfs2/btnode.c | 2 - fs/nilfs2/gcinode.c | 4 +- fs/nilfs2/mdt.c | 1 - fs/nilfs2/page.c | 2 +- fs/ocfs2/super.c | 13 ++-- include/linux/memcontrol.h | 12 ++-- include/linux/vm_event_item.h | 2 + mm/gup.c | 116 ++++++++++++++++++++----------- mm/huge_memory.c | 4 +- mm/memcontrol.c | 4 ++ mm/nommu.c | 2 +- mm/page_alloc.c | 15 ++++ mm/page_io.c | 16 +++++ mm/swap.c | 14 ---- mm/swapfile.c | 2 +- mm/vmstat.c | 2 + mm/zswap.c | 6 +- tools/testing/selftests/mm/hugetlb_dio.c | 7 ++ 19 files changed, 158 insertions(+), 75 deletions(-) . Date: Wed, 13 Nov 2024 20:48:57 +0800 From: Huacai Chen To: Linus Torvalds , Arnd Bergmann , Huacai Chen Cc: loongarch@lists.linux.dev, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Guo Ren , Xuerui Wang , Jiaxun Yang , Huacai Chen Subject: [GIT PULL] LoongArch fixes for v6.12-final The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623: Linux 6.12-rc7 (2024-11-10 14:19:35 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git tags/loongarch-fixes-6.12-2 for you to fetch changes up to 6ce031e5d6f475d476bab55ab7d8ea168fedc4c1: LoongArch: Fix AP booting issue in VM mode (2024-11-12 16:35:39 +0800) ---------------------------------------------------------------- LoongArch fixes for v6.12-final For all possible CPUs setup logical-physical CPU mapping, in order to avoid CPU hotplug issue, fix some KASAN bugs, fix AP booting issue in VM mode, and some trivial cleanups. ---------------------------------------------------------------- Bibo Mao (1): LoongArch: Fix AP booting issue in VM mode Huacai Chen (4): LoongArch: For all possible CPUs setup logical-physical CPU mapping LoongArch: Fix early_numa_add_cpu() usage for FDT systems LoongArch: Make KASAN work with 5-level page-tables LoongArch: Disable KASAN if PGDIR_SIZE is too large for cpu_vabits Kanglong Wang (1): LoongArch: Add WriteCombine shadow mapping in KASAN Yuli Wang (1): LoongArch: Define a default value for VM_DATA_DEFAULT_FLAGS arch/loongarch/include/asm/kasan.h | 13 +++++- arch/loongarch/include/asm/page.h | 5 +-- arch/loongarch/kernel/acpi.c | 81 +++++++++++++++++++++++++------------- arch/loongarch/kernel/paravirt.c | 15 +++++++ arch/loongarch/kernel/smp.c | 5 ++- arch/loongarch/mm/kasan_init.c | 46 +++++++++++++++++++--- 6 files changed, 124 insertions(+), 41 deletions(-) . Date: Wed, 13 Nov 2024 16:13:01 +0100 From: Daniel Lezcano To: Thomas Gleixner Cc: Linux Kernel Mailing List , linux@treblig.org, Judith Mendez , Mark Brown , Paul Burton , Sergio Paracuellos , Ivaylo Ivanov , Rob Herring , Javier Carrasco , Tang Bin Subject: [GIt PULL] timer drivers for v6.13-rc1 Hi Thomas, please consider the following changes for the timer drivers v6.13-rc1 The following changes since commit 3c2fb0152175f9f596b40763cdc1378297da60af: hrtimers: Delete hrtimer_init_on_stack() (2024-11-07 02:47:07 +0100) are available in the Git repository at: https://git.linaro.org/people/daniel.lezcano/linux.git tags/timers-v6.13-rc1 for you to fetch changes up to 08b97fbd13de79744b31d2b3c8a0ab1a409b94fa: clocksource/drivers/arm_arch_timer: Use of_property_present() for non-boolean properties (2024-11-13 13:49:33 +0100) ---------------------------------------------------------------- - Remove unused dw_apb_clockevent_[pause|resume|stop] functions as they are unused since 2021 (David Alan Gilbert) - Make the sp804 driver user selectable as they may be unused on some platforms (Mark Brown) - Don't fail if the ti-dm does not describe an interrupt in the DT as this could be a normal situation if the PWM is used (Judith Mendez) - Always use cluster 0 counter as a clocksource on a multi-cluster system to prevent problems related to the time shifting between clusters if multiple per cluster clocksource is used (Paul Burton) - Move the RaLink system tick counter from the arch directory to the clocksource directory (Sergio Paracuellos) - Convert the owl-timer bindings into yaml schema (Ivaylo Ivanov) - Fix child node refcount handling on the TI DM by relying on the __free annotation to automatically release the refcount on the node (Javier Carrasco) - Remove pointless cast in the GPX driver as PTR_ERR already does that (Tang Bin) - Use of_property_present() for non-boolean properties where it is possible in the different drivers (Rob Herring) ---------------------------------------------------------------- Dr. David Alan Gilbert (1): clocksource/drivers/dw_apb: Remove unused dw_apb_clockevent functions Ivaylo Ivanov (1): dt-bindings: timer: actions,owl-timer: convert to YAML Javier Carrasco (1): clocksource/drivers/timer-ti-dm: Fix child node refcount handling Judith Mendez (1): clocksource/drivers/timer-ti-dm: Don't fail probe if int not found Mark Brown (1): clocksource/drivers:sp804: Make user selectable Paul Burton (1): clocksource/drivers/mips-gic-timer: Always use cluster 0 counter as clocksource Rob Herring (Arm) (1): clocksource/drivers/arm_arch_timer: Use of_property_present() for non-boolean properties Sergio Paracuellos (1): clocksource/drivers/ralink: Add Ralink System Tick Counter driver Tang Bin (1): clocksource/drivers/gpx: Remove redundant casts .../bindings/timer/actions,owl-timer.txt | 21 ---- .../bindings/timer/actions,owl-timer.yaml | 107 +++++++++++++++++++++ MAINTAINERS | 2 +- arch/mips/ralink/Kconfig | 7 -- arch/mips/ralink/Makefile | 2 - drivers/clocksource/Kconfig | 12 ++- drivers/clocksource/Makefile | 1 + drivers/clocksource/arm_arch_timer.c | 2 +- drivers/clocksource/dw_apb_timer.c | 39 -------- drivers/clocksource/mips-gic-timer.c | 39 +++++++- drivers/clocksource/timer-gxp.c | 2 +- .../clocksource/timer-ralink.c | 11 +-- drivers/clocksource/timer-ti-dm-systimer.c | 8 +- drivers/clocksource/timer-ti-dm.c | 8 +- include/linux/dw_apb_timer.h | 3 - 15 files changed, 174 insertions(+), 90 deletions(-) delete mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.txt create mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.yaml rename arch/mips/ralink/cevt-rt3352.c => drivers/clocksource/timer-ralink.c (91%) -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog . Date: Wed, 13 Nov 2024 19:13:03 +0100 From: David Sterba To: torvalds@linux-foundation.org Cc: David Sterba , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] Btrfs updates for 6.13 Hi, please pull the following updates for btrfs. Changes outside of btrfs: add io_uring command flag to track a dying task (the rest will go via the block git tree). User visible changes: - wire encoded read (ioctl) to io_uring commands, this can be used on itself, in the future this will allow 'send' to be asynchronous - as a consequence, the encoded read ioctl can also work in non-blocking mode - new ioctl to wait for cleaned subvolumes, no need to use the generic and root-only SEARCH_TREE ioctl, will be used by "btrfs subvol sync" - recognize different paths/symlinks for the same devices and don't report them during rescanning, this can be observed with LVM or DM - seeding device use case change, the sprout device (the one capturing new writes) will not clear the read-only status of the super block; this prevents accumulating space from deleted snapshots Performance improvements: - reduce lock contention when traversing extent buffers - reduce extent tree lock contention when searching for inline backref - switch from rb-trees to xarray for delayed ref tracking, improvements due to better cache locality, branching factors and more compact data structures - enable extent map shrinker again (prevent memory exhaustion under some types of IO load), reworked to run in a single worker thread (there used to be problems causing long stalls under memory pressure) Core changes: - raid-stripe-tree feature updates - make device replace and scrub work - implement partial deletion of stripe extents - new selftests - split the config option BTRFS_DEBUG and add EXPERIMENTAL for features that are experimental or with known problems so we don't misuse debugging config for that - subpage mode updates (sector < page) - update compression implementations - update writepage, writeback - continued folio API conversions - buffered writes - make buffered write copy one page at a time, preparatory work for future integration with large folios, may cause performance drop - proper locking of root item regarding starting send - error handling improvements - code cleanups and refactoring - dead code removal - unused parameter reduction - lockdep assertions ---------------------------------------------------------------- The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623: Linux 6.12-rc7 (2024-11-10 14:19:35 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.13-tag for you to fetch changes up to e82c936293aafb4f33b153c684c37291b3eed377: btrfs: send: check for read-only send root under critical section (2024-11-11 14:34:23 +0100) ---------------------------------------------------------------- Anand Jain (1): btrfs: use filemap_get_folio() helper Boris Burkov (1): btrfs: do not clear read-only when adding sprout device Christoph Hellwig (1): btrfs: fix a typo in btrfs_use_zone_append David Sterba (26): btrfs: zstd: assert the timer pointer in callback btrfs: drop unused parameter path from btrfs_tree_mod_log_rewind() btrfs: drop unused parameter ctx from batch_delete_dir_index_items() btrfs: drop unused parameter fs_info from wait_reserve_ticket() btrfs: drop unused parameter fs_info from do_reclaim_sweep() btrfs: send: drop unused parameter num from iterate_inode_ref_t callbacks btrfs: send: drop unused parameter index from iterate_inode_ref_t callbacks btrfs: scrub: drop unused parameter sctx from scrub_submit_extent_sector_read() btrfs: drop unused parameter map from scrub_simple_mirror() btrfs: qgroup: drop unused parameter fs_info from __del_qgroup_rb() btrfs: drop unused transaction parameter from btrfs_qgroup_add_swapped_blocks() btrfs: lzo: drop unused paramter level from lzo_alloc_workspace() btrfs: drop unused parameter argp from btrfs_ioctl_quota_rescan_wait() btrfs: drop unused parameter inode from read_inline_extent() btrfs: drop unused parameter offset from __cow_file_range_inline() btrfs: drop unused parameter file_offset from btrfs_encoded_read_regular_fill_pages() btrfs: drop unused parameter iov_iter from btrfs_write_check() btrfs: drop unused parameter refs from visit_node_for_delete() btrfs: drop unused parameter mask from try_release_extent_state() btrfs: drop unused parameter fs_info from folio_range_has_eb() btrfs: drop unused parameter options from open_ctree() btrfs: drop unused parameter data from btrfs_fill_super() btrfs: drop unused parameter transaction from alloc_log_tree() btrfs: drop unused parameter fs_info from btrfs_match_dir_item_name() btrfs: drop unused parameter level from alloc_heuristic_ws() btrfs: add new ioctl to wait for cleaned subvolumes Dr. David Alan Gilbert (3): btrfs: remove unused btrfs_free_squota_rsv() btrfs: remove unused btrfs_is_parity_mirror() btrfs: remove unused btrfs_try_tree_write_lock() Filipe Manana (40): btrfs: qgroups: remove bytenr field from struct btrfs_qgroup_extent_record btrfs: store fs_info in a local variable at btrfs_qgroup_trace_extent_post() btrfs: remove unnecessary delayed refs locking at btrfs_qgroup_trace_extent() btrfs: always use delayed_refs local variable at btrfs_qgroup_trace_extent() btrfs: remove pointless initialization at btrfs_qgroup_trace_extent() btrfs: qgroup: run delayed iputs after ordered extent completion btrfs: add and use helper to remove extent map from its inode's tree btrfs: make the extent map shrinker run asynchronously as a work queue job btrfs: simplify tracking progress for the extent map shrinker btrfs: rename extent map shrinker members from struct btrfs_fs_info btrfs: re-enable the extent map shrinker btrfs: remove redundant level argument from read_block_for_search() btrfs: simplify arguments for btrfs_verify_level_key() btrfs: remove redundant initializations for struct btrfs_tree_parent_check btrfs: remove local generation variable from read_block_for_search() btrfs: remove BUG_ON() at btrfs_destroy_delayed_refs() btrfs: move btrfs_destroy_delayed_refs() to delayed-ref.c btrfs: remove fs_info parameter from btrfs_destroy_delayed_refs() btrfs: remove fs_info parameter from btrfs_cleanup_one_transaction() btrfs: remove duplicated code to drop delayed ref during transaction abort btrfs: use helper to find first ref head at btrfs_destroy_delayed_refs() btrfs: remove num_entries atomic counter from delayed ref root btrfs: change return type of btrfs_delayed_ref_lock() to boolean btrfs: simplify obtaining a delayed ref head btrfs: move delayed ref head unselection to delayed-ref.c btrfs: pass fs_info to functions that search for delayed ref heads btrfs: pass fs_info to btrfs_delete_ref_head() btrfs: assert delayed refs lock is held at find_ref_head() btrfs: assert delayed refs lock is held at find_first_ref_head() btrfs: assert delayed refs lock is held at add_delayed_ref_head() btrfs: add comments regarding locking to struct btrfs_delayed_ref_root btrfs: track delayed ref heads in an xarray btrfs: remove no longer used delayed ref head search functionality btrfs: update stale comment for struct btrfs_delayed_ref_node::add_list btrfs: remove hole from struct btrfs_delayed_node btrfs: simplify logic to decrement snapshot counter at btrfs_mksnapshot() btrfs: fix warning on PTR_ERR() against NULL device at btrfs_control_ioctl() btrfs: remove check for NULL fs_info at btrfs_folio_end_lock_bitmap() btrfs: send: check for dead send root under critical section btrfs: send: check for read-only send root under critical section Haisu Wang (1): btrfs: simplify range tracking in cow_file_range() Johannes Thumshirn (8): btrfs: don't take dev_replace rwsem on task already holding it btrfs: remove code duplication in ordered extent finishing btrfs: tests: add selftests for raid-stripe-tree btrfs: handle empty list of NOCOW ordered extents with checksum list btrfs: return ENODATA in case RST lookup fails btrfs: scrub: skip initial RST lookup errors btrfs: implement partial deletion of RAID stripe extents btrfs: tests: implement case for partial RAID stripe-tree delete Leo Martins (2): btrfs: push cleanup into btrfs_read_locked_inode() btrfs: remove conditional path allocation in btrfs_read_locked_inode() Mark Harmstone (8): btrfs: fix wrong sizeof in btrfs_do_encoded_write() btrfs: remove pointless iocb::ki_pos addition in btrfs_encoded_read() btrfs: change btrfs_encoded_read() so that reading of extent is done by caller btrfs: don't sleep in btrfs_encoded_read() if IOCB_NOWAIT is set btrfs: move priv off stack in btrfs_encoded_read_regular_fill_pages() btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl) btrfs: add struct io_btrfs_cmd as type for io_uring_cmd_to_pdu() btrfs: avoid superfluous calls to free_extent_map() in btrfs_encoded_read() Pavel Begunkov (1): io_uring/cmd: let cmds to know about dying task Qu Wenruo (21): btrfs: make assert_rbio() to only check CONFIG_BTRFS_ASSERT btrfs: split out CONFIG_BTRFS_EXPERIMENTAL from CONFIG_BTRFS_DEBUG btrfs: zlib: make the compression path to handle sector size < page size btrfs: zstd: make the compression path to handle sector size < page size btrfs: compression: add an ASSERT() to ensure the read-in length is sane btrfs: wait for writeback if sector size is smaller than page size btrfs: make extent_range_clear_dirty_for_io() to handle sector size < page size cases btrfs: do not assume the full page range is not dirty in extent_writepage_io() btrfs: move the delalloc range bitmap search into extent_io.c btrfs: mark all dirty sectors as locked inside writepage_delalloc() btrfs: allow compression even if the range is not page aligned btrfs: avoid unnecessary device path update for the same device btrfs: canonicalize the device path before adding it btrfs: remove the dirty_page local variable btrfs: simplify the page uptodate preparation for prepare_pages() btrfs: remove btrfs_set_range_writeback() btrfs: remove unused btrfs_folio_start_writer_lock() btrfs: unify to use writer locks for subpage locking btrfs: rename btrfs_folio_(set|start|end)_writer_lock() btrfs: make buffered write to copy one page a time btrfs: convert btrfs_buffered_write() to use folios Riyan Dhiman (1): btrfs: remove redundant stop_loop variable in scrub_stripe() Robbie Ko (2): btrfs: reduce lock contention when eb cache miss for btree search btrfs: reduce extent tree lock contention when searching for inline backref Shen Lichuan (1): btrfs: correct typos in multiple comments across various files Thorsten Blum (1): btrfs: use str_yes_no() helper function in btrfs_dump_free_space() Youling Tang (1): btrfs: remove unused page_to_inode and page_to_fs_info macros fs/btrfs/Kconfig | 26 ++ fs/btrfs/Makefile | 3 +- fs/btrfs/backref.c | 3 +- fs/btrfs/bio.c | 2 +- fs/btrfs/block-group.c | 2 +- fs/btrfs/btrfs_inode.h | 15 +- fs/btrfs/compression.c | 14 +- fs/btrfs/compression.h | 2 +- fs/btrfs/ctree.c | 148 +++++---- fs/btrfs/delayed-inode.h | 2 +- fs/btrfs/delayed-ref.c | 327 +++++++++++-------- fs/btrfs/delayed-ref.h | 64 ++-- fs/btrfs/dev-replace.c | 4 +- fs/btrfs/dir-item.c | 11 +- fs/btrfs/dir-item.h | 3 +- fs/btrfs/direct-io.c | 2 +- fs/btrfs/disk-io.c | 93 +----- fs/btrfs/disk-io.h | 6 +- fs/btrfs/extent-tree.c | 104 +++--- fs/btrfs/extent_io.c | 111 +++++-- fs/btrfs/extent_map.c | 122 ++++---- fs/btrfs/extent_map.h | 3 +- fs/btrfs/fiemap.c | 6 +- fs/btrfs/file.c | 351 ++++++++------------- fs/btrfs/file.h | 7 +- fs/btrfs/free-space-cache.c | 22 +- fs/btrfs/fs.h | 16 +- fs/btrfs/inode.c | 495 +++++++++++++++-------------- fs/btrfs/ioctl.c | 478 +++++++++++++++++++++++++++- fs/btrfs/ioctl.h | 2 + fs/btrfs/locking.c | 15 - fs/btrfs/locking.h | 1 - fs/btrfs/lzo.c | 2 +- fs/btrfs/qgroup.c | 90 +++--- fs/btrfs/qgroup.h | 17 +- fs/btrfs/raid-stripe-tree.c | 92 +++++- fs/btrfs/raid-stripe-tree.h | 5 + fs/btrfs/raid56.c | 3 +- fs/btrfs/relocation.c | 2 +- fs/btrfs/scrub.c | 37 +-- fs/btrfs/send.c | 61 ++-- fs/btrfs/send.h | 2 +- fs/btrfs/space-info.c | 12 +- fs/btrfs/subpage.c | 204 ++---------- fs/btrfs/subpage.h | 39 +-- fs/btrfs/super.c | 33 +- fs/btrfs/sysfs.c | 4 +- fs/btrfs/tests/btrfs-tests.c | 4 + fs/btrfs/tests/btrfs-tests.h | 2 + fs/btrfs/tests/raid-stripe-tree-tests.c | 538 ++++++++++++++++++++++++++++++++ fs/btrfs/transaction.c | 8 +- fs/btrfs/transaction.h | 2 +- fs/btrfs/tree-checker.c | 16 +- fs/btrfs/tree-checker.h | 4 +- fs/btrfs/tree-log.c | 3 +- fs/btrfs/tree-mod-log.c | 1 - fs/btrfs/tree-mod-log.h | 1 - fs/btrfs/volumes.c | 163 ++++++++-- fs/btrfs/volumes.h | 11 +- fs/btrfs/xattr.c | 5 +- fs/btrfs/zlib.c | 2 +- fs/btrfs/zoned.c | 4 +- fs/btrfs/zstd.c | 4 +- include/linux/io_uring_types.h | 1 + include/trace/events/btrfs.h | 39 +-- include/uapi/linux/btrfs.h | 25 ++ io_uring/uring_cmd.c | 6 +- 67 files changed, 2470 insertions(+), 1432 deletions(-) create mode 100644 fs/btrfs/tests/raid-stripe-tree-tests.c . Date: Wed, 13 Nov 2024 21:29:16 +0200 From: "Jarkko Sakkinen" To: "Linus Torvalds" Cc: "Peter Huewe" , "Jason Gunthorpe" , "David Howells" , , , , "Christoph Anton Mitterer" Subject: [GIT PULL] TPM DEVICE DRIVER: tpmdd-next-6.12-rc8 The following changes since commit 14b6320953a3f856a3f93bf9a0e423395baa593d= : Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm (2024-= 11-12 13:35:13 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git tags= /tpmdd-next-6.12-rc8 for you to fetch changes up to 423893fcbe7e9adc875bce4e55b9b25fc1424977: tpm: Disable TPM on tpm2_create_primary() failure (2024-11-13 21:10:45 +0= 200) ---------------------------------------------------------------- Hi, Two bug fixes for TPM bus encryption (the remaining reported issues in the feature). BR, Jarkko ---------------------------------------------------------------- Jarkko Sakkinen (2): tpm: Opt-in in disable PCR integrity protection tpm: Disable TPM on tpm2_create_primary() failure Documentation/admin-guide/kernel-parameters.txt | 9 ++++ drivers/char/tpm/tpm-buf.c | 20 +++++++++ drivers/char/tpm/tpm2-cmd.c | 30 +++++++++---- drivers/char/tpm/tpm2-sessions.c | 58 ++++++++++++++-------= ---- include/linux/tpm.h | 3 ++ 5 files changed, 87 insertions(+), 33 deletions(-) . Date: Wed, 13 Nov 2024 21:14:02 +0100 From: "Rafael J. Wysocki" To: Linus Torvalds Cc: Linux PM , Linux Kernel Mailing List Subject: [GIT PULL] Power management fix for v6.12 (final) Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-6.12-rc8 with top-most commit 1a1030d10a6335bb5e6cdb24fc9388d3d9bcc1ac cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scaling() on top of commit 92447aa5f6e7fbad9427a3fd1bb9e0679c403206 cpufreq: intel_pstate: Update asym capacity for CPUs that were offline initially to receive a power management fix for 6.12 (final). This fixes a locking issue in the asymmetric CPU capacity setup code in the intel_pstate driver that may lead to a deadlock if CPU online/offline runs in parallel with the code in question, which is unlikely but not impossible. Thanks! --------------- Rafael J. Wysocki (1): cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scaling() --------------- drivers/cpufreq/intel_pstate.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) . Date: Wed, 13 Nov 2024 22:52:13 -0500 From: Kent Overstreet To: Linus Torvalds Cc: linux-bcachefs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] bcachefs fixes for 6.12 test dashboard is looking good, rebasing to rc6 fixed the crazy hangs we were seeing on rc1... (and they were crazy; processes were getting stuck on inode lock when lockdep said nothing was holding it). this fixes one minor regression from the btree cache fixes in the last pull request (in the scan_for_btree_nodes repair path) - and the shutdown path fix is the big one here, in terms of bugs closed. so I would say things are slowing down here, except now that I've got an easy way to run syzbot reproducers I'm noticing that we're losing a lot of coverage because mainly we're mostly bailing out when we see something corrupt. When self healing is flipped on for more stuff there's probably going to be another flood of syzbot stuff... The following changes since commit 8440da933127fc5330c3d1090cdd612fddbc40eb: bcachefs: Fix UAF in __promote_alloc() error path (2024-11-07 16:48:21 -0500) are available in the Git repository at: git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-11-13 for you to fetch changes up to 840c2fbcc5cd33ba8fab180f09da0bb7f354ea71: bcachefs: Fix assertion pop in bch2_ptr_swab() (2024-11-12 03:46:57 -0500) ---------------------------------------------------------------- bcachefs fixes for 6.12 - Assorted tiny syzbot fixes - Shutdown path fix: "bch2_btree_write_buffer_flush_going_ro()" The shutdown path wasn't flushing the btree write buffer, leading to shutting down while we still had operations in flight. This fixes a whole slew of syzbot bugs, and undoubtedly other strange heisenbugs. ---------------------------------------------------------------- Kent Overstreet (9): bcachefs: bch2_btree_write_buffer_flush_going_ro() bcachefs: Fix bch_member.btree_bitmap_shift validation bcachefs: Fix missing validation for bch_backpointer.level bcachefs: Fix validate_bset() repair path bcachefs: Fix hidden btree errors when reading roots bcachefs: Fix assertion pop in topology repair bcachefs: Allow for unknown key types in backpointers fsck bcachefs: Fix journal_entry_dev_usage_to_text() overrun bcachefs: Fix assertion pop in bch2_ptr_swab() fs/bcachefs/backpointers.c | 17 ++++++++++++----- fs/bcachefs/btree_gc.c | 2 +- fs/bcachefs/btree_io.c | 6 +----- fs/bcachefs/btree_update_interior.c | 3 ++- fs/bcachefs/btree_write_buffer.c | 30 +++++++++++++++++++++++++++--- fs/bcachefs/btree_write_buffer.h | 1 + fs/bcachefs/extents.c | 5 ++++- fs/bcachefs/journal_io.c | 3 +++ fs/bcachefs/recovery_passes.c | 6 ++++++ fs/bcachefs/recovery_passes_types.h | 1 + fs/bcachefs/sb-errors_format.h | 6 +++++- fs/bcachefs/sb-members.c | 4 ++-- fs/bcachefs/sb-members_format.h | 6 ++++++ fs/bcachefs/super.c | 1 + 14 files changed, 72 insertions(+), 19 deletions(-) . Date: Thu, 14 Nov 2024 17:41:28 +0800 From: Huacai Chen To: Paolo Bonzini , Huacai Chen , Tianrui Zhao , Bibo Mao Cc: kvm@vger.kernel.org, loongarch@lists.linux.dev, linux-kernel@vger.kernel.org, Xuerui Wang , Jiaxun Yang , Huacai Chen Subject: [GIT PULL] LoongArch KVM changes for v6.13 The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623: Linux 6.12-rc7 (2024-11-10 14:19:35 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git tags/loongarch-kvm-6.13 for you to fetch changes up to 9899b8201025d00b23aee143594a30c55cc4cc35: irqchip/loongson-eiointc: Add virt extension support (2024-11-13 16:18:27 +0800) ---------------------------------------------------------------- LoongArch KVM changes for v6.13 1. Add iocsr and mmio bus simulation in kernel. 2. Add in-kernel interrupt controller emulation. 3. Add virt extension support for eiointc irqchip. ---------------------------------------------------------------- Bibo Mao (1): irqchip/loongson-eiointc: Add virt extension support Xianglai Li (11): LoongArch: KVM: Add iocsr and mmio bus simulation in kernel LoongArch: KVM: Add IPI device support LoongArch: KVM: Add IPI read and write function LoongArch: KVM: Add IPI user mode read and write function LoongArch: KVM: Add EIOINTC device support LoongArch: KVM: Add EIOINTC read and write functions LoongArch: KVM: Add EIOINTC user mode read and write functions LoongArch: KVM: Add PCHPIC device support LoongArch: KVM: Add PCHPIC read and write functions LoongArch: KVM: Add PCHPIC user mode read and write functions LoongArch: KVM: Add irqfd support Documentation/arch/loongarch/irq-chip-model.rst | 64 ++ .../zh_CN/arch/loongarch/irq-chip-model.rst | 55 ++ arch/loongarch/include/asm/irq.h | 1 + arch/loongarch/include/asm/kvm_eiointc.h | 123 +++ arch/loongarch/include/asm/kvm_host.h | 18 +- arch/loongarch/include/asm/kvm_ipi.h | 45 + arch/loongarch/include/asm/kvm_pch_pic.h | 62 ++ arch/loongarch/include/uapi/asm/kvm.h | 20 + arch/loongarch/kvm/Kconfig | 5 +- arch/loongarch/kvm/Makefile | 4 + arch/loongarch/kvm/exit.c | 82 +- arch/loongarch/kvm/intc/eiointc.c | 1027 ++++++++++++++++++++ arch/loongarch/kvm/intc/ipi.c | 475 +++++++++ arch/loongarch/kvm/intc/pch_pic.c | 519 ++++++++++ arch/loongarch/kvm/irqfd.c | 89 ++ arch/loongarch/kvm/main.c | 19 +- arch/loongarch/kvm/vcpu.c | 3 + arch/loongarch/kvm/vm.c | 21 + drivers/irqchip/irq-loongson-eiointc.c | 108 +- include/linux/kvm_host.h | 1 + include/trace/events/kvm.h | 35 + include/uapi/linux/kvm.h | 8 + 22 files changed, 2735 insertions(+), 49 deletions(-) create mode 100644 arch/loongarch/include/asm/kvm_eiointc.h create mode 100644 arch/loongarch/include/asm/kvm_ipi.h create mode 100644 arch/loongarch/include/asm/kvm_pch_pic.h create mode 100644 arch/loongarch/kvm/intc/eiointc.c create mode 100644 arch/loongarch/kvm/intc/ipi.c create mode 100644 arch/loongarch/kvm/intc/pch_pic.c create mode 100644 arch/loongarch/kvm/irqfd.c . Date: Thu, 14 Nov 2024 15:08:23 +0100 From: Christophe Leroy To: soc@kernel.org, Arnd Bergmann Cc: Herve Codina , "linux-kernel@vger.kernel.org" , Javier Carrasco Subject: [GIT PULL] SOC FSL for 6.13 Hi Arnd, Please pull the following Freescale Soc Drivers changes for 6.13 Thanks Christophe The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: https://github.com/chleroy/linux.git tags/soc_fsl-6.13-1 for you to fetch changes up to cb3daa51db819a172e9524e96e2ed96b4237e51a: soc: fsl: cpm1: qmc: Set the ret error code on platform_get_irq() failure (2024-11-14 08:26:15 +0100) ---------------------------------------------------------------- FSL SOC changes for 6.13: - Fix a missing of_node_put() in RCPM - Fix a missing error code on failure in CPM1 QMC - Switch to using for_each_available_child_of_node_scoped() in CPM1 TSA ---------------------------------------------------------------- Herve Codina (1): soc: fsl: cpm1: qmc: Set the ret error code on platform_get_irq() failure Javier Carrasco (2): soc: fsl: cpm1: tsa: switch to for_each_available_child_of_node_scoped() soc: fsl: rcpm: fix missing of_node_put() in copy_ippdexpcr1_setting() drivers/soc/fsl/qe/qmc.c | 4 +++- drivers/soc/fsl/qe/tsa.c | 28 ++++------------------------ drivers/soc/fsl/rcpm.c | 1 + 3 files changed, 8 insertions(+), 25 deletions(-) . Date: Thu, 14 Nov 2024 10:41:49 -0500 From: Steven Rostedt To: Linus Torvalds Cc: LKML , Masami Hiramatsu , Mathieu Desnoyers Subject: [GIT PULL] ring-buffer: Revert previous fix as it wasn't the actual fix Linus, Revert: "ring-buffer: Do not have boot mapped buffers hook to CPU hotplug" - A crash that happened on cpu hotplug was actually caused by the incorrect ref counting that was fixed by commit 2cf9733891a4 ("ring-buffer: Fix refcount setting of boot mapped buffers"). The removal of calling cpu hotplug callbacks on memory mapped buffers was not an issue even though the tests at the time pointed toward it. But in fact, there's a check in that code that tests to see if the buffers are already allocated or not, and will not allocate them again if they are. Not calling the cpu hotplug callbacks ended up not initializing the non boot CPU buffers. Simply remove that change. Please pull the latest trace-ringbuffer-v6.12-rc7 tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-ringbuffer-v6.12-rc7 Tag SHA1: 81ccc26cac30f76e5fb6d76aec178677c3e209ad Head SHA1: 580bb355bcae7e9a6606ce9644af09b2a793f1bb Steven Rostedt (1): Revert: "ring-buffer: Do not have boot mapped buffers hook to CPU hotplug" ---- kernel/trace/ring_buffer.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) --------------------------- commit 580bb355bcae7e9a6606ce9644af09b2a793f1bb Author: Steven Rostedt Date: Wed Nov 13 23:08:39 2024 -0500 Revert: "ring-buffer: Do not have boot mapped buffers hook to CPU hotplug" A crash happened when testing cpu hotplug with respect to the memory mapped ring buffers. It was assumed that the hot plug code was adding a per CPU buffer that was already created that caused the crash. The real problem was due to ref counting and was fixed by commit 2cf9733891a4 ("ring-buffer: Fix refcount setting of boot mapped buffers"). When a per CPU buffer is created, it will not be created again even with CPU hotplug, so the fix to not use CPU hotplug was a red herring. In fact, it caused only the boot CPU buffer to be created, leaving the other CPU per CPU buffers disabled. Revert that change as it was not the culprit of the fix it was intended to be. Cc: Masami Hiramatsu Cc: Mathieu Desnoyers Link: https://lore.kernel.org/20241113230839.6c03640f@gandalf.local.home Fixes: 912da2c384d5 ("ring-buffer: Do not have boot mapped buffers hook to CPU hotplug") Signed-off-by: Steven Rostedt (Google) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 3ea4f7bb1837..5807116bcd0b 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2337,12 +2337,9 @@ static struct trace_buffer *alloc_buffer(unsigned long size, unsigned flags, if (!buffer->buffers[cpu]) goto fail_free_buffers; - /* If already mapped, do not hook to CPU hotplug */ - if (!start) { - ret = cpuhp_state_add_instance(CPUHP_TRACE_RB_PREPARE, &buffer->node); - if (ret < 0) - goto fail_free_buffers; - } + ret = cpuhp_state_add_instance(CPUHP_TRACE_RB_PREPARE, &buffer->node); + if (ret < 0) + goto fail_free_buffers; mutex_init(&buffer->mutex); . Date: Thu, 14 Nov 2024 17:18:09 +0000 From: Will Deacon To: joro@8bytes.org Cc: iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robin.murphy@arm.com, kernel-team@android.com Subject: [GIT PULL] iommu/arm-smmu: Updates for 6.13 Hi Joerg, Please pull these Arm SMMU updates for 6.13. The summary is in the tag, but the highlight is definitely the removal of the complicated block-splitting code from the Arm page-table implementations. It even means that we have a negative diffstat! As with 6.12, I've already pushed this lot to the arm/smmu branch in the iommu tree. Please can you merge that into 'next'? Cheers, Will --->8 The following changes since commit 8e929cb546ee42c9a61d24fae60605e9e3192354: Linux 6.12-rc3 (2024-10-13 14:33:32 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-smmu-updates for you to fetch changes up to a3799717b881aa0f4e722afb70e7b8ba84ae4f36: iommu/tegra241-cmdqv: Fix alignment failure at max_n_shift (2024-11-12 15:09:42 +0000) ---------------------------------------------------------------- Arm SMMU updates for 6.13 - SMMUv2: * Return -EPROBE_DEFER for client devices probing before their SMMU. * Devicetree binding updates for Qualcomm MMU-500 implementations. - SMMUv3: * Minor fixes and cleanup for NVIDIA's virtual command queue driver. - IO-PGTable: * Fix indexing of concatenated PGDs and extend selftest coverage. * Remove unused block-splitting support. ---------------------------------------------------------------- Dmitry Baryshkov (1): dt-bindings: iommu: arm,smmu: Add Qualcomm SAR2130P compatible Jason Gunthorpe (3): iommu/io-pgtable-arm: Remove split on unmap behavior iommu/io-pgtable-arm-v7s: Remove split on unmap behavior iommu: Add a kdoc to iommu_unmap() Mostafa Saleh (2): iommu/io-pgtable-arm: Fix stage-2 map/unmap for concatenated tables iommu/io-pgtable-arm: Add self test for the last page in the IAS Nicolin Chen (2): iommu/tegra241-cmdqv: Staticize cmdqv_debugfs_dir iommu/tegra241-cmdqv: Fix alignment failure at max_n_shift Pratyush Brahma (1): iommu/arm-smmu: Defer probe of clients after smmu device bound Qingqing Zhou (1): dt-bindings: arm-smmu: document QCS615 APPS SMMU Will Deacon (2): iommu/tegra241-cmdqv: Fix unused variable warning Merge branch 'for-joerg/arm-smmu/bindings' into arm/smmu .../devicetree/bindings/iommu/arm,smmu.yaml | 5 + drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 7 +- drivers/iommu/arm/arm-smmu/arm-smmu.c | 11 ++ drivers/iommu/io-pgtable-arm-v7s.c | 149 +-------------------- drivers/iommu/io-pgtable-arm.c | 114 +++++----------- drivers/iommu/iommu.c | 14 ++ 6 files changed, 74 insertions(+), 226 deletions(-) . Date: Thu, 14 Nov 2024 22:22:10 +0100 From: David Sterba To: torvalds@linux-foundation.org Cc: David Sterba , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] Btrfs fix for 6.12-rc8 Hi, one more fix that seems urgent and good to have in 6.12 final. It could potentially lead to unexpected transaction aborts, due to wrong comparison and order of processing of delayed refs. Please pull, thanks. ---------------------------------------------------------------- The following changes since commit 2b084d8205949dd804e279df8e68531da78be1e8: btrfs: fix the length of reserved qgroup to free (2024-11-07 02:08:29 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.12-rc7-tag for you to fetch changes up to 7d493a5ecc26f861421af6e64427d5f697ddd395: btrfs: fix incorrect comparison for delayed refs (2024-11-14 16:11:02 +0100) ---------------------------------------------------------------- Josef Bacik (1): btrfs: fix incorrect comparison for delayed refs fs/btrfs/delayed-ref.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) . Date: Thu, 14 Nov 2024 15:45:42 -1000 From: Tejun Heo To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, David Vernet Subject: [GIT PULL] sched_ext: One more fix for v6.12-rc7 The following changes since commit a6250aa251eacaf3ebfcfe152a96a727fd483ecd: sched_ext: Handle cases where pick_task_scx() is called without preceding balance_scx() (2024-11-09 10:43:55 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/ tags/sched_ext-for-6.12-rc7-fixes-2 for you to fetch changes up to a4af89cc50f3c1035c1e0dfb50948a23107f3e95: sched_ext: ops.cpu_acquire() should be called with SCX_KF_REST (2024-11-14 08:50:58 -1000) ---------------------------------------------------------------- sched_ext: One more fix for v6.12-rc7 ops.cpu_acquire() was being invoked with the wrong kfunc mask allowing the operation to call kfuncs which shouldn't be allowed. Fix it by using SCX_KF_REST instead, which is trivial and low risk. ---------------------------------------------------------------- Tejun Heo (1): sched_ext: ops.cpu_acquire() should be called with SCX_KF_REST kernel/sched/ext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- tejun . Date: Fri, 15 Nov 2024 10:59:40 +0100 From: Takashi Iwai To: Linus Torvalds Cc: Mark Brown , Liam Girdwood , Linux Sound Mailing List , Linux Kernel Mailing List Subject: [GIT PULL] sound fixes for 6.12 Linus, please pull sound fixes for v6.12 from: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-6.12 The topmost commit is 5ec23a1b53a98dbd7ea33954db5f0fe7110903aa ---------------------------------------------------------------- sound fixes for 6.12 A few last-minute fixes. All changes are device-specific small fixes that should be pretty safe to apply. ---------------------------------------------------------------- Deep Harsora (1): ASoC: intel: sof_sdw: add quirk for Dell SKU Eryk Zagorski (1): ALSA: usb-audio: Fix Yamaha P-125 Quirk Entry John Watts (1): ASoC: audio-graph-card2: Purge absent supplies for device tree nodes Kailang Yang (2): ALSA: hda/realtek - Fixed Clevo platform headset Mic issue ALSA: hda/realtek - update set GPIO3 to default for Thinkpad with ALC1318 Maksym Glubokiy (1): ALSA: hda/realtek: fix mute/micmute LEDs for a HP EliteBook 645 G10 Mark Brown (1): ASoC: max9768: Fix event generation for playback mute --- sound/pci/hda/patch_realtek.c | 13 +++++++++++-- sound/soc/codecs/max9768.c | 11 +++++++++-- sound/soc/generic/audio-graph-card2.c | 3 +++ sound/soc/intel/boards/sof_sdw.c | 8 ++++++++ sound/usb/quirks-table.h | 14 +++++++++++++- 5 files changed, 44 insertions(+), 5 deletions(-) . Date: Fri, 15 Nov 2024 11:00:42 +0100 From: Ulf Hansson To: Linus , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ulf Hansson Subject: [GIT PULL] MMC fixes for v6.12-rc8 Hi Linus, Here's a PR with a couple of MMC fixes intended for v6.12-rc8. Details about the highlights are as usual found in the signed tag. Please pull this in! Kind regards Ulf Hansson The following changes since commit c4dedaaeb3f78d3718e9c1b1e4d972a6b99073cd: mmc: sdhci-pci-gli: GL9767: Fix low power mode in the SD Express process (2024-10-28 12:30:27 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git tags/mmc-v6.12-rc3-2 for you to fetch changes up to 1635e407a4a64d08a8517ac59ca14ad4fc785e75: Revert "mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K" (2024-11-12 19:40:40 +0100) ---------------------------------------------------------------- MMC host: - dw_mmc: Revert fix for IDMAC operation with pages bigger than 4K - sunxi-mmc: Fix A100 compatible description ---------------------------------------------------------------- Andre Przywara (1): mmc: sunxi-mmc: Fix A100 compatible description Aurelien Jarno (1): Revert "mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K" drivers/mmc/host/dw_mmc.c | 4 ++-- drivers/mmc/host/sunxi-mmc.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) . Date: Fri, 15 Nov 2024 11:40:29 +0100 From: Ulf Hansson To: Linus , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Sudeep Holla , Ulf Hansson , linux-arm-kernel@lists.infradead.org Subject: [GIT PULL] pmdomain/arm_scmi fixes for v6.12-rc8 Hi Linus, Here's a PR with a couple of pmdomain and arm_scmi fixes intended for v6.12-rc8. Details about the highlights are as usual found in the signed tag. Please pull this in! Kind regards Ulf Hansson The following changes since commit 7738568885f2eaecfc10a3f530a2693e5f0ae3d0: PM: domains: Fix alloc/free in dev_pm_domain_attach|detach_list() (2024-10-10 13:55:17 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git tags/pmdomain-v6.12-rc1-2 for you to fetch changes up to d2fab3fc27cbca7ba65c539a2c5fc7f941231983: mailbox: qcom-cpucp: Mark the irq with IRQF_NO_SUSPEND flag (2024-11-12 19:45:25 +0100) ---------------------------------------------------------------- pmdomain core: - Add GENPD_FLAG_DEV_NAME_FW flag to generate unique names pmdomain providers: - arm: Use FLAG_DEV_NAME_FW to ensure unique names - imx93-blk-ctrl: Fix the remove path arm_scmi/qcom-cpucp: - Report duplicate OPPs as firmware bugs for arm_scmi - Skip OPP duplicates for arm_scmi - Mark the qcom-cpucp mailbox irq with IRQF_NO_SUSPEND flag ---------------------------------------------------------------- Cristian Marussi (1): firmware: arm_scmi: Skip opp duplicates Peng Fan (1): pmdomain: imx93-blk-ctrl: correct remove path Sibi Sankar (4): pmdomain: core: Add GENPD_FLAG_DEV_NAME_FW flag pmdomain: arm: Use FLAG_DEV_NAME_FW to ensure unique names firmware: arm_scmi: Report duplicate opps as firmware bugs mailbox: qcom-cpucp: Mark the irq with IRQF_NO_SUSPEND flag drivers/firmware/arm_scmi/perf.c | 44 +++++++++++++++++++++-------- drivers/mailbox/qcom-cpucp-mbox.c | 2 +- drivers/pmdomain/arm/scmi_perf_domain.c | 3 +- drivers/pmdomain/core.c | 49 +++++++++++++++++++++++---------- drivers/pmdomain/imx/imx93-blk-ctrl.c | 4 ++- include/linux/pm_domain.h | 6 ++++ 6 files changed, 78 insertions(+), 30 deletions(-) . Date: Fri, 15 Nov 2024 14:49:52 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs multigrain timestamps Hey Linus, /* Summary */ This is another try at implementing multigrain timestamps. This time with significant help from the timekeeping maintainers to reduce the performance impact. Thomas provided a base branch that contains the required timekeeping interfaces for the VFS. It serves as the base for the multi-grain timestamp work: - Multigrain timestamps allow the kernel to use fine-grained timestamps when an inode's attributes is being actively observed via ->getattr(). With this support, it's possible for a file to get a fine-grained timestamp, and another modified after it to get a coarse-grained stamp that is earlier than the fine-grained time. If this happens then the files can appear to have been modified in reverse order, which breaks VFS ordering guarantees. To prevent this, a floor value is maintained for multigrain timestamps. Whenever a fine-grained timestamp is handed out, record it, and when later coarse-grained stamps are handed out, ensure they are not earlier than that value. If the coarse-grained timestamp is earlier than the fine-grained floor, return the floor value instead. The timekeeper changes add a static singleton atomic64_t into timekeeper.c that is used to keep track of the latest fine-grained time ever handed out. This is tracked as a monotonic ktime_t value to ensure that it isn't affected by clock jumps. Because it is updated at different times than the rest of the timekeeper object, the floor value is managed independently of the timekeeper via a cmpxchg() operation, and sits on its own cacheline. Tow new public timekeeper interfaces are added: (1) ktime_get_coarse_real_ts64_mg() fills a timespec64 with the later of the coarse-grained clock and the floor time (2) ktime_get_real_ts64_mg() gets the fine-grained clock value, and tries to swap it into the floor. A timespec64 is filled with the result. - The VFS has always used coarse-grained timestamps when updating the ctime and mtime after a change. This has the benefit of allowing filesystems to optimize away a lot metadata updates, down to around 1 per jiffy, even when a file is under heavy writes. Unfortunately, this has always been an issue when we're exporting via NFSv3, which relies on timestamps to validate caches. A lot of changes can happen in a jiffy, so timestamps aren't sufficient to help the client decide when to invalidate the cache. Even with NFSv4, a lot of exported filesystems don't properly support a change attribute and are subject to the same problems with timestamp granularity. Other applications have similar issues with timestamps (e.g backup applications). If we were to always use fine-grained timestamps, that would improve the situation, but that becomes rather expensive, as the underlying filesystem would have to log a lot more metadata updates. This adds a way to only use fine-grained timestamps when they are being actively queried. Use the (unused) top bit in inode->i_ctime_nsec as a flag that indicates whether the current timestamps have been queried via stat() or the like. When it's set, we allow the kernel to use a fine-grained timestamp iff it's necessary to make the ctime show a different value. This solves the problem of being able to distinguish the timestamp between updates, but introduces a new problem: it's now possible for a file being changed to get a fine-grained timestamp. A file that is altered just a bit later can then get a coarse-grained one that appears older than the earlier fine-grained time. This violates timestamp ordering guarantees. This is where the earlier mentioned timkeeping interfaces help. A global monotonic atomic64_t value is kept that acts as a timestamp floor. When we go to stamp a file, we first get the latter of the current floor value and the current coarse-grained time. If the inode ctime hasn't been queried then we just attempt to stamp it with that value. If it has been queried, then first see whether the current coarse time is later than the existing ctime. If it is, then we accept that value. If it isn't, then we get a fine-grained time and try to swap that into the global floor. Whether that succeeds or fails, we take the resulting floor time, convert it to realtime and try to swap that into the ctime. We take the result of the ctime swap whether it succeeds or fails, since either is just as valid. Filesystems can opt into this by setting the FS_MGTIME fstype flag. Others should be unaffected (other than being subject to the same floor value as multigrain filesystems). /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc2 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ (1) linux-next: manual merge of the vfs-brauner tree with the btrfs tree https://lore.kernel.org/r/20241016085129.3954241d@canb.auug.org.au The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.mgtime for you to fetch changes up to 9fed2c0f2f0771b990d068ef0a2b32e770ae6d48: fs: reduce pointer chasing in is_mgtime() test (2024-11-14 10:45:53 +0100) Please consider pulling these changes from the signed vfs-6.13.mgtime tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.mgtime ---------------------------------------------------------------- Christian Brauner (2): Merge tag 'timers-core-for-vfs' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tip/tip into vfs.mgtime Merge patch series "timekeeping/fs: multigrain timestamp redux" Jeff Layton (13): fs: add infrastructure for multigrain timestamps fs: have setattr_copy handle multigrain timestamps appropriately timekeeping: Add interfaces for handling timestamps with a floor value timekeeping: Add percpu counter for tracking floor swap events fs: handle delegated timestamps in setattr_copy_mgtime fs: tracepoints around multigrain timestamp events fs: add percpu counters for significant multigrain timestamp events Documentation: add a new file documenting multigrain timestamps xfs: switch to multigrain timestamps ext4: switch to multigrain timestamps btrfs: convert to multigrain timestamps tmpfs: add support for multigrain timestamps fs: reduce pointer chasing in is_mgtime() test Documentation/filesystems/index.rst | 1 + Documentation/filesystems/multigrain-ts.rst | 125 ++++++++++++ fs/attr.c | 61 +++++- fs/btrfs/file.c | 25 +-- fs/btrfs/super.c | 3 +- fs/ext4/super.c | 2 +- fs/inode.c | 284 +++++++++++++++++++++++++--- fs/stat.c | 46 ++++- fs/xfs/libxfs/xfs_trans_inode.c | 6 +- fs/xfs/xfs_iops.c | 10 +- fs/xfs/xfs_super.c | 2 +- include/linux/fs.h | 37 +++- include/linux/timekeeping.h | 5 + include/trace/events/timestamp.h | 124 ++++++++++++ kernel/time/timekeeping.c | 105 ++++++++++ kernel/time/timekeeping_debug.c | 13 ++ kernel/time/timekeeping_internal.h | 15 ++ mm/shmem.c | 2 +- 18 files changed, 793 insertions(+), 73 deletions(-) create mode 100644 Documentation/filesystems/multigrain-ts.rst create mode 100644 include/trace/events/timestamp.h . Date: Fri, 15 Nov 2024 14:54:56 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs mount api conversions Hey Linus, /* Summary */ This contains work to convert adfs, affs, befs, hfs, hfsplus, jfs, and hpfs to the new mount api. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc2 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.mount.api for you to fetch changes up to 51ceeb1a8142537b9f65aeaac6c301560a948197: efs: fix the efs new mount api implementation (2024-10-15 15:58:36 +0200) Please consider pulling these changes from the signed vfs-6.13.mount.api tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.mount.api ---------------------------------------------------------------- Bill O'Donnell (1): efs: fix the efs new mount api implementation Christian Brauner (1): Merge patch series "adfs, affs, befs, hfs, hfsplus: convert to new mount api" David Howells (1): ubifs: Convert ubifs to use the new mount API Eric Sandeen (7): adfs: convert adfs to use the new mount api affs: convert affs to use the new mount api befs: convert befs to use the new mount api hfs: convert hfs to use the new mount api hfsplus: convert hfsplus to use the new mount api jfs: convert jfs to use the new mount api hpfs: convert hpfs to use the new mount api fs/adfs/super.c | 186 +++++++++---------- fs/affs/super.c | 374 +++++++++++++++++++------------------- fs/befs/linuxvfs.c | 199 ++++++++++---------- fs/efs/super.c | 43 +---- fs/hfs/super.c | 342 ++++++++++++++++------------------- fs/hfsplus/hfsplus_fs.h | 4 +- fs/hfsplus/options.c | 263 ++++++++++----------------- fs/hfsplus/super.c | 84 +++++---- fs/hpfs/super.c | 414 +++++++++++++++++++++--------------------- fs/jfs/jfs_filsys.h | 1 + fs/jfs/super.c | 469 +++++++++++++++++++++++++----------------------- fs/ubifs/super.c | 399 ++++++++++++++++++++-------------------- 12 files changed, 1346 insertions(+), 1432 deletions(-) . Date: Fri, 15 Nov 2024 14:56:11 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs misc Hey Linus, /* Summary */ Features: - Fixup and improve NLM and kNFSD file lock callbacks. Last year both GFS2 and OCFS2 had some work done to make their locking more robust when exported over NFS. Unfortunately, part of that work caused both NLM (for NFS v3 exports) and kNFSD (for NFSv4.1+ exports) to no longer send lock notifications to clients. This in itself is not a huge problem because most NFS clients will still poll the server in order to acquire a conflicted lock. Its important for NLM and kNFSD that they do not block their kernel threads inside filesystem's file_lock implementations because that can produce deadlocks. We used to make sure of this by only trusting that posix_lock_file() can correctly handle blocking lock calls asynchronously, so the lock managers would only setup their file_lock requests for async callbacks if the filesystem did not define its own lock() file operation. However, when GFS2 and OCFS2 grew the capability to correctly handle blocking lock requests asynchronously, they started signalling this behavior with EXPORT_OP_ASYNC_LOCK, and the check for also trusting posix_lock_file() was inadvertently dropped, so now most filesystems no longer produce lock notifications when exported over NFS. Fix this by using an fop_flag which greatly simplifies the problem and grooms the way for future uses by both filesystems and lock managers alike. - Add a sysctl to delete the dentry when a file is removed instead of making it a negative dentry. Commit 681ce8623567 ("vfs: Delete the associated dentry when deleting a file") introduced an unconditional deletion of the associated dentry when a file is removed. However, this led to performance regressions in specific benchmarks, such as ilebench.sum_operations/s, prompting a revert in commit 4a4be1ad3a6e ("Revert "vfs: Delete the associated dentry when deleting a file""). This reintroduces the concept conditionally through a sysctl. - Expand the statmount() system call: * Report the filesystem subtype in a new fs_subtype field to e.g., report fuse filesystem subtypes. * Report the superblock source in a new sb_source field. * Add a new way to return filesystem specific mount options in an option array that returns filesystem specific mount options separated by zero bytes and unescaped. This allows caller's to retrieve filesystem specific mount options and immediately pass them to e.g., fsconfig() without having to unescape or split them. * Report security (LSM) specific mount options in a separate security option array. We don't lump them together with filesystem specific mount options as security mount options are generic and most users aren't interested in them. The format is the same as for the filesystem specific mount option array. - Support relative paths in fsconfig()'s FSCONFIG_SET_STRING command. - Optimize acl_permission_check() to avoid costly {g,u}id ownership checks if possible. - Use smp_mb__after_spinlock() to avoid full smp_mb() in evict(). - Add synchronous wakeup support for ep_poll_callback. Currently, epoll only uses wake_up() to wake up task. But sometimes there are epoll users which want to use the synchronous wakeup flag to give a hint to the scheduler, e.g., the Android binder driver. So add a wake_up_sync() define, and use wake_up_sync() when sync is true in ep_poll_callback(). Fixes: - Fix kernel documentation for inode_insert5() and iget5_locked(). - Annotate racy epoll check on file->f_ep. - Make F_DUPFD_QUERY associative. - Avoid filename buffer overrun in initramfs. - Don't let statmount() return empty strings. - Add a cond_resched() to dump_user_range() to avoid hogging the CPU. - Don't query the device logical blocksize multiple times for hfsplus. - Make filemap_read() check that the offset is positive or zero. Cleanups: - Various typo fixes. - Cleanup wbc_attach_fdatawrite_inode(). - Add __releases annotation to wbc_attach_and_unlock_inode(). - Add hugetlbfs tracepoints. - Fix various vfs kernel doc parameters. - Remove obsolete TODO comment from io_cancel(). - Convert wbc_account_cgroup_owner() to take a folio. - Fix comments for BANDWITH_INTERVAL and wb_domain_writeout_add(). - Reorder struct posix_acl to save 8 bytes. - Annotate struct posix_acl with __counted_by(). - Replace one-element array with flexible array member in freevxfs. - Use idiomatic atomic64_inc_return() in alloc_mnt_ns(). /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc1 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. (1) linux-next: manual merge of the vfs-brauner tree with the nfsd tree https://lore.kernel.org/r/20241024081515.1cd254a0@canb.auug.org.au The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.misc for you to fetch changes up to aefff51e1c2986e16f2780ca8e4c97b784800ab5: statmount: retrieve security mount options (2024-11-14 17:03:25 +0100) Please consider pulling these changes from the signed vfs-6.13.misc tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.misc ---------------------------------------------------------------- Andreas Gruenbacher (1): vfs: inode insertion kdoc corrections Andrew Kreimer (1): fs/inode: Fix a typo Benjamin Coddington (4): fs: Introduce FOP_ASYNC_LOCK gfs2/ocfs2: set FOP_ASYNC_LOCK NLM/NFSD: Fix lock notifications for async-capable filesystems exportfs: Remove EXPORT_OP_ASYNC_LOCK Christian Brauner (7): Merge patch series "Fixup NLM and kNFSD file lock callbacks" Merge patch series "Introduce tracepoint for hugetlbfs" epoll: annotate racy check fcntl: make F_DUPFD_QUERY associative Merge patch series "fs: allow statmount to fetch the fs_subtype and sb_source" Merge patch series "two little writeback cleanups v2" statmount: retrieve security mount options Christoph Hellwig (2): writeback: add a __releases annoation to wbc_attach_and_unlock_inode writeback: wbc_attach_fdatawrite_inode out of line David Disseldorp (1): initramfs: avoid filename buffer overrun Hongbo Li (3): hugetlbfs: support tracepoint hugetlbfs: use tracepoints in hugetlbfs functions. fs: support relative paths with FSCONFIG_SET_STRING Jeff Layton (3): fs: don't let statmount return empty strings fs: add the ability for statmount() to report the fs_subtype fs: add the ability for statmount() to report the sb_source Julia Lawall (1): fs: Reorganize kerneldoc parameter names Linus Torvalds (1): fs: optimize acl_permission_check() Mateusz Guzik (1): vfs: make evict() use smp_mb__after_spinlock instead of smp_mb Miklos Szeredi (1): statmount: add flag to retrieve unescaped options Mohammed Anees (1): fs:aio: Remove TODO comment suggesting hash or array usage in io_cancel() Pankaj Raghav (1): fs/writeback: convert wbc_account_cgroup_owner to take a folio Rik van Riel (1): coredump: add cond_resched() to dump_user_range Tang Yizhou (2): mm/page-writeback.c: Update comment for BANDWIDTH_INTERVAL mm/page-writeback.c: Fix comment of wb_domain_writeout_add() Thadeu Lima de Souza Cascardo (1): hfsplus: don't query the device logical block size multiple times Thorsten Blum (3): acl: Realign struct posix_acl to save 8 bytes acl: Annotate struct posix_acl with __counted_by() freevxfs: Replace one-element array with flexible array member Trond Myklebust (1): filemap: filemap_read() should check that the offset is positive or zero Uros Bizjak (1): namespace: Use atomic64_inc_return() in alloc_mnt_ns() Xuewen Yan (1): epoll: Add synchronous wakeup support for ep_poll_callback Yafang Shao (1): vfs: Add a sysctl for automated deletion of dentry Documentation/admin-guide/cgroup-v2.rst | 2 +- Documentation/admin-guide/sysctl/fs.rst | 5 + Documentation/filesystems/nfs/exporting.rst | 7 -- MAINTAINERS | 1 + fs/aio.c | 1 - fs/btrfs/extent_io.c | 7 +- fs/btrfs/inode.c | 2 +- fs/buffer.c | 4 +- fs/char_dev.c | 2 +- fs/coredump.c | 1 + fs/dcache.c | 16 ++- fs/eventpoll.c | 11 +- fs/ext4/page-io.c | 2 +- fs/f2fs/data.c | 9 +- fs/fcntl.c | 3 + fs/freevxfs/vxfs_dir.h | 2 +- fs/fs-writeback.c | 40 +++++-- fs/fs_parser.c | 1 + fs/gfs2/export.c | 1 - fs/gfs2/file.c | 2 + fs/hfsplus/hfsplus_fs.h | 3 +- fs/hfsplus/wrapper.c | 2 + fs/hugetlbfs/inode.c | 17 ++- fs/inode.c | 29 +++-- fs/iomap/buffered-io.c | 2 +- fs/lockd/svclock.c | 7 +- fs/mpage.c | 2 +- fs/namei.c | 41 +++++++ fs/namespace.c | 161 ++++++++++++++++++++++++++-- fs/nfsd/nfs4state.c | 19 +--- fs/ocfs2/export.c | 1 - fs/ocfs2/file.c | 2 + fs/posix_acl.c | 13 ++- fs/seq_file.c | 2 +- include/linux/eventpoll.h | 2 +- include/linux/exportfs.h | 13 --- include/linux/filelock.h | 5 + include/linux/fs.h | 2 + include/linux/posix_acl.h | 6 +- include/linux/wait.h | 1 + include/linux/writeback.h | 32 +----- include/trace/events/hugetlbfs.h | 156 +++++++++++++++++++++++++++ include/uapi/linux/mount.h | 14 ++- init/initramfs.c | 15 +++ mm/filemap.c | 2 + mm/page-writeback.c | 4 +- 46 files changed, 531 insertions(+), 141 deletions(-) create mode 100644 include/trace/events/hugetlbfs.h . Date: Fri, 15 Nov 2024 14:57:25 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs rust file Hey Linus, /* Summary */ This contains the file abstractions needed by the Rust implementation of the Binder driver and other parts of the kernel. Let's treat this as a first attempt at getting something working but I do expect the actual interfaces to change significantly over time. Simply because we are still figuring out what actually works. But there's no point in further theorizing. Let's see how it holds up with actual users. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc2 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ (1) linux-next: manual merge of the rust tree with the vfs-brauner tree https://lore.kernel.org/r/20241004144202.24a9f0ef@canb.auug.org.au (2) linux-next: manual merge of the rust tree with the vfs-brauner tree https://lore.kernel.org/r/20241008165636.0e8d0d4e@canb.auug.org.au (3) linux-next: manual merge of the ftrace tree with the vfs-brauner tree https://lore.kernel.org/r/20241108135504.519ce71e@canb.auug.org.au The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.rust.file for you to fetch changes up to fe95f58320e6c8dcea3bcb01336b9a7fdd7f684b: rust: task: adjust safety comments in Task methods (2024-10-15 16:07:02 +0200) Please consider pulling these changes from the signed vfs-6.13.rust.file tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.rust.file ---------------------------------------------------------------- Alice Ryhl (7): rust: types: add `NotThreadSafe` rust: task: add `Task::current_raw` rust: security: add abstraction for secctx rust: file: add `Kuid` wrapper rust: file: add abstraction for `poll_table` rust: add seqfile abstraction rust: task: adjust safety comments in Task methods Christian Brauner (1): Merge patch series "File abstractions needed by Rust Binder" Wedson Almeida Filho (3): rust: file: add Rust abstraction for `struct file` rust: cred: add Rust abstraction for `struct cred` rust: file: add `FileDescriptorReservation` fs/file.c | 7 + rust/bindings/bindings_helper.h | 6 + rust/helpers/cred.c | 13 ++ rust/helpers/fs.c | 12 ++ rust/helpers/helpers.c | 3 + rust/helpers/security.c | 20 ++ rust/helpers/task.c | 38 ++++ rust/kernel/cred.rs | 85 ++++++++ rust/kernel/fs.rs | 8 + rust/kernel/fs/file.rs | 461 ++++++++++++++++++++++++++++++++++++++++ rust/kernel/lib.rs | 4 + rust/kernel/security.rs | 74 +++++++ rust/kernel/seq_file.rs | 52 +++++ rust/kernel/sync.rs | 1 + rust/kernel/sync/lock.rs | 13 +- rust/kernel/sync/poll.rs | 121 +++++++++++ rust/kernel/task.rs | 120 +++++++++-- rust/kernel/types.rs | 21 ++ 18 files changed, 1035 insertions(+), 24 deletions(-) create mode 100644 rust/helpers/cred.c create mode 100644 rust/helpers/fs.c create mode 100644 rust/helpers/security.c create mode 100644 rust/kernel/cred.rs create mode 100644 rust/kernel/fs.rs create mode 100644 rust/kernel/fs/file.rs create mode 100644 rust/kernel/security.rs create mode 100644 rust/kernel/seq_file.rs create mode 100644 rust/kernel/sync/poll.rs . Date: Fri, 15 Nov 2024 14:58:59 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs pagecache Hey Linus, /* Summary */ Cleanup filesystem page flag usage: This continues the work to make the mappedtodisk/owner_2 flag available to filesystems which don't use buffer heads. Further patches remove uses of Private2. This brings us very close to being rid of it entirely. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc1 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ (1) linux-next: manual merge of the vfs-brauner tree with the btrfs tree https://lore.kernel.org/r/20241101092212.1c112872@canb.auug.org.au The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.pagecache for you to fetch changes up to c6bbfc7ce1567eb7928f22d92b6ad34d8e4ea22b: Merge patch series "Filesystem page flags cleanup" (2024-10-04 09:24:28 +0200) Please consider pulling these changes from the signed vfs-6.13.pagecache tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.pagecache ---------------------------------------------------------------- Christian Brauner (1): Merge patch series "Filesystem page flags cleanup" Matthew Wilcox (Oracle) (6): fs: Move clearing of mappedtodisk to buffer.c nilfs2: Convert nilfs_copy_buffer() to use folios mm: Remove PageMappedToDisk btrfs: Switch from using the private_2 flag to owner_2 ceph: Remove call to PagePrivate2() migrate: Remove references to Private2 fs/btrfs/ctree.h | 13 ++++--------- fs/btrfs/inode.c | 8 ++++---- fs/btrfs/ordered-data.c | 4 ++-- fs/buffer.c | 1 + fs/ceph/addr.c | 20 ++++++++++---------- fs/nilfs2/page.c | 22 +++++++++++----------- include/linux/page-flags.h | 4 ++-- mm/migrate.c | 4 ++-- mm/truncate.c | 1 - 9 files changed, 36 insertions(+), 41 deletions(-) . Date: Fri, 15 Nov 2024 14:59:37 +0100 From: Johan Hovold To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] USB-serial updates for 6.13-rc1 The following changes since commit 59b723cd2adbac2a34fc8e12c74ae26ae45bf230: Linux 6.12-rc6 (2024-11-03 14:05:52 -1000) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-6.13-rc1 for you to fetch changes up to 8b524944f92ccad925b574f645e9c2709cf60d1e: USB: serial: ftdi_sio: Fix atomicity violation in get_serial_info() (2024-11-07 17:21:10 +0100) ---------------------------------------------------------------- USB-serial updates for 6.13-rc1 Here are the USB-serial updates for 6.13-rc1, including: - improved support for quirky pl2303 hxd devices - make sure ftdi_sio TIOCGSERIAL returns consistent data Everything has been in linux-next with no reported issues. ---------------------------------------------------------------- Jan Kiszka (1): USB: serial: pl2303: account for deficits of clones Qiu-ji Chen (1): USB: serial: ftdi_sio: Fix atomicity violation in get_serial_info() drivers/usb/serial/ftdi_sio.c | 2 ++ drivers/usb/serial/pl2303.c | 38 +++++++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) . Date: Fri, 15 Nov 2024 15:00:21 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs netfs Hey Linus, A pidfs patch ended up in the branch and I didn't notice it. I decided to leave it in here instead of rebasing the whole branch. /* Summary */ This contains various fixes for the netfs library and related filesystems and infrastructure: afs: - Fix missing wire-up of afs_retry_request(). - Fix the setting of the server responding flag in afs. - Fix possible infinite loop with unresponsive servers. - Remove unused struct and function prototype. cachefiles: - Fix a dentry leak in cachefiles_open_file(). - Fix incorrect length return value in cachefiles_ondemand_fd_write_iter(). - Fix missing pos updates in cachefiles_ondemand_fd_write_iter(). - Clean up in cachefiles_commit_tmpfile(). - Fix NULL pointer dereference in object->file. - Add a memory barrier for FSCACHE_VOLUME_CREATING. netfs: - Advance iterator correctly rather than jumping it. - Add folio_queue API documentation. - Fix the netfs_folio tracepoint to handle NULL mapping. - Remove call to folio_index(). - Fix a few minor bugs in netfs_page_mkwrite(). - Remove unnecessary references to pages. pidfs: - Check for valid pid namespace. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc1 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.netfs for you to fetch changes up to a4b2923376be062a243ac38762212a38485cfab1: Merge patch series "fscache/cachefiles: Some bugfixes" (2024-11-11 14:39:39 +0100) Please consider pulling these changes from the signed vfs-6.13.netfs tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.netfs ---------------------------------------------------------------- Baokun Li (1): cachefiles: fix dentry leak in cachefiles_open_file() Christian Brauner (3): pidfs: check for valid pid namespace Merge patch series "Random netfs folio fixes" Merge patch series "fscache/cachefiles: Some bugfixes" David Howells (5): afs: Fix missing wire-up of afs_retry_request() afs: Fix the setting of the server responding flag netfs: Advance iterator correctly rather than jumping it netfs: Add folio_queue API documentation netfs: Fix the netfs_folio tracepoint to handle NULL mapping Marc Dionne (1): afs: Fix possible infinite loop with unresponsive servers Matthew Wilcox (Oracle) (3): netfs: Remove call to folio_index() netfs: Fix a few minor bugs in netfs_page_mkwrite() netfs: Remove unnecessary references to pages Thorsten Blum (1): afs: Remove unused struct and function prototype Zizhi Wo (5): cachefiles: Fix incorrect length return value in cachefiles_ondemand_fd_write_iter() cachefiles: Fix missing pos updates in cachefiles_ondemand_fd_write_iter() cachefiles: Clean up in cachefiles_commit_tmpfile() cachefiles: Fix NULL pointer dereference in object->file netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING Documentation/core-api/folio_queue.rst | 212 +++++++++++++++++++++++++++++++++ fs/afs/afs_vl.h | 9 -- fs/afs/file.c | 1 + fs/afs/fs_operation.c | 2 +- fs/afs/fs_probe.c | 4 +- fs/afs/rotate.c | 11 +- fs/cachefiles/interface.c | 14 ++- fs/cachefiles/namei.c | 12 +- fs/cachefiles/ondemand.c | 38 ++++-- fs/netfs/buffered_read.c | 8 +- fs/netfs/buffered_write.c | 41 ++++--- fs/netfs/fscache_volume.c | 3 +- fs/netfs/write_issue.c | 12 +- fs/pidfs.c | 5 +- include/linux/folio_queue.h | 168 ++++++++++++++++++++++++++ include/trace/events/netfs.h | 5 +- 16 files changed, 475 insertions(+), 70 deletions(-) create mode 100644 Documentation/core-api/folio_queue.rst . Date: Fri, 15 Nov 2024 15:02:02 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs file Hey Linus, /* Summary */ This contains changes the changes for files for this cycle: - Introduce a new reference counting mechanism for files. As atomic_inc_not_zero() is implemented with a try_cmpxchg() loop it has O(N^2) behaviour under contention with N concurrent operations and it is in a hot path in __fget_files_rcu(). The rcuref infrastructures remedies this problem by using an unconditional increment relying on safe- and dead zones to make this work and requiring rcu protection for the data structure in question. This not just scales better it also introduces overflow protection. However, in contrast to generic rcuref, files require a memory barrier and thus cannot rely on *_relaxed() atomic operations and also require to be built on atomic_long_t as having massive amounts of reference isn't unheard of even if it is just an attack. This adds a file specific variant instead of making this a generic library. This has been tested by various people and it gives consistent improvement up to 3-5% on workloads with loads of threads. - Add a fastpath for find_next_zero_bit(). Skip 2-levels searching via find_next_zero_bit() when there is a free slot in the word that contains the next fd. This improves pts/blogbench-1.1.0 read by 8% and write by 4% on Intel ICX 160. - Conditionally clear full_fds_bits since it's very likely that a bit in full_fds_bits has been cleared during __clear_open_fds(). This improves pts/blogbench-1.1.0 read up to 13%, and write up to 5% on Intel ICX 160. - Get rid of all lookup_*_fdget_rcu() variants. They were used to lookup files without taking a reference count. That became invalid once files were switched to SLAB_TYPESAFE_BY_RCU and now we're always taking a reference count. Switch to an already existing helper and remove the legacy variants. - Remove pointless includes of . - Avoid cmpxchg() in close_files() as nobody else has a reference to the files_struct at that point. - Move close_range() into fs/file.c and fold __close_range() into it. - Cleanup calling conventions of alloc_fdtable() and expand_files(). - Merge __{set,clear}_close_on_exec() into one. - Make __set_open_fd() set cloexec as well instead of doing it in two separate steps. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc2 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.file for you to fetch changes up to aab154a442f9ba2a08fc130dbc8d178a33e10345: selftests: add file SLAB_TYPESAFE_BY_RCU recycling stressor (2024-10-30 09:58:02 +0100) Please consider pulling these changes from the signed vfs-6.13.file tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.file ---------------------------------------------------------------- Al Viro (8): get rid of ...lookup...fdget_rcu() family remove pointless includes of close_files(): don't bother with xchg() move close_range(2) into fs/file.c, fold __close_range() into it alloc_fdtable(): change calling conventions. file.c: merge __{set,clear}_close_on_exec() make __set_open_fd() set cloexec state as well expand_files(): simplify calling conventions Christian Brauner (6): fs: protect backing files with rcu fs: add file_ref fs: port files to file_ref Merge patch series "fs: introduce file_ref_t" Merge branch 'work.fdtable' into vfs.file selftests: add file SLAB_TYPESAFE_BY_RCU recycling stressor Yu Ma (3): fs/file.c: remove sanity_check and add likely/unlikely in alloc_fd() fs/file.c: conditionally clear full_fds fs/file.c: add fast path in find_next_fd() arch/powerpc/platforms/cell/spufs/coredump.c | 4 +- drivers/gpu/drm/i915/gt/shmem_utils.c | 2 +- drivers/gpu/drm/vmwgfx/ttm_object.c | 2 +- fs/eventpoll.c | 2 +- fs/fcntl.c | 1 - fs/file.c | 281 +++++++++++---------- fs/file_table.c | 50 +++- fs/gfs2/glock.c | 12 +- fs/notify/dnotify/dnotify.c | 5 +- fs/notify/fanotify/fanotify.c | 1 - fs/notify/fanotify/fanotify_user.c | 1 - fs/open.c | 17 -- fs/overlayfs/copy_up.c | 1 - fs/proc/base.c | 1 - fs/proc/fd.c | 12 +- include/linux/fdtable.h | 5 - include/linux/file.h | 1 + include/linux/file_ref.h | 177 +++++++++++++ include/linux/fs.h | 10 +- io_uring/io_uring.c | 1 - kernel/bpf/bpf_inode_storage.c | 1 - kernel/bpf/bpf_task_storage.c | 1 - kernel/bpf/task_iter.c | 6 +- kernel/bpf/token.c | 1 - kernel/exit.c | 1 - kernel/kcmp.c | 4 +- kernel/module/dups.c | 1 - kernel/module/kmod.c | 1 - kernel/umh.c | 1 - net/handshake/request.c | 1 - security/apparmor/domain.c | 1 - tools/testing/selftests/filesystems/.gitignore | 1 + tools/testing/selftests/filesystems/Makefile | 2 +- .../testing/selftests/filesystems/file_stressor.c | 194 ++++++++++++++ 34 files changed, 576 insertions(+), 226 deletions(-) create mode 100644 include/linux/file_ref.h create mode 100644 tools/testing/selftests/filesystems/file_stressor.c . Date: Fri, 15 Nov 2024 15:03:18 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs overlayfs Hey Linus, /* Summary */ Make overlayfs support specifying layers through file descriptors. Currently overlayfs only allows specifying layers through path names. This is inconvenient for users that want to assemble an overlayfs mount purely based on file descriptors: This enables user to specify both: fsconfig(fd_overlay, FSCONFIG_SET_FD, "upperdir+", NULL, fd_upper); fsconfig(fd_overlay, FSCONFIG_SET_FD, "workdir+", NULL, fd_work); fsconfig(fd_overlay, FSCONFIG_SET_FD, "lowerdir+", NULL, fd_lower1); fsconfig(fd_overlay, FSCONFIG_SET_FD, "lowerdir+", NULL, fd_lower2); in addition to: fsconfig(fd_overlay, FSCONFIG_SET_STRING, "upperdir+", "/upper", 0); fsconfig(fd_overlay, FSCONFIG_SET_STRING, "workdir+", "/work", 0); fsconfig(fd_overlay, FSCONFIG_SET_STRING, "lowerdir+", "/lower1", 0); fsconfig(fd_overlay, FSCONFIG_SET_STRING, "lowerdir+", "/lower2", 0); There's also a large set of new overlayfs selftests to test new features and some older properties. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc3 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 8e929cb546ee42c9a61d24fae60605e9e3192354: Linux 6.12-rc3 (2024-10-13 14:33:32 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.ovl for you to fetch changes up to d59dfd625a8bae3bfc527dd61f24750c4f87266c: selftests: add test for specifying 500 lower layers (2024-10-15 14:39:35 +0200) Please consider pulling these changes from the signed vfs-6.13.ovl tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.ovl ---------------------------------------------------------------- Christian Brauner (7): fs: add helper to use mount option as path or fd ovl: specify layers via file descriptors Documentation,ovl: document new file descriptor based layers selftests: use shared header selftests: add overlayfs fd mounting selftests Merge patch series "ovl: file descriptors based layer setup" selftests: add test for specifying 500 lower layers Documentation/filesystems/overlayfs.rst | 17 ++ fs/fs_parser.c | 20 ++ fs/overlayfs/params.c | 116 ++++++++--- include/linux/fs_parser.h | 5 +- .../selftests/filesystems/overlayfs/.gitignore | 1 + .../selftests/filesystems/overlayfs/Makefile | 2 +- .../selftests/filesystems/overlayfs/dev_in_maps.c | 27 +-- .../filesystems/overlayfs/set_layers_via_fds.c | 217 +++++++++++++++++++++ .../selftests/filesystems/overlayfs/wrappers.h | 47 +++++ 9 files changed, 399 insertions(+), 53 deletions(-) create mode 100644 tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c create mode 100644 tools/testing/selftests/filesystems/overlayfs/wrappers.h . Date: Fri, 15 Nov 2024 15:04:33 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs pidfs Hey Linus, /* Summary */ This adds a new ioctl to retrieve information about a pidfd. A common pattern when using pidfds is having to get information about the process, which currently requires /proc being mounted, resolving the fd to a pid, and then do manual string parsing of /proc/N/status and friends. This needs to be reimplemented over and over in all userspace projects (e.g.: it has been reimplemented in systemd, dbus, dbus-daemon, polkit so far), and requires additional care in checking that the fd is still valid after having parsed the data, to avoid races. Having a programmatic API that can be used directly removes all these requirements, including having /proc mounted. As discussed at LPC24, add an ioctl with an extensible struct so that more parameters can be added later if needed. Start with returning pid/tgid/ppid and some creds unconditionally, and cgroupid optionally. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc3 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 8e929cb546ee42c9a61d24fae60605e9e3192354: Linux 6.12-rc3 (2024-10-13 14:33:32 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.pidfs for you to fetch changes up to cdda1f26e74bac732eca537a69f19f6a37b641be: pidfd: add ioctl to retrieve pid info (2024-10-24 13:54:51 +0200) Please consider pulling these changes from the signed vfs-6.13.pidfs tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.pidfs ---------------------------------------------------------------- Luca Boccassi (1): pidfd: add ioctl to retrieve pid info fs/pidfs.c | 86 ++++++++++++++++++++++++- include/uapi/linux/pidfd.h | 50 ++++++++++++++ tools/testing/selftests/pidfd/pidfd_open_test.c | 82 ++++++++++++++++++++++- 3 files changed, 214 insertions(+), 4 deletions(-) . Date: Fri, 15 Nov 2024 15:05:46 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs copy_struct_to_user() Hey Linus, /* Summary */ This adds a copy_struct_to_user() helper which is a companion helper to the already widely used copy_struct_from_user(). It copies a struct from kernel space to userspace, in a way that guarantees backwards-compatibility for struct syscall arguments as long as future struct extensions are made such that all new fields are appended to the old struct, and zeroed-out new fields have the same meaning as the old struct. The first user is sched_getattr() system call but once the pidfs updates for this cycle have landed the new extensible ioctl will be ported to it as well. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc3 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 8e929cb546ee42c9a61d24fae60605e9e3192354: Linux 6.12-rc3 (2024-10-13 14:33:32 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.usercopy for you to fetch changes up to 112cca098a7010c02a4d535a253af72e4e5bbd06: sched_getattr: port to copy_struct_to_user (2024-10-21 16:51:31 +0200) Please consider pulling these changes from the signed vfs-6.13.usercopy tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.usercopy ---------------------------------------------------------------- Aleksa Sarai (2): uaccess: add copy_struct_to_user helper sched_getattr: port to copy_struct_to_user include/linux/uaccess.h | 97 +++++++++++++++++++++++++++++++++++++++++++++++++ kernel/sched/syscalls.c | 42 +-------------------- 2 files changed, 99 insertions(+), 40 deletions(-) . Date: Fri, 15 Nov 2024 15:06:58 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs tmpfs Hey Linus, /* Summary */ This adds case-insensitive support for tmpfs. The work contained in here adds support for case-insensitive file names lookups in tmpfs. The main difference from other casefold filesystems is that tmpfs has no information on disk, just on RAM, so we can't use mkfs to create a case-insensitive tmpfs. For this implementation, there's a mount option for casefolding. The rest of the patchset follows a similar approach as ext4 and f2fs. The use case for this feature is similar to the use case for ext4, to better support compatibility layers (like Wine), particularly in combination with sandboxing/container tools (like Flatpak). Those containerization tools can share a subset of the host filesystem with an application. In the container, the root directory and any parent directories required for a shared directory are on tmpfs, with the shared directories bind-mounted into the container's view of the filesystem. If the host filesystem is using case-insensitive directories, then the application can do lookups inside those directories in a case-insensitive way, without this needing to be implemented in user-space. However, if the host is only sharing a subset of a case-insensitive directory with the application, then the parent directories of the mount point will be part of the container's root tmpfs. When the application tries to do case-insensitive lookups of those parent directories on a case-sensitive tmpfs, the lookup will fail. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc4 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. This will have a minor merge conflict with the vfs-6.13.file pull request I sent as: https://lore.kernel.org/r/20241115-vfs-file-f2297d7c58ee@brauner The resolution for the conflict should look like this: diff --cc include/linux/fs.h index 3e53ba079f17,001d580af862..eae7ce884030 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@@ -45,7 -45,7 +45,8 @@@ #include #include #include +#include + #include The following changes since commit 42f7652d3eb527d03665b09edac47f85fb600924: Linux 6.12-rc4 (2024-10-20 15:19:38 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.tmpfs for you to fetch changes up to 552b15103db404c7971d4958e6e28d4e7123a325: Merge patch series "tmpfs: Casefold fixes" (2024-11-06 11:22:30 +0100) Please consider pulling these changes from the signed vfs-6.13.tmpfs tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.tmpfs ---------------------------------------------------------------- André Almeida (12): libfs: Create the helper function generic_ci_validate_strict_name() ext4: Use generic_ci_validate_strict_name helper unicode: Export latest available UTF-8 version number unicode: Recreate utf8_parse_version() libfs: Export generic_ci_ dentry functions tmpfs: Add casefold lookup support tmpfs: Add flag FS_CASEFOLD_FL support for tmpfs dirs tmpfs: Expose filesystem features via sysfs docs: tmpfs: Add casefold options libfs: Fix kernel-doc warning in generic_ci_validate_strict_name tmpfs: Fix type for sysfs' casefold attribute tmpfs: Initialize sysfs during tmpfs init Christian Brauner (2): Merge patch series "tmpfs: Add case-insensitive support for tmpfs" Merge patch series "tmpfs: Casefold fixes" Documentation/filesystems/tmpfs.rst | 24 ++++ fs/ext4/namei.c | 5 +- fs/libfs.c | 12 +- fs/unicode/utf8-core.c | 26 ++++ fs/unicode/utf8-selftest.c | 3 - include/linux/fs.h | 49 +++++++ include/linux/shmem_fs.h | 6 +- include/linux/unicode.h | 4 + mm/shmem.c | 265 ++++++++++++++++++++++++++++++++++-- 9 files changed, 371 insertions(+), 23 deletions(-) . Date: Fri, 15 Nov 2024 15:08:10 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs ecryptfs Hey Linus, /* Summary */ The folio project is about to remove page->index. This pull request contains the work required for ecryptfs. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc5 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known merge conflicts. Merge conflicts with other trees ================================ The following changes since commit 81983758430957d9a5cb3333fe324fd70cf63e7e: Linux 6.12-rc5 (2024-10-27 12:52:02 -1000) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.ecryptfs for you to fetch changes up to b4201b51d93eac77f772298a96bfedbdb0c7150c: Merge patch series "Convert ecryptfs to use folios" (2024-11-05 17:20:17 +0100) Please consider pulling these changes from the signed vfs-6.13.ecryptfs tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.ecryptfs ---------------------------------------------------------------- Christian Brauner (1): Merge patch series "Convert ecryptfs to use folios" Matthew Wilcox (Oracle) (10): ecryptfs: Convert ecryptfs_writepage() to ecryptfs_writepages() ecryptfs: Use a folio throughout ecryptfs_read_folio() ecryptfs: Convert ecryptfs_copy_up_encrypted_with_header() to take a folio ecryptfs: Convert ecryptfs_read_lower_page_segment() to take a folio ecryptfs: Convert ecryptfs_write() to use a folio ecryptfs: Convert ecryptfs_write_lower_page_segment() to take a folio ecryptfs: Convert ecryptfs_encrypt_page() to take a folio ecryptfs: Convert ecryptfs_decrypt_page() to take a folio ecryptfs: Convert lower_offset_for_page() to take a folio ecryptfs: Pass the folio index to crypt_extent() fs/ecryptfs/crypto.c | 35 ++++++----- fs/ecryptfs/ecryptfs_kernel.h | 9 ++- fs/ecryptfs/mmap.c | 136 ++++++++++++++++++------------------------ fs/ecryptfs/read_write.c | 50 ++++++++-------- 4 files changed, 105 insertions(+), 125 deletions(-) . Date: Fri, 15 Nov 2024 15:09:21 +0100 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs untorn writes Hey Linus, /* Summary */ An atomic write is a write issed with torn-write protection. This means for a power failure or any hardware failure all or none of the data from the write will be stored, never a mix of old and new data. This work is already supported for block devices. If a block device is opened with O_DIRECT and the block device supports atomic write, then FMODE_CAN_ATOMIC_WRITE is added to the file of the opened block device. This pull request contains the work to expand atomic write support to filesystems, specifically ext4 and XFS. Currently, only support for writing exactly one filesystem block atomically is added. Since it's now possible to have filesystem block size > page size for XFS, it's possible to write 4K+ blocks atomically on x86. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) All patches are based on v6.12-rc1 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.untorn.writes for you to fetch changes up to 54079430c5dbf041363ab39a0c254cd9e4f6aed5: iomap: drop an obsolete comment in iomap_dio_bio_iter (2024-11-11 14:35:06 +0100) Please consider pulling these changes from the signed vfs-6.13.untorn.writes tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.untorn.writes ---------------------------------------------------------------- Christian Brauner (1): Merge tag 'fs-atomic_2024-11-05' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into vfs.untorn.writes Christoph Hellwig (1): iomap: drop an obsolete comment in iomap_dio_bio_iter John Garry (8): block/fs: Pass an iocb to generic_atomic_write_valid() fs/block: Check for IOCB_DIRECT in generic_atomic_write_valid() block: Add bdev atomic write limits helpers fs: Export generic_atomic_write_valid() fs: iomap: Atomic write support xfs: Support atomic write for statx xfs: Validate atomic writes xfs: Support setting FMODE_CAN_ATOMIC_WRITE Ritesh Harjani (IBM) (4): ext4: Add statx support for atomic writes ext4: Check for atomic writes support in write iter ext4: Support setting FMODE_CAN_ATOMIC_WRITE ext4: Do not fallback to buffered-io for DIO atomic write Documentation/filesystems/iomap/operations.rst | 15 +++++++++ block/fops.c | 22 +++++++------ fs/ext4/ext4.h | 10 ++++++ fs/ext4/file.c | 24 ++++++++++++++ fs/ext4/inode.c | 39 ++++++++++++++++++++--- fs/ext4/super.c | 31 +++++++++++++++++++ fs/iomap/direct-io.c | 43 ++++++++++++++++++++------ fs/iomap/trace.h | 3 +- fs/read_write.c | 16 ++++++---- fs/xfs/xfs_buf.c | 7 +++++ fs/xfs/xfs_buf.h | 4 +++ fs/xfs/xfs_file.c | 16 ++++++++++ fs/xfs/xfs_inode.h | 15 +++++++++ fs/xfs/xfs_iops.c | 22 +++++++++++++ include/linux/blkdev.h | 16 ++++++++++ include/linux/fs.h | 2 +- include/linux/iomap.h | 1 + 17 files changed, 254 insertions(+), 32 deletions(-) . Date: Fri, 15 Nov 2024 15:22:30 +0100 From: Vlastimil Babka To: Linus Torvalds Cc: David Rientjes , Christoph Lameter , Andrew Morton , "linux-mm@kvack.org" , LKML , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com> Subject: [GIT PULL] slab updates for 6.13 Hi Linus, please pull the latest slab updates from: git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-6.13 One new feature and non-critical fixes (mostly related to debugging). No conflicts to be expected, AFAIK. Thanks, Vlastimil ====================================== - Add new slab_strict_numa boot parameter to enforce per-object memory policies on top of slab folio policies, for systems where saving cost of remote accesses is more important than minimizing slab allocation overhead (Christoph Lameter) - krealloc() fixes for not violating __GFP_ZERO guarantees on krealloc() when slub_debug (redzone and object tracking) is enabled (Feng Tang) - Fix a memory leak in case sysfs registration fails for a slab cache, and also no longer fail to create the cache in that case (Hyeonggon Yoo) - Fix handling of detected consistency problems (due to buggy slab user) with slub_debug enabled, so that it does not cause further list corruption bugs (yuan.gao) - Code cleanup and kerneldocs polishing (Zhen Lei, Vlastimil Babka) ---------------------------------------------------------------- Christoph Lameter (1): SLUB: Add support for per object memory policies Feng Tang (5): mm/kasan: Don't store metadata inside kmalloc object when slub_debug_orig_size is on mm/slub: Move krealloc() and related code to slub.c mm/slub: Consider kfence case for get_orig_size() mm/slub: Improve redzone check and zeroing for krealloc() mm/slub, kunit: Add testcase for krealloc redzone and zeroing Hyeonggon Yoo (1): mm/slab: Allow cache creation to proceed even if sysfs registration fails Vlastimil Babka (2): mm, slab: add kerneldocs for common SLAB_ flags Merge branch 'slab/for-6.13/features' into slab/for-next Zhen Lei (1): mm/slab: remove duplicate check in create_cache() yuan.gao (1): mm/slub: Avoid list corruption when removing a slab from the full list Documentation/admin-guide/kernel-parameters.txt | 10 ++ Documentation/mm/slub.rst | 9 + include/linux/slab.h | 60 ++++--- lib/slub_kunit.c | 42 +++++ mm/kasan/generic.c | 7 +- mm/slab.h | 11 ++ mm/slab_common.c | 101 ++--------- mm/slub.c | 212 +++++++++++++++++++++--- 8 files changed, 320 insertions(+), 132 deletions(-) . Date: Fri, 15 Nov 2024 07:38:59 -0800 (PST) From: Palmer Dabbelt To: Linus Torvalds Subject: [GIT PULL] A Single RISC-V Fix for 6.12-rc8 The following changes since commit 59b723cd2adbac2a34fc8e12c74ae26ae45bf230: Linux 6.12-rc6 (2024-11-03 14:05:52 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-6.12-rc8 for you to fetch changes up to 57f7c7dc78cd09622b12920d92b40c1ce11b234e: drivers: perf: Fix wrong put_cpu() placement (2024-11-12 07:34:27 -0800) ---------------------------------------------------------------- A Single RISC-V Fix for 6.12-rc8 * A fix for the CPU perf driver that avoids leaking CPU ID references on systems without snapshot support. ---------------------------------------------------------------- Alexandre Ghiti (1): drivers: perf: Fix wrong put_cpu() placement drivers/perf/riscv_pmu_sbi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv . Date: Fri, 15 Nov 2024 15:02:09 +0000 From: Al Viro To: Linus Torvalds Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [git pull] struct fd series The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-fd for you to fetch changes up to 38052c2dd71f5490f34bba21dc358e97fb205ee5: deal with the last remaing boolean uses of fd_file() (2024-11-03 01:28:07 -0500) ---------------------------------------------------------------- the bulk of struct fd memory safety stuff Making sure that struct fd instances are destroyed in the same scope where they'd been created, getting rid of reassignments and passing them by reference, converting to CLASS(fd{,_pos,_raw}). We are getting very close to having the memory safety of that stuff trivial to verify. Signed-off-by: Al Viro ---------------------------------------------------------------- Al Viro (28): net/socket.c: switch to CLASS(fd) regularize emptiness checks in fini_module(2) and vfs_dedupe_file_range() timerfd: switch to CLASS(fd) get rid of perf_fget_light(), convert kernel/events/core.c to CLASS(fd) switch netlink_getsockbyfilp() to taking descriptor do_mq_notify(): saner skb freeing on failures do_mq_notify(): switch to CLASS(fd) simplify xfs_find_handle() a bit convert vmsplice() to CLASS(fd) fdget_raw() users: switch to CLASS(fd_raw) introduce "fd_pos" class, convert fdget_pos() users to it. o2hb_region_dev_store(): avoid goto around fdget()/fdput() privcmd_ioeventfd_assign(): don't open-code eventfd_ctx_fdget() fdget(), trivial conversions fdget(), more trivial conversions convert do_preadv()/do_pwritev() convert cachestat(2) switch spufs_calls_{get,put}() to CLASS() use convert spu_run(2) convert media_request_get_by_fd() convert cifs_ioctl_copychunk() convert vfs_dedupe_file_range(). convert do_select() do_pollfd(): convert to CLASS(fd) assorted variants of irqfd setup: convert to CLASS(fd) memcg_write_event_control(): switch to CLASS(fd) css_set_fork(): switch to CLASS(fd_raw, ...) deal with the last remaing boolean uses of fd_file() arch/alpha/kernel/osf_sys.c | 5 +- arch/arm/kernel/sys_oabi-compat.c | 10 +- arch/powerpc/kvm/book3s_64_vio.c | 21 +- arch/powerpc/kvm/powerpc.c | 24 +-- arch/powerpc/platforms/cell/spu_syscalls.c | 68 +++---- arch/x86/kernel/cpu/sgx/main.c | 10 +- arch/x86/kvm/svm/sev.c | 39 ++-- drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 23 +-- drivers/gpu/drm/drm_syncobj.c | 9 +- drivers/infiniband/core/ucma.c | 19 +- drivers/infiniband/core/uverbs_cmd.c | 8 +- drivers/media/mc/mc-request.c | 18 +- drivers/media/rc/lirc_dev.c | 13 +- drivers/vfio/group.c | 6 +- drivers/vfio/virqfd.c | 16 +- drivers/virt/acrn/irqfd.c | 13 +- drivers/xen/privcmd.c | 28 +-- fs/btrfs/ioctl.c | 5 +- fs/eventfd.c | 9 +- fs/eventpoll.c | 38 ++-- fs/ext4/ioctl.c | 21 +- fs/f2fs/file.c | 15 +- fs/fcntl.c | 42 ++-- fs/fhandle.c | 5 +- fs/fsopen.c | 19 +- fs/fuse/dev.c | 6 +- fs/ioctl.c | 23 +-- fs/kernel_read_file.c | 12 +- fs/locks.c | 15 +- fs/namei.c | 13 +- fs/namespace.c | 47 ++--- fs/notify/fanotify/fanotify_user.c | 44 ++--- fs/notify/inotify/inotify_user.c | 38 ++-- fs/ocfs2/cluster/heartbeat.c | 24 +-- fs/open.c | 61 +++--- fs/quota/quota.c | 12 +- fs/read_write.c | 145 +++++--------- fs/readdir.c | 28 +-- fs/remap_range.c | 11 +- fs/select.c | 48 ++--- fs/signalfd.c | 9 +- fs/smb/client/ioctl.c | 11 +- fs/splice.c | 78 +++----- fs/statfs.c | 12 +- fs/sync.c | 29 ++- fs/timerfd.c | 40 ++-- fs/utimes.c | 11 +- fs/xfs/xfs_exchrange.c | 18 +- fs/xfs/xfs_handle.c | 16 +- fs/xfs/xfs_ioctl.c | 69 ++----- include/linux/cleanup.h | 2 +- include/linux/file.h | 7 +- include/linux/netlink.h | 2 +- io_uring/sqpoll.c | 29 +-- ipc/mqueue.c | 109 +++-------- kernel/cgroup/cgroup.c | 21 +- kernel/events/core.c | 63 ++---- kernel/module/main.c | 15 +- kernel/nsproxy.c | 5 +- kernel/pid.c | 20 +- kernel/signal.c | 29 +-- kernel/sys.c | 15 +- kernel/taskstats.c | 18 +- kernel/watch_queue.c | 6 +- mm/fadvise.c | 10 +- mm/filemap.c | 17 +- mm/memcontrol-v1.c | 44 ++--- mm/readahead.c | 17 +- net/core/net_namespace.c | 10 +- net/netlink/af_netlink.c | 9 +- net/socket.c | 303 +++++++++++++---------------- security/integrity/ima/ima_main.c | 7 +- security/landlock/syscalls.c | 45 ++--- security/loadpin/loadpin.c | 8 +- sound/core/pcm_native.c | 2 +- virt/kvm/eventfd.c | 15 +- virt/kvm/vfio.c | 14 +- 77 files changed, 751 insertions(+), 1395 deletions(-) . Date: Fri, 15 Nov 2024 15:08:06 +0000 From: Al Viro To: Linus Torvalds Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [git pull] xattr stuff The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc: Linux 6.12-rc1 (2024-09-29 15:06:19 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-xattr for you to fetch changes up to 46a7fcec097da5b3188dce608362fe6bf4ea26ee: xattr: remove redundant check on variable err (2024-11-06 13:00:01 -0500) ---------------------------------------------------------------- sanitize xattr and io_uring interactions with it, add *xattrat() syscalls, sanitize struct filename handling in there. Signed-off-by: Al Viro ---------------------------------------------------------------- Al Viro (9): teach filename_lookup() to treat NULL filename as "" getname_maybe_null() - the third variant of pathname copy-in io_[gs]etxattr_prep(): just use getname() xattr: switch to CLASS(fd) new helper: import_xattr_name() replace do_setxattr() with saner helpers. replace do_getxattr() with saner helpers. new helpers: file_listxattr(), filename_listxattr() new helpers: file_removexattr(), filename_removexattr() Christian Göttsche (2): fs: rename struct xattr_ctx to kernel_xattr_ctx fs/xattr: add *at family syscalls Colin Ian King (1): xattr: remove redundant check on variable err Jens Axboe (1): io_uring: IORING_OP_F[GS]ETXATTR is fine with REQ_F_FIXED_FILE arch/alpha/kernel/syscalls/syscall.tbl | 4 + arch/arm/tools/syscall.tbl | 4 + arch/arm64/tools/syscall_32.tbl | 4 + arch/m68k/kernel/syscalls/syscall.tbl | 4 + arch/microblaze/kernel/syscalls/syscall.tbl | 4 + arch/mips/kernel/syscalls/syscall_n32.tbl | 4 + arch/mips/kernel/syscalls/syscall_n64.tbl | 4 + arch/mips/kernel/syscalls/syscall_o32.tbl | 4 + arch/parisc/kernel/syscalls/syscall.tbl | 4 + arch/powerpc/kernel/syscalls/syscall.tbl | 4 + arch/s390/kernel/syscalls/syscall.tbl | 4 + arch/sh/kernel/syscalls/syscall.tbl | 4 + arch/sparc/kernel/syscalls/syscall.tbl | 4 + arch/x86/entry/syscalls/syscall_32.tbl | 4 + arch/x86/entry/syscalls/syscall_64.tbl | 4 + arch/xtensa/kernel/syscalls/syscall.tbl | 4 + fs/internal.h | 17 +- fs/namei.c | 34 ++- fs/stat.c | 28 +- fs/xattr.c | 446 ++++++++++++++++++---------- include/asm-generic/audit_change_attr.h | 6 + include/linux/fs.h | 10 + include/linux/syscalls.h | 13 + include/linux/xattr.h | 4 + include/uapi/asm-generic/unistd.h | 11 +- include/uapi/linux/xattr.h | 7 + io_uring/xattr.c | 97 ++---- scripts/syscall.tbl | 4 + 28 files changed, 474 insertions(+), 267 deletions(-) . Date: Fri, 15 Nov 2024 15:11:08 +0000 From: Al Viro To: Linus Torvalds Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [git pull] ufs stuff The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-ufs for you to fetch changes up to 6cfe56fbad32c8c5b50e82d9109413566d691569: ufs: ufs_sb_private_info: remove unused s_{2,3}apb fields (2024-11-12 19:02:12 -0500) ---------------------------------------------------------------- ufs cleanups, fixes and folio conversion Signed-off-by: Al Viro ---------------------------------------------------------------- Agathe Porte (1): ufs: ufs_sb_private_info: remove unused s_{2,3}apb fields Al Viro (12): ufs: fix handling of delete_entry and set_link failures ufs: missing ->splice_write() ufs: fix ufs_read_cylinder() failure handling ufs: untangle ubh_...block...() macros, part 1 ufs: untangle ubh_...block...(), part 2 ufs: untangle ubh_...block...(), part 3 ufs_clusteracct(): switch to passing fragment number ufs_free_fragments(): fix the braino in sanity check ufs_inode_getfrag(): remove junk comment ufs: get rid of ubh_{ubhcpymem,memcpyubh}() clean ufs_trunc_direct() up a bit... ufs: take the handling of free block counters into a helper Matthew Wilcox (Oracle) (5): ufs: Convert ufs_inode_getblock() to take a folio ufs: Convert ufs_extend_tail() to take a folio ufs: Convert ufs_inode_getfrag() to take a folio ufs: Pass a folio to ufs_new_fragments() ufs: Convert ufs_change_blocknr() to take a folio fs/ufs/balloc.c | 107 ++++++++++++++------------------ fs/ufs/cylinder.c | 31 ++++++---- fs/ufs/dir.c | 29 +++++---- fs/ufs/file.c | 1 + fs/ufs/inode.c | 179 +++++++++++++++++++++++------------------------------- fs/ufs/namei.c | 39 ++++++------ fs/ufs/super.c | 49 ++++++--------- fs/ufs/ufs.h | 12 ++-- fs/ufs/ufs_fs.h | 4 -- fs/ufs/util.c | 46 -------------- fs/ufs/util.h | 61 +++++++++---------- 11 files changed, 222 insertions(+), 336 deletions(-) . Date: Fri, 15 Nov 2024 11:18:07 -0400 From: Jason Gunthorpe To: Linus Torvalds Cc: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Leon Romanovsky Subject: [GIT PULL] Please pull RDMA subsystem changes --zYrWsi85CevLEbOH Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Linus, A last minute revert that is causing a regression Thanks, Jason The following changes since commit 76d3ddff7153cc0bcc14a63798d19f5d0693ea71: RDMA/bnxt_re: synchronize the qp-handle table array (2024-10-21 13:28:15 -0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 6abe2a90808192a5a8b2825293e5f10e80fdea56: Revert "RDMA/core: Fix ENODEV error for iWARP test over vlan" (2024-11-12 09:53:11 -0500) ---------------------------------------------------------------- RDMA v6.12 third rc pull - Revert a change to the VLAN logic, this broke previously work ROCE configurations - Fix a memory leak on error unwinding in bnxt_re ---------------------------------------------------------------- Christophe JAILLET (2): RDMA/bnxt_re: Fix some error handling paths in bnxt_re_probe() RDMA/bnxt_re: Remove some dead code Leon Romanovsky (1): Revert "RDMA/core: Fix ENODEV error for iWARP test over vlan" drivers/infiniband/core/addr.c | 2 -- drivers/infiniband/hw/bnxt_re/main.c | 27 ++++++++------------------- 2 files changed, 8 insertions(+), 21 deletions(-) --zYrWsi85CevLEbOH Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRRRCHOFoQz/8F5bUaFwuHvBreFYQUCZzdmLQAKCRCFwuHvBreF YTT0AP9P/+L0sX71iPpBmCOASviZ/tL1c1sJUCxjWxzB4957LgEA1UEd4wZXjpE6 TyR5lTqI/UkCA68QZcAxVth0AtHxEAs= =J8c5 -----END PGP SIGNATURE----- --zYrWsi85CevLEbOH-- . Date: Fri, 15 Nov 2024 16:30:54 +0100 From: Heiko Carstens To: Linus Torvalds Cc: Vasily Gorbik , Alexander Gordeev , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] s390 updates for 6.13 merge window Hi Linus, please pull s390 updates for the 6.13 merge window. Thanks, Heiko The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b: Linux 6.12-rc2 (2024-10-06 15:32:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.13-1 for you to fetch changes up to e200565d434b66e5b2bfc3b143b66b8ca29666ad: s390/cio/ioasm: Convert to use flag output macros (2024-11-13 14:31:34 +0100) ---------------------------------------------------------------- s390 updates for 6.13 merge window - Add firmware sysfs interface which allows user space to retrieve the dump area size of the machine - Add 'measurement_chars_full' CHPID sysfs attribute to make the complete associated Channel-Measurements Characteristics Block available - Add virtio-mem support - Move gmap aka KVM page fault handling from the main fault handler to KVM code. This is the first step to make s390 KVM page fault handling similar to other architectures. With this first step the main fault handler does not have any special handling anymore, and therefore convert it to support LOCK_MM_AND_FIND_VMA - With gcc 14 s390 support for flag output operand support for inline assemblies was added. This allows for several optimizations - Provide a cmpxchg inline assembly which makes use of this, and provide all variants of arch_try_cmpxchg() so that the compiler can generate slightly better code - Convert a few cmpxchg() loops to try_cmpxchg() loops - Similar to x86 add a CC_OUT() helper macro (and other macros), and convert all inline assemblies to make use of them, so that depending on compiler version better code can be generated - List installed host-key hashes in sysfs if the machine supports the Query Ultravisor Keys UVC - Add 'Retrieve Secret' ioctl which allows user space in protected execution guests to retrieve previously stored secrets from the Ultravisor - Add pkey-uv module which supports the conversion of Ultravisor retrievable secrets to protected keys - Extend the existing paes cipher to exploit the full AES-XTS hardware acceleration introduced with message-security assist extension 10 - Convert hopefully all sysfs show functions to use sysfs_emit() so that the constant flow of such patches stop - For PCI devices make use of the newly added Topology ID attribute to enable whole card multi-function support despite the change to PCHID per port. Additionally improve the overall robustness and usability of the multifunction support - Various other small improvements, fixes, and cleanups ---------------------------------------------------------------- Alexander Egorenkov (1): s390/dump: Add firmware sysfs attribute for dump area size Antonia Jonas (1): s390/cpum_cf: Correct typo CYLCE Claudio Imbrenda (10): s390/entry: Remove __GMAP_ASCE and use _PIF_GUEST_FAULT again s390/kvm: Remove kvm_arch_fault_in_page() s390/mm/gmap: Refactor gmap_fault() and add support for pfault s390/mm/gmap: Fix __gmap_fault() return code s390/mm/fault: Handle guest-related program interrupts in KVM s390/kvm: Stop using gmap_{en,dis}able() s390/mm/gmap: Remove gmap_{en,dis}able() s390: Remove gmap pointer from lowcore s390/kvm: Initialize uninitialized flags variable s390/kvm: Mask extra bits from program interrupt code David Hildenbrand (8): s390/kdump: Provide is_kdump_kernel() implementation Documentation: s390-diag.rst: Make diag500 a generic KVM hypercall Documentation: s390-diag.rst: Document diag500(STORAGE LIMIT) subfunction s390/physmem_info: Query diag500(STORAGE LIMIT) to support QEMU/KVM memory devices virtio-mem: s390 support lib/Kconfig.debug: Default STRICT_DEVMEM to "y" on s390 s390/sparsemem: Reduce section size to 128 MiB s390/sparsemem: Provide memory_add_physaddr_to_nid() with CONFIG_NUMA Gerd Bayer (2): s390/pci: Switch over to sysfs_emit s390/facilities: Fix warning about shadow of global variable Halil Pasic (1): s390/virtio_ccw: Fix dma_parm pointer not set up Harald Freudenberger (7): s390/zcrypt: Cleanup include zcrypt_api.h s390/pkey: Simplify protected key length calculation code s390/pkey: Rework pkey verify for protected keys s390/pkey: Fix checkpatch findings in pkey header file s390/pkey: Build module name array selectively based on kernel config options s390/pkey: Add new pkey handler module pkey-uv MAINTAINERS: Update and add s390 crypto related entries Heiko Carstens (46): s390: Fix various typos s390/pageattr: Implement missing kernel_page_present() s390/mm: Simplify get_fault_type() s390/mm: Get rid of fault type switch statements s390/mm: Convert to LOCK_MM_AND_FIND_VMA s390/mm: Cleanup fault error handling Merge branch 'virtio-mem' into features s390/configs: Enable CONFIG_VIRTIO_MEM s390/sparsemem: Provide phys_to_target_node() with CONFIG_NUMA s390/uvdevice: Fix and slightly improve kernel-doc comment s390/con3270: Use NULL instead of 0 for pointers s390/cmpxchg: Convert one and two byte case inline assemblies to C s390/cmpxchg: Provide arch_try_cmpxchg() s390/cmpxchg: Implement arch_xchg() with arch_try_cmpxchg() s390/cmpxchg: Provide arch_cmpxchg128_local() s390/cmpxchg: Provide arch_try_cmpxchg128() s390/atomic: Convert arch_atomic_xchg() to C function s390/cmpxchg: Use arch_cmpxchg() instead of __atomic_cmpxchg() s390/atomic: Provide arch_atomic_try_cmpxchg() s390/preempt: Use arch_try_cmpxchg() instead of __atomic_cmpxchg() s390/locking: Use arch_try_cmpxchg() instead of __atomic_cmpxchg_bool() s390/atomic: Remove __atomic_cmpxchg() variants s390/perf_cpum_sf: Convert to use try_cmpxchg128() s390/perf_cpum_cf: Convert to use local64_try_cmpxchg() s390/asm: Helper macros for flag output operand handling s390/sthyi: Convert to use flag output macros s390/pageattr: Convert to use flag output macros s390/time: Convert to use flag output macros s390/topology: Convert to use flag output macros s390/cpcmd: Convert to use flag output macros s390/cpu_mf: Convert to use flag output macros s390/mm: Convert to use flag output macros s390/pai: Convert to use flag output macros s390/uv: Convert to use flag output macros s390/smp: Convert to use flag output macros s390/irq: Convert to use flag output macros s390/diag: Convert to use flag output macros s390/string: Convert to use flag output macros s390/extmem: Convert to use flag output macros s390/kvm: Convert to use flag output macros s390/pci: Convert to use flag output macros s390/boot/physmem: Convert to use flag output macros s390/dasd: Convert to use flag output macros s390/sclp: Convert to use flag output macros s390/cio/qdio: Convert to use flag output macros s390/cio/ioasm: Convert to use flag output macros Holger Dengler (7): s390/pkey: Tolerate larger key blobs s390/crypto: Convert to reverse x-mas tree, rename ret to rc s390/crypto: Use module-local structures for protected keys s390/crypto: Generalize parameters for key conversion s390/crypto: Introduce function for tokenize clearkeys s390/crypto: Postpone the key split to key conversion s390/crypto: Add hardware acceleration for full AES-XTS mode Julian Vetter (1): s390/pci: Align prototypes of zpci IO memcpy functions Masahiro Yamada (3): s390/syscalls: Avoid creation of arch/arch/ directory s390/syscalls: Remove unnecessary argument of filechk_syshdr s390/syscalls: Convert filechk to if_changed Mete Durlu (22): s390/topology: Switch over to sysfs_emit() s390/time: Switch over to sysfs_emit() s390/smp: Switch over to sysfs_emit() s390/perf_event: Switch over to sysfs_emit() s390/nospec: Switch over to sysfs_emit() s390/ipl: Switch over to sysfs_emit() s390/crypto: Switch over to sysfs_emit() scsi: zfcp: Switch over to sysfs_emit() s390/cio/chp: Switch over to sysfs_emit() s390/cio/device: Switch over to sysfs_emit() s390/cio/cmf: Switch over to sysfs_emit() s390/cio/ccwgroup: Switch over to sysfs_emit() s390/cio/css: Switch over to sysfs_emit() s390/cio/scm: Switch over to sysfs_emit() s390/dcssblk: Switch over to sysfs_emit() s390/tape: Switch over to sysfs_emit() s390/vmlogrdr: Switch over to sysfs_emit() s390/sclp_ocf: Switch over to sysfs_emit() s390/sclp_cpi: Switch over to sysfs_emit() s390/vmur: Switch over to sysfs_emit() s390/vfio-ap: Switch over to sysfs_emit() s390/netiucv: Switch over to sysfs_emit() Niklas Schnelle (6): s390/pci: Sort PCI functions prior to creating virtual busses s390/pci: Use topology ID for multi-function devices s390/pci: Ignore RID for isolated VFs s390/sclp: Allow user-space to provide PCI reports for optical modules s390/pci: Expose FIDPARM attribute in sysfs s390/pci: Add header guards and includes to internal headers Peter Oberparleiter (1): s390/cio: Externalize full CMG characteristics Shen Lichuan (1): s390/cio: Correct some typos in comments Steffen Eiden (8): s390/uv: Refactor uv-sysfs creation s390/uv: Provide host-key hashes in sysfs s390/uv: Use a constant for more-data rc s390/uv: Retrieve UV secrets support s390/uvdevice: Add Retrieve Secret IOCTL s390/uvdevice: Increase indent in IOCTL definitions s390/uv: Retrieve UV secrets sysfs support s390/uvdevice: Support longer secret lists Thomas Richter (8): s390/cpum_sf: Set bit PMU_F_ENABLED enabled after lpp() invocation s390/cpum_sf: Do not re-enable event after deletion s390/cpum_sf: Consistently use goto out for function exit s390/cpum_sf: Use sf_buffer_available() s390/cpum_sf: Fix format string in pr_err() s390/cpum_sf: Handle CPU hotplug remove during sampling s390/cpum_sf: Rework call to sf_disable() s390/cpum_sf: Fix and protect memory allocation of SDBs with mutex Vineeth Vijayan (1): s390/cio: Do not unregister the subchannel based on DNV Documentation/virt/kvm/s390/s390-diag.rst | 35 ++- MAINTAINERS | 26 +- arch/s390/Kconfig | 8 + arch/s390/boot/physmem_info.c | 85 ++++-- arch/s390/boot/startup.c | 9 +- arch/s390/boot/uv.c | 7 +- arch/s390/configs/debug_defconfig | 2 + arch/s390/configs/defconfig | 2 + arch/s390/crypto/paes_s390.c | 415 +++++++++++++++++++++--------- arch/s390/crypto/prng.c | 14 +- arch/s390/include/asm/asm.h | 51 ++++ arch/s390/include/asm/atomic.h | 28 +- arch/s390/include/asm/atomic_ops.h | 75 ------ arch/s390/include/asm/cmpxchg.h | 386 +++++++++++++++------------ arch/s390/include/asm/cpacf.h | 2 + arch/s390/include/asm/cpu_mf.h | 57 ++-- arch/s390/include/asm/facility.h | 18 +- arch/s390/include/asm/gmap.h | 3 - arch/s390/include/asm/kexec.h | 3 + arch/s390/include/asm/kvm_host.h | 5 +- arch/s390/include/asm/lowcore.h | 3 +- arch/s390/include/asm/page.h | 12 +- arch/s390/include/asm/pai.h | 10 +- arch/s390/include/asm/pci.h | 15 +- arch/s390/include/asm/pci_clp.h | 13 +- arch/s390/include/asm/pci_io.h | 6 +- arch/s390/include/asm/physmem_info.h | 3 + arch/s390/include/asm/preempt.h | 9 +- arch/s390/include/asm/processor.h | 5 +- arch/s390/include/asm/ptrace.h | 2 + arch/s390/include/asm/set_memory.h | 1 + arch/s390/include/asm/sigp.h | 11 +- arch/s390/include/asm/sparsemem.h | 18 +- arch/s390/include/asm/spinlock.h | 13 +- arch/s390/include/asm/timex.h | 32 +-- arch/s390/include/asm/uv.h | 176 ++++++++++++- arch/s390/include/uapi/asm/dasd.h | 2 +- arch/s390/include/uapi/asm/pkey.h | 38 ++- arch/s390/include/uapi/asm/uvdevice.h | 32 ++- arch/s390/kernel/asm-offsets.c | 3 - arch/s390/kernel/cpcmd.c | 10 +- arch/s390/kernel/crash_dump.c | 11 + arch/s390/kernel/debug.c | 18 +- arch/s390/kernel/diag.c | 12 +- arch/s390/kernel/entry.S | 44 +--- arch/s390/kernel/ipl.c | 84 +++--- arch/s390/kernel/irq.c | 11 +- arch/s390/kernel/nospec-sysfs.c | 10 +- arch/s390/kernel/os_info.c | 2 +- arch/s390/kernel/perf_cpum_cf.c | 14 +- arch/s390/kernel/perf_cpum_sf.c | 84 +++--- arch/s390/kernel/perf_event.c | 2 +- arch/s390/kernel/smp.c | 20 +- arch/s390/kernel/sthyi.c | 10 +- arch/s390/kernel/syscalls/Makefile | 27 +- arch/s390/kernel/time.c | 30 +-- arch/s390/kernel/topology.c | 29 ++- arch/s390/kernel/traps.c | 24 +- arch/s390/kernel/uv.c | 256 +++++++++++++++++- arch/s390/kvm/intercept.c | 4 +- arch/s390/kvm/kvm-s390.c | 158 ++++++++---- arch/s390/kvm/kvm-s390.h | 8 +- arch/s390/kvm/pci.c | 2 +- arch/s390/kvm/vsie.c | 19 +- arch/s390/lib/spinlock.c | 12 +- arch/s390/lib/string.c | 10 +- arch/s390/mm/extmem.c | 14 +- arch/s390/mm/fault.c | 207 +++------------ arch/s390/mm/gmap.c | 167 +++++++----- arch/s390/mm/pageattr.c | 16 ++ arch/s390/mm/pgtable.c | 2 +- arch/s390/pci/pci.c | 69 ++++- arch/s390/pci/pci_bus.c | 48 ++-- arch/s390/pci/pci_bus.h | 5 + arch/s390/pci/pci_clp.c | 46 ++-- arch/s390/pci/pci_event.c | 13 +- arch/s390/pci/pci_insn.c | 106 ++++---- arch/s390/pci/pci_iov.h | 2 + arch/s390/pci/pci_mmio.c | 90 ++++--- arch/s390/pci/pci_sysfs.c | 6 +- arch/s390/purgatory/head.S | 2 +- drivers/crypto/Kconfig | 21 ++ drivers/s390/block/dasd_diag.c | 15 +- drivers/s390/block/dcssblk.c | 18 +- drivers/s390/char/con3270.c | 4 +- drivers/s390/char/sclp.h | 18 +- drivers/s390/char/sclp_cpi_sys.c | 8 +- drivers/s390/char/sclp_ocf.c | 4 +- drivers/s390/char/sclp_pci.c | 2 + drivers/s390/char/tape_core.c | 16 +- drivers/s390/char/uvdevice.c | 153 ++++++++--- drivers/s390/char/vmlogrdr.c | 4 +- drivers/s390/char/vmur.c | 2 +- drivers/s390/cio/ccwgroup.c | 2 +- drivers/s390/cio/chp.c | 31 ++- drivers/s390/cio/chp.h | 1 + drivers/s390/cio/chsc.c | 31 +-- drivers/s390/cio/chsc.h | 16 ++ drivers/s390/cio/cio.c | 6 +- drivers/s390/cio/cio.h | 2 +- drivers/s390/cio/cmf.c | 15 +- drivers/s390/cio/css.c | 6 +- drivers/s390/cio/device.c | 40 ++- drivers/s390/cio/ioasm.c | 107 ++++---- drivers/s390/cio/qdio_main.c | 28 +- drivers/s390/cio/scm.c | 2 +- drivers/s390/crypto/Makefile | 4 + drivers/s390/crypto/pkey_base.c | 14 +- drivers/s390/crypto/pkey_base.h | 36 +++ drivers/s390/crypto/pkey_cca.c | 5 +- drivers/s390/crypto/pkey_ep11.c | 1 - drivers/s390/crypto/pkey_pckmo.c | 249 ++++++------------ drivers/s390/crypto/pkey_sysfs.c | 1 - drivers/s390/crypto/pkey_uv.c | 284 ++++++++++++++++++++ drivers/s390/crypto/vfio_ap_ops.c | 45 +--- drivers/s390/crypto/zcrypt_ccamisc.h | 1 + drivers/s390/net/netiucv.c | 24 +- drivers/s390/scsi/zfcp_sysfs.c | 82 +++--- drivers/s390/virtio/virtio_ccw.c | 4 + drivers/virtio/Kconfig | 12 +- lib/Kconfig.debug | 2 +- 121 files changed, 2969 insertions(+), 1686 deletions(-) create mode 100644 arch/s390/include/asm/asm.h create mode 100644 drivers/s390/crypto/pkey_uv.c . Date: Fri, 15 Nov 2024 17:23:01 +0100 From: Juergen Gross To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org Subject: [GIT PULL] xen: branch for v6.13-rc1 Linus, Please git pull the following tag: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.13-rc1-tag xen: branch for v6.13-rc1 It contains: - a series for booting as a PVH guest, doing some cleanups after the previous work to make PVH boot code position independent - a fix of the xenbus driver avoiding a leak in an error case Thanks. Juergen arch/x86/kernel/vmlinux.lds.S | 19 +++++++++++++++ arch/x86/platform/pvh/head.S | 50 ++++++++++++++++++++++----------------- arch/x86/tools/relocs.c | 1 + arch/x86/xen/xen-head.S | 6 +++-- drivers/xen/xenbus/xenbus_probe.c | 8 ++++++- 5 files changed, 59 insertions(+), 25 deletions(-) Ard Biesheuvel (5): x86/pvh: Call C code via the kernel virtual mapping x86/pvh: Use correct size value in GDT descriptor x86/pvh: Omit needless clearing of phys_base x86/xen: Avoid relocatable quantities in Xen ELF notes x86/pvh: Avoid absolute symbol references in .head.text Qiu-ji Chen (1): xen: Fix the issue of resource not being properly released in xenbus_dev_probe() . Date: Sat, 16 Nov 2024 04:43:28 +1000 From: Dave Airlie To: Linus Torvalds , Sima Vetter Cc: dri-devel , LKML Subject: [git pull] drm fixes for 6.12-rc8 Hi Linus, Final week of fixes, lots of small amdgpu fixes, some i915 and xe fixes, the nouveau changes fix a recent regression and some laptop panel black screens, then a couple of other misc ones. It's probably a little busier than I'd like, but each fix seems fine. Dave. drm-fixes-2024-11-16: drm fixes for 6.12-rc8 amdgpu: - PSR fix - Panel replay fixes - DML fix - vblank power fix - Fix video caps - SMU 14.0 fix - GPUVM fix - MES 12 fix - APU carve out fix - DC vbios fix - NBIO fix i915: - Don't load GSC on ARL-H and ARL-U if too old FW - Avoid potential OOPS in enabling/disabling TV output xe: - Fix unlock on exec ioctl error path - Fix hibernation on LNL due to ggtt getting lost - Fix missing runtime PM in OA release bridge: - tc358768: Fix DSI command tx nouveau: - Fix GSP AUX error handling - dp: Handle retires for AUX CH transfers with GSP - fw: Sync DMA after setup panthor: - Fix partial BO mappings to GPU rockchip: - vop: Avoid null-ptr deref in plane-state check vmwgfx: - Avoid null-ptr deref in surface creation The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623= : Linux 6.12-rc7 (2024-11-10 14:19:35 -0800) are available in the Git repository at: https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2024-11-16 for you to fetch changes up to 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d: Merge tag 'drm-xe-fixes-2024-11-14' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes (2024-11-16 04:31:54 +1000) ---------------------------------------------------------------- drm fixes for 6.12-rc8 amdgpu: - PSR fix - Panel replay fixes - DML fix - vblank power fix - Fix video caps - SMU 14.0 fix - GPUVM fix - MES 12 fix - APU carve out fix - DC vbios fix - NBIO fix i915: - Don't load GSC on ARL-H and ARL-U if too old FW - Avoid potential OOPS in enabling/disabling TV output xe: - Fix unlock on exec ioctl error path - Fix hibernation on LNL due to ggtt getting lost - Fix missing runtime PM in OA release bridge: - tc358768: Fix DSI command tx nouveau: - Fix GSP AUX error handling - dp: Handle retires for AUX CH transfers with GSP - fw: Sync DMA after setup panthor: - Fix partial BO mappings to GPU rockchip: - vop: Avoid null-ptr deref in plane-state check vmwgfx: - Avoid null-ptr deref in surface creation ---------------------------------------------------------------- Akash Goel (1): drm/panthor: Fix handling of partial GPU mapping of BOs Alex Deucher (1): Revert "drm/amd/display: parse umc_info or vram_info based on ASIC" Andy Yan (1): drm/rockchip: vop: Fix a dereferenced before check warning Ashutosh Dixit (1): drm/xe/oa: Fix "Missing outer runtime PM protection" warning Chen Ridong (1): drm/vmwgfx: avoid null_ptr_deref in vmw_framebuffer_surface_create_ha= ndle Christian K=C3=B6nig (2): drm/amdgpu: fix check in gmc_v9_0_get_vm_pte() drm/amdgpu: enable GTT fallback handling for dGPUs only Daniele Ceraolo Spurio (1): drm/i915/gsc: ARL-H and ARL-U need a newer GSC FW. Dave Airlie (7): nouveau: fw: sync dma after setup is called. nouveau: handle EBUSY and EAGAIN for GSP aux errors. nouveau/dp: handle retries for AUX CH transfers with GSP. Merge tag 'drm-intel-fixes-2024-11-14' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes Merge tag 'drm-misc-fixes-2024-11-14' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes Merge tag 'amd-drm-fixes-6.12-2024-11-14' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes Merge tag 'drm-xe-fixes-2024-11-14' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes David Rosca (1): drm/amdgpu: Fix video caps for H264 and HEVC encode maximum size Dillon Varone (1): drm/amd/display: Require minimum VBlank size for stutter optimization Francesco Dolcini (1): drm/bridge: tc358768: Fix DSI command tx Hamish Claxton (1): drm/amd/display: Fix failure to read vram info due to static BP_RESUL= T Jack Xiao (1): drm/amdgpu/mes12: correct kiq unmap latency Matthew Auld (2): drm/xe: improve hibernation on igpu drm/xe: handle flat ccs during hibernation on igpu Matthew Brost (2): drm/xe: Ensure all locks released in exec IOCTL drm/xe: Restore system memory GGTT mappings Rodrigo Siqueira (1): drm/amd/display: Adjust VSDB parser for replay feature Ryan Seto (1): drm/amd/display: Handle dml allocation failure to avoid crash Thomas Zimmermann (1): Merge drm/drm-fixes into drm-misc-fixes Tim Huang (1): drm/amd/pm: print pp_dpm_mclk in ascending order on SMU v14.0.0 Tom Chung (2): drm/amd/display: Change some variable name of psr drm/amd/display: Fix Panel Replay not update screen correctly Vijendar Mukunda (1): drm/amd: Fix initialization mistake for NBIO 7.7.0 Ville Syrj=C3=A4l=C3=A4 (1): drm/i915: Grab intel_display from the encoder to avoid potential oops= ies drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 13 ++- drivers/gpu/drm/amd/amdgpu/mes_v12_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c | 6 ++ drivers/gpu/drm/amd/amdgpu/nv.c | 12 +-- drivers/gpu/drm/amd/amdgpu/soc15.c | 4 +- drivers/gpu/drm/amd/amdgpu/soc21.c | 12 +-- drivers/gpu/drm/amd/amdgpu/soc24.c | 2 +- drivers/gpu/drm/amd/amdgpu/vi.c | 8 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 117 +++++++++++------= ---- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 5 +- .../amd/display/amdgpu_dm/amdgpu_dm_irq_params.h | 2 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 6 +- drivers/gpu/drm/amd/display/dc/core/dc_state.c | 3 + .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 11 +- .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c | 5 +- drivers/gpu/drm/bridge/tc358768.c | 21 +++- drivers/gpu/drm/i915/display/intel_tv.c | 4 +- drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 50 +++++---- drivers/gpu/drm/i915/i915_drv.h | 8 +- drivers/gpu/drm/i915/intel_device_info.c | 24 ++++- drivers/gpu/drm/i915/intel_device_info.h | 4 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/r535.c | 61 ++++++----- drivers/gpu/drm/nouveau/nvkm/falcon/fw.c | 11 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c | 6 +- drivers/gpu/drm/panthor/panthor_mmu.c | 2 + drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 8 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 2 + drivers/gpu/drm/xe/xe_bo.c | 43 ++++---- drivers/gpu/drm/xe/xe_bo_evict.c | 20 ++-- drivers/gpu/drm/xe/xe_exec.c | 4 +- drivers/gpu/drm/xe/xe_oa.c | 2 + include/drm/intel/i915_pciids.h | 19 +++- 34 files changed, 305 insertions(+), 197 deletions(-) . Date: Fri, 15 Nov 2024 15:35:16 -0500 From: Kent Overstreet To: Linus Torvalds Cc: linux-bcachefs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] bcachefs Hi Linus, here's the main bcachefs pull for 6.13 I may send another smaller pull request before the merge window ends, for backpointers fsck; users will be wanting that, if it's ready in time. background - the two most expensive fsck passes by far are checking backpointers -> extents and extents -> backpointers; we've had users with 100TB filesystems reporting 24 hour fsck times, and with the self healing work backpointers -> extents is not necessary anymore, and I have a trick for extents -> backpointers up my sleeve... so much to do, so little time... test dashboard results, for those interested: https://evilpiepirate.org/~testdashboard/ci?user=kmo&branch=bcachefs-for-upstream The following changes since commit 840c2fbcc5cd33ba8fab180f09da0bb7f354ea71: bcachefs: Fix assertion pop in bch2_ptr_swab() (2024-11-12 03:46:57 -0500) are available in the Git repository at: git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-11-15 for you to fetch changes up to 86a494c8eef94a7dc21f26b5c85cb10c5040f04c: bcachefs: Kill bch2_get_next_backpointer() (2024-11-15 00:22:07 -0500) ---------------------------------------------------------------- bcachefs updates for 6.13 - Self healing work: Allocator and reflink now run the exact same check/repair code that fsck does at runtime, where applicable. The long term goal here is to remove inconsistent() errors (that cause us to go emergency read only) by lifting fsck code up to normal runtime paths; we should only go emergency read-only if we detect an inconsistency that was due to a runtime bug - or truly catastrophic damage (corrupted btree roots/interior nodes). - Reflink repair no longer deletes reflink pointers: instead we flip an error bit and log the error, and they can still be deleted by file deletion. This means a temporary failure to find an indirect extent (perhaps repaired later by btree node scan) won't result in unnecessary data loss - Improvements to rebalance data path option handling: we can now correctly apply changed filesystem-level io path options to pending rebalance work, and soon we'll be able to apply file-level io path option changes to indirect extents. - and lots of other smaller fixes and cleanups ---------------------------------------------------------------- Alan Huang (1): bcachefs: Delete dead code Colin Ian King (1): bcachefs: remove superfluous ; after statements Dennis Lam (1): docs: filesystems: bcachefs: fixed some spelling mistakes in the bcachefs coding style page Eric Biggers (1): bcachefs: Explicitly select CRYPTO from BCACHEFS_FS Hongbo Li (2): bcachefs: remove write permission for gc_gens_pos sysfs interface bcachefs: use attribute define helper for sysfs attribute Integral (1): bcachefs: add support for true/false & yes/no in bool-type options Kent Overstreet (76): bcachefs: kill retry_estale() in bch2_ioctl_subvolume_create() Merge branch 'bcachefs-kill-retry-estale' into HEAD bcachefs: Fix racy use of jiffies bcachefs: bch2_inode_should_have_bp -> bch2_inode_should_have_single_bp bcachefs: remove_backpointer() now uses dirent_get_by_pos() bcachefs: __bch2_key_has_snapshot_overwrites uses for_each_btree_key_reverse_norestart() bcachefs: rcu_pending: don't invoke __call_rcu() under lock bcachefs: bch_verbose_ratelimited bcachefs: Pull disk accounting hooks out of trans_commit.c bcachefs: Remove unnecessary peek_slot() bcachefs: kill btree_trans_restart_nounlock() bcachefs: add more path idx debug asserts bcachefs: bch2_run_explicit_recovery_pass() returns different error when not in recovery bcachefs: lru, accounting are alloc btrees bcachefs: Add locking for bch_fs.curr_recovery_pass bcachefs: bch2_btree_lost_data() now uses run_explicit_rceovery_pass_persistent() bcachefs: improved bkey_val_copy() bcachefs: Factor out jset_entry_log_msg_bytes() bcachefs: better error message in check_snapshot_tree() bcachefs: Avoid bch2_btree_id_str() bcachefs: Refactor new stripe path to reduce dependencies on ec_stripe_head bcachefs: -o norecovery now bails out of recovery earlier bcachefs: bch2_journal_meta() takes ref on c->writes bcachefs: Fix warning about passing flex array member by value bcachefs: Add block plugging to read paths bcachefs: Add version check for bch_btree_ptr_v2.sectors_written validate bcachefs: avoid 'unsigned flags' bcachefs: use bch2_data_update_opts_to_text() in trace_move_extent_fail() bcachefs: bch2_io_opts_fixups() bcachefs: small cleanup for extent ptr bitmasks bcachefs: kill bch2_bkey_needs_rebalance() bcachefs: kill __bch2_bkey_sectors_need_rebalance() bcachefs: rename bch_extent_rebalance fields to match other opts structs bcachefs: io_opts_to_rebalance_opts() bcachefs: Add bch_io_opts fields for indicating whether the opts came from the inode bcachefs: copygc_enabled, rebalance_enabled now opts.h options bcachefs: bch2_prt_csum_opt() bcachefs: New bch_extent_rebalance fields bcachefs: bch2_write_inode() now checks for changing rebalance options bcachefs: get_update_rebalance_opts() bcachefs: Simplify option logic in rebalance bcachefs: Improve trace_rebalance_extent bcachefs: Move bch_extent_rebalance code to rebalance.c bcachefs: Add assert for use of journal replay keys for updates bcachefs: Kill BCH_TRANS_COMMIT_lazy_rw bcachefs: Improved check_topology() assert bcachefs: Fix unhandled transaction restart in evacuate_bucket() bcachefs: Assert we're not in a restart in bch2_trans_put() bcachefs: Better in_restart error bcachefs: bch2_trans_verify_not_unlocked_or_in_restart() bcachefs: Assert that we're not violating key cache coherency rules bcachefs: Rename btree_iter_peek_upto() -> btree_iter_peek_max() bcachefs: Simplify btree_iter_peek() filter_snapshots bcachefs: Kill unnecessary iter_rewind() in bkey_get_empty_slot() bcachefs: Move fsck ioctl code to fsck.c bcachefs: Add support for FS_IOC_GETFSUUID bcachefs: Add support for FS_IOC_GETFSSYSFSPATH bcachefs: Don't use page allocator for sb_read_scratch bcachefs: Fix shutdown message bcachefs: delete dead code bcachefs: bch2_btree_bit_mod_iter() bcachefs: Delete dead code from bch2_discard_one_bucket() bcachefs: lru errors are expected when reconstructing alloc bcachefs: Kill FSCK_NEED_FSCK bcachefs: Reserve 8 bits in bch_reflink_p bcachefs: Reorganize reflink.c a bit bcachefs: Don't delete reflink pointers to missing indirect extents bcachefs: kill inconsistent err in invalidate_one_bucket() bcachefs: rework bch2_bucket_alloc_freelist() freelist iteration bcachefs: try_alloc_bucket() now uses bch2_check_discard_freespace_key() bcachefs: bch2_bucket_do_index(): inconsistent_err -> fsck_err bcachefs: discard_one_bucket() now uses need_discard_or_freespace_err() bcachefs: Implement bch2_btree_iter_prev_min() bcachefs: peek_prev_min(): Search forwards for extents, snapshots bcachefs: Delete backpointers check in try_alloc_bucket() bcachefs: Kill bch2_get_next_backpointer() Thomas Bertschinger (1): bcachefs: move bch2_xattr_handlers to .rodata Thorsten Blum (6): bcachefs: Remove duplicate included headers bcachefs: Use FOREACH_ACL_ENTRY() macro to iterate over acl entries bcachefs: Use str_write_read() helper function bcachefs: Use str_write_read() helper in ec_block_endio() bcachefs: Use str_write_read() helper in write_super_endio() bcachefs: Annotate struct bucket_gens with __counted_by() Youling Tang (4): bcachefs: Correct the description of the '--bucket=size' options bcachefs: Removes NULL pointer checks for __filemap_get_folio return values bcachefs: Remove redundant initialization in bch2_vfs_inode_init() bcachefs: Simplify code in bch2_dev_alloc() Documentation/filesystems/bcachefs/CodingStyle.rst | 2 +- fs/bcachefs/Kconfig | 1 + fs/bcachefs/acl.c | 11 +- fs/bcachefs/alloc_background.c | 286 +++++------- fs/bcachefs/alloc_background.h | 2 + fs/bcachefs/alloc_foreground.c | 154 ++----- fs/bcachefs/backpointers.c | 149 +++--- fs/bcachefs/backpointers.h | 11 +- fs/bcachefs/bbpos.h | 2 +- fs/bcachefs/bcachefs.h | 18 +- fs/bcachefs/bcachefs_format.h | 15 +- fs/bcachefs/btree_cache.c | 37 +- fs/bcachefs/btree_cache.h | 3 +- fs/bcachefs/btree_gc.c | 141 ++---- fs/bcachefs/btree_io.c | 13 +- fs/bcachefs/btree_iter.c | 499 +++++++++++++-------- fs/bcachefs/btree_iter.h | 105 ++--- fs/bcachefs/btree_journal_iter.c | 55 ++- fs/bcachefs/btree_journal_iter.h | 4 +- fs/bcachefs/btree_key_cache.c | 13 +- fs/bcachefs/btree_locking.h | 2 +- fs/bcachefs/btree_node_scan.c | 10 +- fs/bcachefs/btree_trans_commit.c | 79 +--- fs/bcachefs/btree_types.h | 3 + fs/bcachefs/btree_update.c | 55 ++- fs/bcachefs/btree_update.h | 28 +- fs/bcachefs/btree_update_interior.c | 71 +-- fs/bcachefs/btree_update_interior.h | 2 +- fs/bcachefs/buckets.c | 43 +- fs/bcachefs/buckets_types.h | 2 +- fs/bcachefs/chardev.c | 219 +-------- fs/bcachefs/checksum.h | 2 +- fs/bcachefs/data_update.c | 67 ++- fs/bcachefs/debug.c | 4 +- fs/bcachefs/dirent.c | 4 +- fs/bcachefs/disk_accounting.c | 13 +- fs/bcachefs/disk_accounting.h | 38 ++ fs/bcachefs/ec.c | 244 +++++----- fs/bcachefs/errcode.h | 6 +- fs/bcachefs/error.c | 28 +- fs/bcachefs/error.h | 38 +- fs/bcachefs/extent_update.c | 4 +- fs/bcachefs/extents.c | 231 +++------- fs/bcachefs/extents.h | 9 - fs/bcachefs/extents_format.h | 15 +- fs/bcachefs/fs-io-buffered.c | 26 +- fs/bcachefs/fs-io-direct.c | 5 + fs/bcachefs/fs-io-pagecache.c | 4 +- fs/bcachefs/fs-io.c | 10 +- fs/bcachefs/fs-ioctl.c | 7 +- fs/bcachefs/fs.c | 42 +- fs/bcachefs/fsck.c | 260 ++++++++++- fs/bcachefs/fsck.h | 3 + fs/bcachefs/inode.c | 21 +- fs/bcachefs/inode.h | 10 +- fs/bcachefs/io_misc.c | 10 +- fs/bcachefs/io_read.c | 55 +-- fs/bcachefs/io_read.h | 28 +- fs/bcachefs/io_write.c | 6 +- fs/bcachefs/journal.c | 27 +- fs/bcachefs/journal_io.c | 10 +- fs/bcachefs/journal_reclaim.c | 6 +- fs/bcachefs/lru.c | 2 +- fs/bcachefs/move.c | 105 +++-- fs/bcachefs/move.h | 5 +- fs/bcachefs/movinggc.c | 6 +- fs/bcachefs/opts.c | 24 +- fs/bcachefs/opts.h | 50 ++- fs/bcachefs/rcu_pending.c | 2 + fs/bcachefs/rebalance.c | 266 +++++++++-- fs/bcachefs/rebalance.h | 10 + fs/bcachefs/rebalance_format.h | 53 +++ fs/bcachefs/rebalance_types.h | 2 - fs/bcachefs/recovery.c | 103 +++-- fs/bcachefs/recovery.h | 2 +- fs/bcachefs/recovery_passes.c | 90 +++- fs/bcachefs/recovery_passes.h | 1 + fs/bcachefs/reflink.c | 476 +++++++++++++++----- fs/bcachefs/reflink.h | 7 + fs/bcachefs/reflink_format.h | 5 +- fs/bcachefs/sb-errors_format.h | 5 +- fs/bcachefs/snapshot.c | 42 +- fs/bcachefs/str_hash.h | 6 +- fs/bcachefs/subvolume.c | 2 +- fs/bcachefs/subvolume.h | 12 +- fs/bcachefs/super-io.c | 10 +- fs/bcachefs/super-io.h | 2 + fs/bcachefs/super.c | 24 +- fs/bcachefs/super.h | 10 - fs/bcachefs/sysfs.c | 46 +- fs/bcachefs/tests.c | 26 +- fs/bcachefs/xattr.c | 11 +- fs/bcachefs/xattr.h | 2 +- fs/fs_parser.c | 3 +- include/linux/fs_parser.h | 2 + 95 files changed, 2578 insertions(+), 2102 deletions(-) create mode 100644 fs/bcachefs/rebalance_format.h . Date: Sat, 16 Nov 2024 08:53:39 -0500 From: Steven Rostedt To: Linus Torvalds Cc: LKML , Masami Hiramatsu , Mathieu Desnoyers Subject: [GIT PULL] tracing/ring-buffer: Fixes for the boot mapped buffer for v6.12 Linus, Ring buffer fixes for 6.12: - Revert: "ring-buffer: Do not have boot mapped buffers hook to CPU hotplug" A crash that happened on cpu hotplug was actually caused by the incorrect ref counting that was fixed by commit 2cf9733891a4 ("ring-buffer: Fix refcount setting of boot mapped buffers"). The removal of calling cpu hotplug callbacks on memory mapped buffers was not an issue even though the tests at the time pointed toward it. But in fact, there's a check in that code that tests to see if the buffers are already allocated or not, and will not allocate them again if they are. Not calling the cpu hotplug callbacks ended up not initializing the non boot CPU buffers. Simply remove that change. - Clear all CPU buffers when starting tracing in a boot mapped buffer To properly process events from a previous boot, the address space needs to be accounted for due to KASLR and the events in the buffer are updated accordingly when read. This also requires that when the buffer has tracing enabled again in the current boot that the buffers are reset so that events from the previous boot do not interact with the events of the current boot and cause confusing due to not having the proper meta data. It was found that if a CPU is taken offline, that its per CPU buffer is not reset when tracing starts. This allows for events to be from both the previous boot and the current boot to be in the buffer at the same time. Clear all CPU buffers when tracing is started in a boot mapped buffer. Please pull the latest trace-ringbuffer-v6.12-rc7-2 tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-ringbuffer-v6.12-rc7-2 Tag SHA1: cb739db989cfedfb27543e3c39314096ba0b2c13 Head SHA1: 09663753bb7c50b33f8e5fa562c20ce275b88237 Steven Rostedt (2): Revert: "ring-buffer: Do not have boot mapped buffers hook to CPU hotplug" tracing/ring-buffer: Clear all memory mapped CPU ring buffers on first recording ---- kernel/trace/ring_buffer.c | 9 +++------ kernel/trace/trace.c | 28 ++++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 8 deletions(-) --------------------------- diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 3ea4f7bb1837..5807116bcd0b 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2337,12 +2337,9 @@ static struct trace_buffer *alloc_buffer(unsigned long size, unsigned flags, if (!buffer->buffers[cpu]) goto fail_free_buffers; - /* If already mapped, do not hook to CPU hotplug */ - if (!start) { - ret = cpuhp_state_add_instance(CPUHP_TRACE_RB_PREPARE, &buffer->node); - if (ret < 0) - goto fail_free_buffers; - } + ret = cpuhp_state_add_instance(CPUHP_TRACE_RB_PREPARE, &buffer->node); + if (ret < 0) + goto fail_free_buffers; mutex_init(&buffer->mutex); diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index a8f52b6527ca..619e9aa62201 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2386,6 +2386,25 @@ void tracing_reset_online_cpus(struct array_buffer *buf) ring_buffer_record_enable(buffer); } +static void tracing_reset_all_cpus(struct array_buffer *buf) +{ + struct trace_buffer *buffer = buf->buffer; + + if (!buffer) + return; + + ring_buffer_record_disable(buffer); + + /* Make sure all commits have finished */ + synchronize_rcu(); + + buf->time_start = buffer_ftrace_now(buf, buf->cpu); + + ring_buffer_reset(buffer); + + ring_buffer_record_enable(buffer); +} + /* Must have trace_types_lock held */ void tracing_reset_all_online_cpus_unlocked(void) { @@ -6141,8 +6160,13 @@ static void update_last_data(struct trace_array *tr) if (!tr->text_delta && !tr->data_delta) return; - /* Clear old data */ - tracing_reset_online_cpus(&tr->array_buffer); + /* + * Need to clear all CPU buffers as there cannot be events + * from the previous boot mixed with events with this boot + * as that will cause a confusing trace. Need to clear all + * CPU buffers, even for those that may currently be offline. + */ + tracing_reset_all_cpus(&tr->array_buffer); /* Using current data now */ tr->text_delta = 0; . Date: Sun, 17 Nov 2024 08:17:17 +1000 From: Dave Airlie To: Linus Torvalds , Sima Vetter , Alex Deucher Cc: dri-devel , LKML Subject: [git pull] drm amdgpu regression fix for 6.12-rc8 Hi Linus, Alex sent on a last minute revert for a regression found with swsmu patch for final, Regards, Dave. drm-fixes-2024-11-17: drm/amdgpu regression fix for 6.12-rc8 amdgpu: - revert patch to fix swsmu regression The following changes since commit 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d: Merge tag 'drm-xe-fixes-2024-11-14' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes (2024-11-16 04:31:54 +1000) are available in the Git repository at: https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2024-11-17 for you to fetch changes up to f48ab0a39f12fd83fae13bf81152531565cd5e75: Merge tag 'amd-drm-fixes-6.12-2024-11-16' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes (2024-11-17 08:12:48 +1000) ---------------------------------------------------------------- drm/amdgpu regression fix for 6.12-rc8 amdgpu: - revert patch to fix swsmu regression ---------------------------------------------------------------- Alex Deucher (1): Revert "drm/amd/pm: correct the workload setting" Dave Airlie (1): Merge tag 'amd-drm-fixes-6.12-2024-11-16' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 49 +++++++--------------- drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 4 +- drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 5 ++- drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 5 +-- .../drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 5 +-- drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 4 +- drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c | 4 +- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 20 +++------ .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 5 +-- .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 9 ++-- drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 8 ---- drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h | 2 - 12 files changed, 36 insertions(+), 84 deletions(-) . Date: Sat, 16 Nov 2024 15:35:56 -0800 From: Andrew Morton To: Linus Torvalds Cc: linux-mm@kvack.org, mm-commits@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] hotfixes for 6.12 Linus, please merge this batch of hotfixes, thanks. The following changes since commit dcf32ea7ecede94796fb30231b3969d7c838374c: mm: swapfile: fix cluster reclaim work crash on rotational devices (2024-= 11-12 16:01:36 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-hotfixes-st= able-2024-11-16-15-33 for you to fetch changes up to d1aa0c04294e29883d65eac6c2f72fe95cc7c049: mm: revert "mm: shmem: fix data-race in shmem_getattr()" (2024-11-16 15:3= 0:32 -0800) ---------------------------------------------------------------- 10 hotfixes, 7 of which are cc:stable. All singletons, please see the changelogs for details. ---------------------------------------------------------------- Andrew Morton (1): mm: revert "mm: shmem: fix data-race in shmem_getattr()" Dan Carpenter (1): fs/proc/task_mmu: prevent integer overflow in pagemap_scan_get_args() Dave Vasilevsky (1): crash, powerpc: default to CRASH_DUMP=3Dn on PPC_BOOK3S_32 Dmitry Antipov (1): ocfs2: uncache inode which has failed entering the group Jann Horn (1): mm/mremap: fix address wraparound in move_page_tables() Jinjiang Tu (1): mm: fix NULL pointer dereference in alloc_pages_bulk_noprof Kairui Song (1): mm, swap: fix allocation and scanning race with swapoff Motiejus Jak=C5`tys (1): tools/mm: fix compile error Qun-Wei Lin (1): sched/task_stack: fix object_is_on_stack() for KASAN tagged pointers Yafang Shao (1): mm, doc: update read_ahead_kb for MADV_HUGEPAGE Documentation/ABI/stable/sysfs-block | 3 +++ arch/arm/Kconfig | 3 +++ arch/arm64/Kconfig | 3 +++ arch/loongarch/Kconfig | 3 +++ arch/mips/Kconfig | 3 +++ arch/powerpc/Kconfig | 4 ++++ arch/riscv/Kconfig | 3 +++ arch/s390/Kconfig | 3 +++ arch/sh/Kconfig | 3 +++ arch/x86/Kconfig | 3 +++ fs/ocfs2/resize.c | 2 ++ fs/proc/task_mmu.c | 4 +++- include/linux/sched/task_stack.h | 2 ++ kernel/Kconfig.kexec | 2 +- mm/mremap.c | 2 +- mm/page_alloc.c | 3 ++- mm/shmem.c | 2 -- mm/swapfile.c | 22 +++++++++++++++++++--- tools/mm/page-types.c | 2 +- 19 files changed, 62 insertions(+), 10 deletions(-) . Date: Sun, 17 Nov 2024 12:13:25 +0100 From: Andi Shyti To: Wolfram Sang Cc: linux-i2c , lkml , Andi Shyti Subject: [GIT PULL] i2c-host for v6.13, part 1 Hi Wolfram, I'm a bit late with this pull request as I've been extremely busy over the last couple of weeks. I've checked the tag description multiple times to ensure it won't upset our big boss :-) I hope I've struck the right balance — descriptive but not overly so. Please feel free to suggest or recommend any changes. As I mentioned earlier, I'm slightly behind on reviews and merges. Thank you for allowing a pull request in the middle of the merge window (likely next Saturday or Sunday). In the meantime, if anyone needs me to take a closer look at anything I've missed, don't hesitate to ping me on those or reach out privately. Thank you, Andi The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623: Linux 6.12-rc7 (2024-11-10 14:19:35 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git tags/i2c-host-6.13-p1 for you to fetch changes up to 1922bc245541bd08e3282d8199c8ac703e366111: docs: i2c: piix4: Add ACPI section (2024-11-17 11:58:57 +0100) ---------------------------------------------------------------- i2c-host updates for v6.13, part 1 Improvements and Refactoring: - All controllers using the 'remove_new' callback have been reverted to use the 'remove' callback. - Makefile improvements (switched from '*-objs' to '*-y') - Intel SCH controller underwent significant refactoring: - Improved usage of private data references. - Transitioned to memory-mapped I/O functions. - Adopted 'devm' functions for resource management. - Added kernel-doc compatible comments. - Used 'const' where applicable. - Numerous smaller refinements. This brings love and a modern look to the driver. - Additional cleanups in the DesignWare driver. - PIIX4 driver updates: - Exposed functions and definitions in the header file to enable usage by other drivers (e.g., AMD ASF). - Nuvoton NPCM I2C controller: - Enhanced read/write operations and bus error (BER) flag management to address corner cases that could lead to timeouts. - Qualcomm CCI driver received several cleanups. - iMX/MXC: - Improved message handling to reduce I2C protocol overhead. - Refactored DMA/non-DMA read/write and bus polling mechanisms to achieve this. New Features: - i2c-cadence: - Added support for atomic transfers. - Refactored to group generic code into separate functions. - Qualcomm CCI: - Added support for a 32MHz serial engine clock. - Added support for: - HJMC01 DesignWare ACPI HID. - ACPI documentation for PIIX4. Deprecated Features: - Dropped support for AMD756 S4882 and NFORCE2 S4985. New Hardware Support: - Added support for: - Intel Panther Lake. - AMD ASF. - S32G2/S32G3 SoCs. - Realtek RTL I2C Controller. - New drivers: - 'i2c-amd-asf-plat.c' for AMD ASF. - 'i2c-rtl9300.c' for Realtek RTL. Fixes: - AMD ASF driver: - Fixed an uninitialised 'len' variable. Devicetree Updates: - Documented Qualcomm SDM670. - Added 'PIC64GX' compatibility to Microchip Core I2C binding. - Added support for S32G. ---------------------------------------------------------------- Andy Shevchenko (17): i2c: isch: Pass pointer to struct i2c_adapter down i2c: isch: Use string_choices API instead of ternary operator i2c: isch: Switch to memory mapped IO accessors i2c: isch: Use custom private data structure i2c: isch: switch i2c registration to devm functions i2c: isch: Utilize temporary variable to hold device pointer i2c: isch: Use read_poll_timeout() i2c: isch: Unify the name of the variable to hold an error code i2c: isch: Don't use "proxy" headers i2c: isch: Prefer to use octal permission i2c: isch: Convert to kernel-doc i2c: designware: Use temporary variable for struct device i2c: designware: Get rid of redundant 'else' i2c: designware: Remove 'cond' from i2c_dw_scl_hcnt() i2c: designware: Use sda_hold_time variable name everywhere i2c: designware: Fix spelling and other issues in the comments i2c: busses: Use *-y instead of *-objs in Makefile Bryan O'Donoghue (1): i2c: qcom-cci: Stop complaining about DT set clock rate Chris Packham (2): dt-bindings: i2c: Add Realtek RTL I2C Controller i2c: Add driver for the RTL9300 I2C controller Ciprian Marian Costea (2): dt-bindings: i2c: imx: add SoC specific compatible strings for S32G i2c: imx: add support for S32G2/S32G3 SoCs Hunter Yu (1): i2c: designware: Add a new ACPI HID for HJMC01 I2C controller Jarkko Nikula (1): i2c: i801: Add support for Intel Panther Lake Jean Delvare (1): i2c: Drop legacy muxing pseudo-drivers Jiapeng Chong (1): i2c: qcom-cci: Remove the unused variable cci_clk_rate Konstantin Aladyshev (1): docs: i2c: piix4: Add ACPI section Manikanta Guntupalli (3): i2c: cadence: Relocate cdns_i2c_runtime_suspend and cdns_i2c_runtime_resume to facilitate atomic mode i2c: cadence: Split cdns_i2c_master_xfer for Atomic Mode i2c: cadence: Add atomic transfer support for controller version 1.4 Manikanta Mylavarapu (1): i2c: qcom-geni: Support systems with 32MHz serial engine clock Pierre-Henry Moussay (1): dt-bindings: i2c: microchip: corei2c: Add PIC64GX as compatible with driver Qianqiang Liu (1): i2c: amd-asf: Fix uninitialized variables issue in amd_asf_process_target Raag Jadav (1): i2c: designware: constify abort_sources Richard Acayan (1): dt-bindings: i2c: qcom-cci: Document SDM670 compatible Shyam Sundar S K (8): i2c: piix4: Change the parameter list of piix4_transaction function i2c: piix4: Move i2c_piix4 macros and structures to common header i2c: piix4: Export i2c_piix4 driver functions as library i2c: amd-asf: Add ACPI support for AMD ASF Controller i2c: amd-asf: Add i2c_algorithm operations to support AMD ASF with SMBus i2c: amd-asf: Add routine to handle the ASF slave process i2c: amd-asf: Clear remote IRR bit to get successive interrupt MAINTAINERS: Add AMD ASF driver entry Stefan Eichenberger (3): i2c: imx: do not poll for bus busy in single master mode i2c: imx: separate atomic, dma and non-dma use case i2c: imx: prevent rescheduling in non dma mode Tyrone Ting (2): i2c: npcm: correct the read/write operation procedure i2c: npcm: use a software flag to indicate a BER condition Uwe Kleine-König (1): i2c: Switch back to struct platform_driver::remove() Vladimir Zapolskiy (1): i2c: qcom-cci: Remove unused struct member cci_clk_rate Wolfram Sang (1): i2c: qcom-geni: Keep comment why interrupts start disabled Documentation/devicetree/bindings/i2c/i2c-imx.yaml | 4 + .../devicetree/bindings/i2c/microchip,corei2c.yaml | 4 +- .../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 19 + .../bindings/i2c/realtek,rtl9301-i2c.yaml | 69 ++++ Documentation/i2c/busses/i2c-i801.rst | 1 + Documentation/i2c/busses/i2c-piix4.rst | 63 +++ MAINTAINERS | 17 +- drivers/i2c/busses/Kconfig | 65 ++-- drivers/i2c/busses/Makefile | 16 +- drivers/i2c/busses/i2c-altera.c | 2 +- drivers/i2c/busses/i2c-amd-asf-plat.c | 369 ++++++++++++++++++ drivers/i2c/busses/i2c-amd-mp2-plat.c | 2 +- drivers/i2c/busses/i2c-amd756-s4882.c | 245 ------------ drivers/i2c/busses/i2c-amd756.c | 4 +- drivers/i2c/busses/i2c-aspeed.c | 2 +- drivers/i2c/busses/i2c-at91-core.c | 2 +- drivers/i2c/busses/i2c-au1550.c | 2 +- drivers/i2c/busses/i2c-axxia.c | 2 +- drivers/i2c/busses/i2c-bcm-iproc.c | 2 +- drivers/i2c/busses/i2c-bcm-kona.c | 2 +- drivers/i2c/busses/i2c-bcm2835.c | 2 +- drivers/i2c/busses/i2c-brcmstb.c | 2 +- drivers/i2c/busses/i2c-cadence.c | 425 +++++++++++++++------ drivers/i2c/busses/i2c-cbus-gpio.c | 2 +- drivers/i2c/busses/i2c-cht-wc.c | 2 +- drivers/i2c/busses/i2c-cpm.c | 2 +- drivers/i2c/busses/i2c-cros-ec-tunnel.c | 2 +- drivers/i2c/busses/i2c-davinci.c | 2 +- drivers/i2c/busses/i2c-designware-amdpsp.c | 10 +- drivers/i2c/busses/i2c-designware-common.c | 68 ++-- drivers/i2c/busses/i2c-designware-core.h | 12 +- drivers/i2c/busses/i2c-designware-master.c | 17 +- drivers/i2c/busses/i2c-designware-pcidrv.c | 39 +- drivers/i2c/busses/i2c-designware-platdrv.c | 55 ++- drivers/i2c/busses/i2c-designware-slave.c | 6 +- drivers/i2c/busses/i2c-digicolor.c | 2 +- drivers/i2c/busses/i2c-dln2.c | 2 +- drivers/i2c/busses/i2c-emev2.c | 2 +- drivers/i2c/busses/i2c-exynos5.c | 2 +- drivers/i2c/busses/i2c-gpio.c | 2 +- drivers/i2c/busses/i2c-gxp.c | 2 +- drivers/i2c/busses/i2c-highlander.c | 2 +- drivers/i2c/busses/i2c-hix5hd2.c | 2 +- drivers/i2c/busses/i2c-i801.c | 6 + drivers/i2c/busses/i2c-ibm_iic.c | 2 +- drivers/i2c/busses/i2c-img-scb.c | 2 +- drivers/i2c/busses/i2c-imx-lpi2c.c | 2 +- drivers/i2c/busses/i2c-imx.c | 409 +++++++++++++++++--- drivers/i2c/busses/i2c-iop3xx.c | 2 +- drivers/i2c/busses/i2c-isch.c | 317 +++++++-------- drivers/i2c/busses/i2c-jz4780.c | 2 +- drivers/i2c/busses/i2c-kempld.c | 2 +- drivers/i2c/busses/i2c-lpc2k.c | 2 +- drivers/i2c/busses/i2c-meson.c | 2 +- drivers/i2c/busses/i2c-microchip-corei2c.c | 2 +- drivers/i2c/busses/i2c-mlxbf.c | 2 +- drivers/i2c/busses/i2c-mlxcpld.c | 2 +- drivers/i2c/busses/i2c-mpc.c | 2 +- drivers/i2c/busses/i2c-mt65xx.c | 2 +- drivers/i2c/busses/i2c-mt7621.c | 2 +- drivers/i2c/busses/i2c-mv64xxx.c | 2 +- drivers/i2c/busses/i2c-mxs.c | 2 +- drivers/i2c/busses/i2c-nforce2-s4985.c | 240 ------------ drivers/i2c/busses/i2c-nforce2.c | 16 - drivers/i2c/busses/i2c-npcm7xx.c | 24 +- drivers/i2c/busses/i2c-ocores.c | 2 +- drivers/i2c/busses/i2c-octeon-platdrv.c | 2 +- drivers/i2c/busses/i2c-omap.c | 2 +- drivers/i2c/busses/i2c-opal.c | 2 +- drivers/i2c/busses/i2c-pasemi-platform.c | 2 +- drivers/i2c/busses/i2c-pca-platform.c | 2 +- drivers/i2c/busses/i2c-piix4.c | 51 +-- drivers/i2c/busses/i2c-piix4.h | 44 +++ drivers/i2c/busses/i2c-pnx.c | 2 +- drivers/i2c/busses/i2c-powermac.c | 2 +- drivers/i2c/busses/i2c-pxa.c | 2 +- drivers/i2c/busses/i2c-qcom-cci.c | 23 +- drivers/i2c/busses/i2c-qcom-geni.c | 27 +- drivers/i2c/busses/i2c-qup.c | 2 +- drivers/i2c/busses/i2c-rcar.c | 2 +- drivers/i2c/busses/i2c-riic.c | 2 +- drivers/i2c/busses/i2c-rk3x.c | 2 +- drivers/i2c/busses/i2c-rtl9300.c | 423 ++++++++++++++++++++ drivers/i2c/busses/i2c-rzv2m.c | 2 +- drivers/i2c/busses/i2c-s3c2410.c | 2 +- drivers/i2c/busses/i2c-scmi.c | 2 +- drivers/i2c/busses/i2c-sh7760.c | 2 +- drivers/i2c/busses/i2c-sh_mobile.c | 2 +- drivers/i2c/busses/i2c-simtec.c | 2 +- drivers/i2c/busses/i2c-sprd.c | 2 +- drivers/i2c/busses/i2c-st.c | 2 +- drivers/i2c/busses/i2c-stm32f4.c | 2 +- drivers/i2c/busses/i2c-stm32f7.c | 2 +- drivers/i2c/busses/i2c-sun6i-p2wi.c | 2 +- drivers/i2c/busses/i2c-synquacer.c | 2 +- drivers/i2c/busses/i2c-tegra-bpmp.c | 2 +- drivers/i2c/busses/i2c-tegra.c | 2 +- drivers/i2c/busses/i2c-uniphier-f.c | 2 +- drivers/i2c/busses/i2c-uniphier.c | 2 +- drivers/i2c/busses/i2c-versatile.c | 2 +- drivers/i2c/busses/i2c-viai2c-wmt.c | 2 +- drivers/i2c/busses/i2c-viperboard.c | 2 +- drivers/i2c/busses/i2c-xgene-slimpro.c | 2 +- drivers/i2c/busses/i2c-xiic.c | 2 +- drivers/i2c/busses/i2c-xlp9xx.c | 2 +- drivers/i2c/busses/scx200_acb.c | 2 +- drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 2 +- drivers/i2c/muxes/i2c-demux-pinctrl.c | 2 +- drivers/i2c/muxes/i2c-mux-gpio.c | 2 +- drivers/i2c/muxes/i2c-mux-gpmux.c | 2 +- drivers/i2c/muxes/i2c-mux-mlxcpld.c | 2 +- drivers/i2c/muxes/i2c-mux-pinctrl.c | 2 +- drivers/i2c/muxes/i2c-mux-reg.c | 2 +- 113 files changed, 2116 insertions(+), 1136 deletions(-) create mode 100644 Documentation/devicetree/bindings/i2c/realtek,rtl9301-i2c.yaml create mode 100644 drivers/i2c/busses/i2c-amd-asf-plat.c delete mode 100644 drivers/i2c/busses/i2c-amd756-s4882.c delete mode 100644 drivers/i2c/busses/i2c-nforce2-s4985.c create mode 100644 drivers/i2c/busses/i2c-piix4.h create mode 100644 drivers/i2c/busses/i2c-rtl9300.c . Date: Sun, 17 Nov 2024 13:37:10 +0100 From: Borislav Petkov To: Linus Torvalds Cc: x86-ml , lkml Subject: [GIT PULL] x86/urgent for v6.12 Hi Linus, please pull the final set of x86/urgent fixes for v6.12. Thx. --- The following changes since commit 59b723cd2adbac2a34fc8e12c74ae26ae45bf230: Linux 6.12-rc6 (2024-11-03 14:05:52 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/x86_urgent_for_v6.12 for you to fetch changes up to 8d9ffb2fe65a6c4ef114e8d4f947958a12751bbe: x86/mm: Fix a kdump kernel failure on SME system when CONFIG_IMA_KEXEC=y (2024-11-13 14:11:33 +0100) ---------------------------------------------------------------- - Make sure a kdump kernel with CONFIG_IMA_KEXEC enabled and booted on an AMD SME enabled hardware properly decrypts the ima_kexec buffer information passed to it from the previous kernel - Fix building the kernel with Clang where a non-TLS definition of the stack protector guard cookie leads to bogus code generation - Clear a wrongly advertised virtualized VMLOAD/VMSAVE feature flag on some Zen4 client systems as those insns are not supported on client ---------------------------------------------------------------- Ard Biesheuvel (1): x86/stackprotector: Work around strict Clang TLS symbol requirements Baoquan He (1): x86/mm: Fix a kdump kernel failure on SME system when CONFIG_IMA_KEXEC=y Mario Limonciello (1): x86/CPU/AMD: Clear virtualized VMLOAD/VMSAVE on Zen4 client arch/x86/Makefile | 5 +++-- arch/x86/entry/entry.S | 16 ++++++++++++++++ arch/x86/include/asm/asm-prototypes.h | 3 +++ arch/x86/kernel/cpu/amd.c | 11 +++++++++++ arch/x86/kernel/cpu/common.c | 2 ++ arch/x86/kernel/vmlinux.lds.S | 3 +++ arch/x86/mm/ioremap.c | 6 ++++-- 7 files changed, 42 insertions(+), 4 deletions(-) -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette . Date: Sun, 17 Nov 2024 10:37:34 -0800 From: "Paul E. McKenney" To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, riel@surriel.com, neeraj.upadhyay@kernel.org, leobras@redhat.com, tglx@linutronix.de, peterz@infradead.org Subject: [GIT PULL] CSD-lock changes for v6.13 Hello, Linus, When the v6.13 merge window opens, please pull this CSD-lock update from: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/csd-lock.2024.11.16a # HEAD: 9861f7f66f98a6358c944c17a5d4acd07abcb1a7: locking/csd-lock: Switch from sched_clock() to ktime_get_mono_fast_ns() (2024-10-11 09:31:21 -0700) ---------------------------------------------------------------- CSD-lock diagnostic updates for v6.13 This commit switches from sched_clock() to ktime_get_mono_fast_ns(), which on x86 switches from the rdtsc instruction to the rdtscp instruction, thus avoiding instruction reorderings that cause false-positive reports of CSD-lock stalls of almost 2^46 nanoseconds. These false positives are rare, but really are seen in the wild. ---------------------------------------------------------------- Paul E. McKenney (1): locking/csd-lock: Switch from sched_clock() to ktime_get_mono_fast_ns() kernel/smp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) . Date: Sun, 17 Nov 2024 10:40:50 -0800 From: "Paul E. McKenney" To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, w@lwt.eu, linux@weissschuh.net, skhan@linuxfoundation.org Subject: [GIT PULL] nolibc changes for v6.13 Hello, Linus, Once the v6.13 merge window opens, please pull the latest nolibc changes from: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/nolibc.2024.11.01a # HEAD: ad0558f3883130954ca724697f2d19aef93967b3: selftests/nolibc: start qemu with 1 GiB of memory (2024-10-07 21:57:45 +0200) ---------------------------------------------------------------- nolibc changes for 6.13 Changes ------- * Fix potential error due to missing #include on s390 * Compatibility with -Wmissing-fallthrough * Run qemu with more memory during tests ---------------------------------------------------------------- Thomas Weißschuh (3): tools/nolibc: s390: include std.h tools/nolibc: compiler: add macro __nolibc_fallthrough selftests/nolibc: start qemu with 1 GiB of memory tools/include/nolibc/arch-s390.h | 1 + tools/include/nolibc/compiler.h | 6 ++++++ tools/include/nolibc/stdio.h | 3 ++- tools/testing/selftests/nolibc/Makefile | 4 ++-- 4 files changed, 11 insertions(+), 3 deletions(-) . Date: Sun, 17 Nov 2024 10:44:48 -0800 From: "Paul E. McKenney" To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, bigeasy@linutronix.de, dan.carpenter@linaro.org, boqun.feng@gmail.com Subject: [GIT PULL] scftorture changes for v6.13 Hello, Linus, Once the v6.13 merge window opens, please pull these scftorture changes from: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/scftorture.2024.11.16a # HEAD: f946cae86d088d02a2f9c0ae0bf8a80359d3f454: scftorture: Handle NULL argument passed to scf_add_to_free_list(). (2024-11-14 16:09:51 -0800) ---------------------------------------------------------------- scftorture changes for v6.13 o Avoid divide operation. o Fix cleanup code waiting for IPI handlers. o Move memory allocations out of preempt-disable region of code for PREEMPT_RT compatibility. o Use a lockless list to avoid freeing memory while interrupts are disabled, again for PREEMPT_RT compatibility. o Make lockless list scf_add_to_free_list() correctly handle freeing a NULL pointer. ---------------------------------------------------------------- Sebastian Andrzej Siewior (5): scftorture: Avoid additional div operation. scftorture: Wait until scf_cleanup_handler() completes. scftorture: Move memory allocation outside of preempt_disable region. scftorture: Use a lock-less list to free memory. scftorture: Handle NULL argument passed to scf_add_to_free_list(). kernel/scftorture.c | 54 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 10 deletions(-) .