Date: Mon, 26 Aug 2024 17:25:04 +0200 From: Christian Brauner To: Linus Torvalds Cc: Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] vfs fixes /* Summary */ This contains fixes for this merge window: VFS: - Ensure that backing files uses file->f_ops->splice_write() for splice. netfs: - Revert the removal of PG_private_2 from netfs_release_folio() as cephfs still relies on this. - When AS_RELEASE_ALWAYS is set on a mapping the folio needs to always be invalidated during truncation. - Fix losing untruncated data in a folio by making letting netfs_release_folio() return false if the folio is dirty. - Fix trimming of streaming-write folios in netfs_inval_folio() . - Reset iterator before retrying a short read. - Fix interaction of streaming writes with zero-point tracker afs: - During truncation afs currently calls truncate_setsize() which sets i_size, expands the pagecache and truncates it. The first two operations aren't needed because they will have already been done. So call truncate_pagecache() instead and skip the redundant parts. overlayfs: - Fix checking of the number of allowed lower layers so 500 layers can actually be used instead of just 499 - Add missing '\n' to pr_err() output. - Pass string to ovl_parse_layer() and thus allow it to be used for Opt_lowerdir as well. pidfd: - Revert blocking the creation of pidfds for kthread as apparently userspace relies on this. Specifically, it breaks systemd during shutdown. romfs: - Fix romfs_read_folio() to use the correct offset with folio_zero_tail(). /* Testing */ Debian clang version 16.0.6 (27+b1) gcc (Debian 14.2.0-1) 14.2.0 /* Conflicts */ No known conflicts. The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.11-rc6.fixes for you to fetch changes up to e00e99ba6c6b8e5239e75cd6684a6827d93c39a2: netfs: Fix interaction of streaming writes with zero-point tracker (2024-08-24 16:09:17 +0200) Please consider pulling these changes from the signed vfs-6.11-rc6.fixes tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.11-rc6.fixes ---------------------------------------------------------------- Christian Brauner (4): romfs: fix romfs_read_folio() Revert "pidfd: prevent creation of pidfds for kthreads" ovl: pass string to ovl_parse_layer() Merge patch series "ovl: simplify ovl_parse_param_lowerdir()" David Howells (7): netfs, ceph: Partially revert "netfs: Replace PG_fscache by setting folio->private and marking dirty" mm: Fix missing folio invalidation calls during truncation afs: Fix post-setattr file edit to do truncation correctly netfs: Fix netfs_release_folio() to say no if folio dirty netfs: Fix trimming of streaming-write folios in netfs_inval_folio() netfs: Fix missing iterator reset on retry of short read netfs: Fix interaction of streaming writes with zero-point tracker Ed Tsai (1): backing-file: convert to using fops->splice_write Zhihao Cheng (2): ovl: fix wrong lowerdir number check for parameter Opt_lowerdir ovl: ovl_parse_param_lowerdir: Add missed '\n' for pr_err fs/afs/inode.c | 11 ++++++--- fs/backing-file.c | 5 +++- fs/ceph/inode.c | 1 + fs/netfs/io.c | 1 + fs/netfs/misc.c | 60 ++++++++++++++++++++++++++++++++++++------------ fs/netfs/write_collect.c | 7 ++++++ fs/overlayfs/params.c | 51 ++++++++++------------------------------ fs/romfs/super.c | 2 +- kernel/fork.c | 25 +++----------------- mm/truncate.c | 4 ++-- 10 files changed, 84 insertions(+), 83 deletions(-) . Date: Tue, 27 Aug 2024 10:40:02 +0200 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.11-rc6 Linus, please pull sound fixes for v6.11-rc6 from: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-6.11-rc6 The topmost commit is 28b329f431cef840fddd9a9b493bc3eff1aa06c0 ---------------------------------------------------------------- sound fixes for 6.11-rc6 It became a bit larger collection of fixes than wished at this time, but all changes are small and mostly device-specific fixes that should be fairly safe to apply. Majority of fixes are about ASoC for AMD SOF, Cirrus codecs, lpass, etc, in addition to the usual HD-audio quirks / fixes. ---------------------------------------------------------------- Albert Jakieła (1): ASoC: SOF: mediatek: Add missing board compatible Dmitry Baryshkov (2): ASoC: codecs: lpass-macro: fix version strings returned for 1.x codecs ASoC: codecs: lpass-va-macro: warn on unknown version Hendrik Borghorst (1): ALSA: hda/realtek: support HP Pavilion Aero 13-bg0xxx Mute LED Hongbo Li (2): ASoC: allow module autoloading for table db1200_pids ASoC: allow module autoloading for table board_ids John Sweeney (1): ALSA: hda/realtek: Enable mute/micmute LEDs on HP Laptop 14-ey0xxx Kailang Yang (2): ALSA: hda/realtek - Fixed ALC256 headphone no sound ALSA: hda/realtek - FIxed ALC285 headphone no sound Krzysztof Kozlowski (2): ASoC: MAINTAINERS: Drop Banajit Goswami from Qualcomm sound drivers ASoC: codecs: wcd937x: Fix missing de-assert of reset GPIO Richard Fitzgerald (3): ASoC: cs-amp-lib-test: Force test calibration blob entries to be valid ASoC: cs-amp-lib: Ignore empty UEFI calibration entries ALSA: hda: hda_component: Fix mutex crash if nothing ever binds Simon Trimmer (1): ALSA: hda: cs35l56: Don't use the device index as a calibration index Takashi Iwai (1): ALSA: seq: Skip event type filtering for UMP events Vijendar Mukunda (3): ASoC: SOF: amd: move iram-dram fence register programming sequence ASoC: SOF: amd: Fix for incorrect acp error register offsets ASoC: SOF: amd: Fix for acp init sequence YOUNGJIN JOO (1): ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book3 Ultra YR Yang (1): ASoC: mediatek: mt8188: Mark AFE_DAC_CON0 register as volatile Yuntao Liu (1): ASoC: amd: acp: fix module autoloading --- MAINTAINERS | 1 - sound/core/seq/seq_clientmgr.c | 3 ++ sound/pci/hda/cs35l56_hda.c | 2 +- sound/pci/hda/hda_component.c | 5 +- sound/pci/hda/patch_realtek.c | 79 ++++++++++++++++++++---------- sound/soc/amd/acp/acp-legacy-mach.c | 2 + sound/soc/amd/acp/acp-sof-mach.c | 2 + sound/soc/au1x/db1200.c | 1 + sound/soc/codecs/cs-amp-lib-test.c | 9 ++++ sound/soc/codecs/cs-amp-lib.c | 7 ++- sound/soc/codecs/lpass-macro-common.h | 6 +++ sound/soc/codecs/lpass-va-macro.c | 4 ++ sound/soc/codecs/wcd937x.c | 5 +- sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 1 + sound/soc/sof/amd/acp-dsp-offset.h | 6 ++- sound/soc/sof/amd/acp.c | 52 +++++++++++++------- sound/soc/sof/amd/acp.h | 9 +++- sound/soc/sof/amd/pci-acp63.c | 2 + sound/soc/sof/amd/pci-rmb.c | 2 + sound/soc/sof/amd/pci-rn.c | 2 + sound/soc/sof/mediatek/mt8195/mt8195.c | 3 ++ 21 files changed, 149 insertions(+), 54 deletions(-) . Date: Tue, 27 Aug 2024 12:32:08 +0200 From: Petr Mladek To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, live-patching@vger.kernel.org Subject: [GIT PULL] livepatching selftest fixup for 6.11-rc6 Hi Linus, please pull a regression fix in livepatching selftests from git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching tags/livepatching-for-6.11-rc6 =================================================== - Fix a regression in a livepatching selftest. ---------------------------------------------------------------- Ryan Sullivan (1): selftests/livepatch: wait for atomic replace to occur tools/testing/selftests/livepatch/test-livepatch.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) . Date: Tue, 27 Aug 2024 14:16:33 +0200 From: Krzysztof Kozlowski To: Olof Johansson , Arnd Bergmann , arm@kernel.org, soc@kernel.org Cc: Krzysztof Kozlowski , Alim Akhtar , Peter Griffin , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski Subject: [GIT PULL 1/3] samsung: drivers for v6.12 The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-drivers-6.12 for you to fetch changes up to 259f5082721f1d17b4e5b9dc2bb430821afd95aa: dt-bindings: media: s5p-mfc: Remove s5p-mfc.txt binding (2024-08-26 14:34:51 +0200) ---------------------------------------------------------------- Samsung SoC drivers for v6.12 1. Improve Samsung USI (Universal Serial Interface) DT binding, 2. Cleanup old Samsung MFC TXT binding. ---------------------------------------------------------------- Aakarsh Jain (1): dt-bindings: media: s5p-mfc: Remove s5p-mfc.txt binding Krzysztof Kozlowski (1): dt-bindings: samsung: exynos-usi: add missing constraints Documentation/devicetree/bindings/media/s5p-mfc.txt | 0 .../devicetree/bindings/soc/samsung/exynos-usi.yaml | 15 +++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) delete mode 100644 Documentation/devicetree/bindings/media/s5p-mfc.txt . Date: Tue, 27 Aug 2024 14:20:10 +0200 From: Krzysztof Kozlowski To: Linus Walleij Cc: Krzysztof Kozlowski , Sylwester Nawrocki , Alim Akhtar , Peter Griffin , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Krzysztof Kozlowski Subject: [GIT PULL] pinctrl: samsung: drivers for v6.12 The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git tags/samsung-pinctrl-6.12 for you to fetch changes up to 39dbbd4e6778ac5580313ba34409855250633c61: pinctrl: samsung: Use kmemdup_array instead of kmemdup for multiple allocation (2024-08-23 15:40:55 +0200) ---------------------------------------------------------------- Samsung pinctrl drivers changes for v6.12 1. Few cleanups: use more appropriate of_property_present(), use scoped OF nodes handling and switch to kmemdup_array(). 2. Implement configuring pull-up and pull-down via GPIOLIB. ---------------------------------------------------------------- Peng Fan (1): pinctrl: samsung: Use scope based of_node_put() cleanups Rob Herring (Arm) (1): pinctrl: samsung: Use of_property_present() Shen Lichuan (1): pinctrl: samsung: Use kmemdup_array instead of kmemdup for multiple allocation Vishnu Reddy (1): pinctrl: samsung: Add support for pull-up and pull-down drivers/pinctrl/samsung/pinctrl-exynos-arm.c | 14 ++++ drivers/pinctrl/samsung/pinctrl-exynos.c | 16 +--- drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 14 ++++ drivers/pinctrl/samsung/pinctrl-samsung.c | 108 ++++++++++++++++++++++----- drivers/pinctrl/samsung/pinctrl-samsung.h | 21 ++++++ 5 files changed, 141 insertions(+), 32 deletions(-) . Date: Tue, 27 Aug 2024 14:29:25 +0200 From: Krzysztof Kozlowski To: Olof Johansson , Arnd Bergmann , arm@kernel.org, soc@kernel.org Cc: Krzysztof Kozlowski , linux-kernel@vger.kernel.org, Krzysztof Kozlowski Subject: [GIT PULL] memory: drivers for v6.12 Hi, I might have one more smaller pull request coming later. Best regards, Krzysztof The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git tags/memory-controller-drv-6.12 for you to fetch changes up to ff390189b7f2cfa20c644bc58b4462b5e2621838: memory: mtk-smi: Use devm_clk_get_enabled() (2024-08-25 11:02:17 +0200) ---------------------------------------------------------------- Memory controller drivers for v6.12 1. Tegra210 EMC: Driver refactoring and rework. 2. Tegra186 EMC: Drop unused function. 3. FSL WEIM: Correct fsl,weim-cs-timing property to properly validate it as an array. 4. TI AEMIF: Drop platform data support. 5. TI EMIF: Switch to of_property_read_bool(). 6. Several cleanups in multiple drivers: TI AEMIF and EMIF, Tegra EMC/MC, Atmel EBI, Samsung Exynos5422 DMC, STM32 FMC2 EBI, OMAP GPMC, PL172 and PL1353 SMC. These are mostly code simplifying around probe() like using - devm_clk_get_enabled(), - dev_err_probe(), - scoped device node handling (cleanup.h), - scoped for each OF child loops, - scoped/guard locks. ---------------------------------------------------------------- Bartosz Golaszewski (4): memory: ti-aemif: remove platform data support memory: ti-aemif: use devm_clk_get_enabled() and shrink the code memory: ti-aemif: don't needlessly iterate over child nodes memory: ti-aemif: Revert "memory: ti-aemif: don't needlessly iterate over child nodes" Diogo Ivo (7): memory: tegra: Remove periodic compensation duplicate calls memory: tegra: Move DQSOSC measurement to common place memory: tegra: Reword and correct comments memory: tegra: Change macros to interpret parameter as integer memory: tegra: Loop update_clock_tree_delay() memory: tegra: Move compare/update current delay values to a function memory: tegra: Rework update_clock_tree_delay() Krzysztof Kozlowski (21): memory: tegra186-emc: drop unused to_tegra186_emc() dt-bindings: memory-controllers: renesas,rpc-if: add top-level constraints memory: atmel-ebi: use scoped device node handling to simplify error paths memory: atmel-ebi: simplify with scoped for each OF child loop memory: samsung: exynos5422-dmc: simplify dmc->dev usage memory: samsung: exynos5422-dmc: use scoped device node handling to simplify error paths memory: stm32-fmc2-ebi: simplify with scoped for each OF child loop memory: stm32-fmc2-ebi: simplify with dev_err_probe() memory: tegra-mc: simplify with scoped for each OF child loop memory: tegra124-emc: simplify with scoped for each OF child loop memory: tegra20-emc: simplify with scoped for each OF child loop memory: tegra30-emc: simplify with scoped for each OF child loop memory: ti-aemif: simplify with dev_err_probe() memory: ti-aemif: simplify with scoped for each OF child loop memory: emif: drop unused 'irq_state' member memory: emif: simplify locking with guard() memory: omap-gpmc: simplify locking with guard() memory: pl172: simplify with dev_err_probe() memory: pl172: simplify with devm_clk_get_enabled() memory: pl353-smc: simplify with dev_err_probe() memory: pl353-smc: simplify with devm_clk_get_enabled() Rob Herring (Arm) (2): memory: emif: Use of_property_read_bool() dt-bindings: memory-controllers: fsl,imx-weim: Fix "fsl,weim-cs-timing" schema Rong Qianfeng (1): memory: mtk-smi: Use devm_clk_get_enabled() .../memory-controllers/fsl/fsl,imx-weim.yaml | 25 +- .../memory-controllers/renesas,rpc-if.yaml | 4 +- drivers/memory/atmel-ebi.c | 35 +- drivers/memory/emif.c | 31 +- drivers/memory/mtk-smi.c | 6 +- drivers/memory/omap-gpmc.c | 24 +- drivers/memory/pl172.c | 30 +- drivers/memory/pl353-smc.c | 50 +-- drivers/memory/samsung/exynos5422-dmc.c | 90 ++-- drivers/memory/stm32-fmc2-ebi.c | 23 +- drivers/memory/tegra/mc.c | 11 +- drivers/memory/tegra/tegra124-emc.c | 7 +- drivers/memory/tegra/tegra186-emc.c | 5 - drivers/memory/tegra/tegra20-emc.c | 7 +- drivers/memory/tegra/tegra210-emc-cc-r21021.c | 455 +++++---------------- drivers/memory/tegra/tegra30-emc.c | 7 +- drivers/memory/ti-aemif.c | 74 +--- include/linux/platform_data/ti-aemif.h | 45 -- 18 files changed, 236 insertions(+), 693 deletions(-) delete mode 100644 include/linux/platform_data/ti-aemif.h . Date: Tue, 27 Aug 2024 17:25:15 +0200 From: Linus Walleij To: Linus Torvalds Cc: "open list:GPIO SUBSYSTEM" , linux-kernel Subject: [GIT PULL] pin control fixes for v6.11 Hi Linus, here are some pin control fixes that have been stacking up in my tree. All driver fixes! Details in the signed tag as usual. Please pull it in! Yours, Linus Walleij The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b= : Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git tags/pinctrl-v6.11-2 for you to fetch changes up to 128f71fe014fc91efa1407ce549f94a9a9f1072c: pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins (2024-08-24 16:39:51 +0200) ---------------------------------------------------------------- Pin control fixes for the v6.11 series: - Fix the hwirq map and pin offsets in the Qualcomm X1E80100 driver. - Fix the pin range handling in the AT91 driver so it works again. - Fix a NULL-dereference risk in pinctrl single. - Fix a serious biasing bug in the Mediatek driver. - Fix the level trigged IRQ in the StarFive JH7110. - Fix the iomux width in the Rockchip GPIO2-B pin handling. ---------------------------------------------------------------- Hal Feng (1): pinctrl: starfive: jh7110: Correct the level trigger configuration of iev register Huang-Huang Bao (1): pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins Konrad Dybcio (2): pinctrl: qcom: x1e80100: Update PDC hwirq map pinctrl: qcom: x1e80100: Fix special pin offsets Ma Ke (1): pinctrl: single: fix potential NULL dereference in pcs_get_function() N=C3=ADcolas F. R. A. Prado (1): pinctrl: mediatek: common-v2: Fix broken bias-disable for PULL_PU_PD_RSEL_TYPE Thomas Blocher (1): pinctrl: at91: make it work with current gpiolib drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c | 55 ++++++++++++------= ---- drivers/pinctrl/pinctrl-at91.c | 5 +- drivers/pinctrl/pinctrl-rockchip.c | 2 +- drivers/pinctrl/pinctrl-single.c | 2 + drivers/pinctrl/qcom/pinctrl-x1e80100.c | 35 +++++++------- drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c | 4 +- 6 files changed, 57 insertions(+), 46 deletions(-) . Date: Tue, 27 Aug 2024 22:28:13 +0300 From: "Jarkko Sakkinen" To: "Linus Torvalds" Cc: "Peter Huewe" , "Jason Gunthorpe" , "David Howells" , , , , "Stefan Berger" Subject: [GIT PULL] TPM DEVICE DRIVER: tpmdd-next-6.11-rc6 The following changes since commit 3e9bff3bbe1355805de919f688bef4baefbfd436= : Merge tag 'vfs-6.11-rc6.fixes' of gitolite.kernel.org:pub/scm/linux/kerne= l/git/vfs/vfs (2024-08-27 16:57:35 +1200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git tags= /tpmdd-next-6.11-rc6 for you to fetch changes up to 08d08e2e9f0ad1af0044e4747723f66677c35ee9: tpm: ibmvtpm: Call tpm2_sessions_init() to initialize session support (20= 24-08-27 21:11:44 +0300) ---------------------------------------------------------------- Hi, Contains a bug fix for tpm_ibmvtpm driver so that it will take the bus encryption into use. BR, Jarkko ---------------------------------------------------------------- Stefan Berger (1): tpm: ibmvtpm: Call tpm2_sessions_init() to initialize session support drivers/char/tpm/tpm_ibmvtpm.c | 4 ++++ 1 file changed, 4 insertions(+) . Date: Tue, 27 Aug 2024 20:39:12 -0500 From: Steve French To: Linus Torvalds Cc: CIFS , LKML Subject: [GIT PULL] smb3 fixes Please pull the following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37: Linux 6.11-rc5 (2024-08-25 19:07:11 +1200) are available in the Git repository at: git://git.samba.org/sfrench/cifs-2.6.git tags/v6.11-rc5-client-fixes for you to fetch changes up to 416871f4fb84bc96822562e654941d5625a25bf8: cifs: Fix FALLOC_FL_PUNCH_HOLE support (2024-08-25 09:06:25 -0500) ---------------------------------------------------------------- Four cifs.ko client fixes - 2 RDMA/smbdirect fixes and a minor cleanup - punch hole fix ---------------------------------------------------------------- David Howells (1): cifs: Fix FALLOC_FL_PUNCH_HOLE support Stefan Metzmacher (3): smb/client: avoid dereferencing rdata=NULL in smb2_new_read_req() smb/client: remove unused rq_iter_size from struct smb_rqst smb/client: fix rdma usage in smb2_async_writev() fs/smb/client/cifsglob.h | 1 - fs/smb/client/cifssmb.c | 1 - fs/smb/client/smb2ops.c | 24 ++++++++++++++++++++++-- fs/smb/client/smb2pdu.c | 44 +++++++++++++++++++++----------------------- 4 files changed, 43 insertions(+), 27 deletions(-) -- Thanks, Steve . Date: Wed, 28 Aug 2024 12:52:37 +0300 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Linus Torvalds Cc: LKML , PDx86 , Hans de Goede , Andy Shevchenko Subject: [GIT PULL] platform-drivers-x86 for v6.11-5 Hi Linus, Here is a platform-drivers-x86 fixes PR for v6.11. None of the change looks complicated. In case you wonder, there are more IDs added to AMD PMC in this PR as it turned out the previous ones were not sufficient. Changes: - platform/x86/amd/pmc: AMD 1Ah model 60h series support (2nd attempt). - asus-wmi: Prevent spurious rfkill on Asus Zenbook Duo. - x86-android-tablets: Relax DMI match to cover another model. Regards, i. The following changes since commit 46ee21e9f59205e54943dfe51b2dc8a9352ca37d: platform/x86: ISST: Fix return value on last invalid resource (2024-08-20 14:19:09 +0300) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git tags/platform-drivers-x86-v6.11-5 for you to fetch changes up to a3379eca24a7da5118a7d090da6f8eb8611acac8: platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F DMI match less strict (2024-08-26 14:34:33 +0300) ---------------------------------------------------------------- platform-drivers-x86 for v6.11-5 Changes: - platform/x86/amd/pmc: AMD 1Ah model 60h series support (2nd attempt). - asus-wmi: Prevent spurious rfkill on Asus Zenbook Duo. - x86-android-tablets: Relax DMI match to cover another model. The following is an automated shortlog grouped by driver: amd/pmc: - Extend support for PMC features on new AMD platform - Fix SMU command submission path on new AMD platform asus-wmi: - Fix spurious rfkill on UX8406MA x86-android-tablets: - Make Lenovo Yoga Tab 3 X90F DMI match less strict ---------------------------------------------------------------- Hans de Goede (1): platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F DMI match less strict Mathieu Fenniak (1): platform/x86: asus-wmi: Fix spurious rfkill on UX8406MA Shyam Sundar S K (2): platform/x86/amd/pmc: Fix SMU command submission path on new AMD platform platform/x86/amd/pmc: Extend support for PMC features on new AMD platform drivers/platform/x86/amd/pmc/pmc.c | 3 +++ drivers/platform/x86/asus-nb-wmi.c | 20 +++++++++++++++++++- drivers/platform/x86/asus-wmi.h | 1 + drivers/platform/x86/x86-android-tablets/dmi.c | 1 - 4 files changed, 23 insertions(+), 2 deletions(-) . Date: Wed, 28 Aug 2024 13:23:12 +0200 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 fixes for 6.11-rc6 Hi, a few more misc fixes. Please pull, thanks. - fix use-after-free when submitting bios for read, after an error and partially submitted bio the original one is freed while it can be still be accessed again - fix fstests case btrfs/301, with enabled quotas wait for delayed iputs when flushing delalloc - fix regression in periodic block group reclaim, an unitialized value can be returned if there are no block groups to reclaim - fix build warning (-Wmaybe-uninitialized) ---------------------------------------------------------------- The following changes since commit 534f7eff9239c1b0af852fc33f5af2b62c00eddf: btrfs: only enable extent map shrinker for DEBUG builds (2024-08-16 21:22:39 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.11-rc5-tag for you to fetch changes up to ecb54277cb63c273e8d74272e5b9bfd80c2185d9: btrfs: fix uninitialized return value from btrfs_reclaim_sweep() (2024-08-27 16:42:09 +0200) ---------------------------------------------------------------- David Sterba (1): btrfs: initialize last_extent_end to fix -Wmaybe-uninitialized warning in extent_fiemap() Filipe Manana (1): btrfs: fix uninitialized return value from btrfs_reclaim_sweep() Josef Bacik (1): btrfs: run delayed iputs when flushing delalloc Qu Wenruo (1): btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk() fs/btrfs/bio.c | 26 ++++++++++++++++++-------- fs/btrfs/fiemap.c | 2 +- fs/btrfs/qgroup.c | 2 ++ fs/btrfs/space-info.c | 17 +++++------------ fs/btrfs/space-info.h | 2 +- 5 files changed, 27 insertions(+), 22 deletions(-) . Date: Wed, 28 Aug 2024 21:44:08 +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.11-rc6 The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37: Linux 6.11-rc5 (2024-08-25 19:07:11 +1200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git tags/loongarch-fixes-6.11-2 for you to fetch changes up to 4956e07f05e239b274d042618a250c9fa3e92629: LoongArch: KVM: Invalidate guest steal time address on vCPU reset (2024-08-26 23:11:32 +0800) ---------------------------------------------------------------- LoongArch fixes for v6.11-rc6 Remove the unused dma-direct.h, and some bug & warning fixes. ---------------------------------------------------------------- Bibo Mao (1): LoongArch: KVM: Invalidate guest steal time address on vCPU reset Huacai Chen (1): LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE Miao Wang (1): LoongArch: Remove the unused dma-direct.h Tiezhu Yang (1): LoongArch: Add ifdefs to fix LSX and LASX related warnings arch/loongarch/include/asm/dma-direct.h | 11 ----------- arch/loongarch/include/asm/hw_irq.h | 2 ++ arch/loongarch/include/asm/kvm_vcpu.h | 1 - arch/loongarch/kernel/fpu.S | 4 ++++ arch/loongarch/kernel/irq.c | 3 --- arch/loongarch/kvm/switch.S | 4 ++++ arch/loongarch/kvm/timer.c | 7 ------- arch/loongarch/kvm/vcpu.c | 2 +- 8 files changed, 11 insertions(+), 23 deletions(-) delete mode 100644 arch/loongarch/include/asm/dma-direct.h . Date: Wed, 28 Aug 2024 10:00:11 -0400 From: Chuck Lever To: Linus Torvalds Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton Subject: [GIT PULL] More NFSD fixes for v6.11-rc The following changes since commit 91da337e5d506f2c065d20529d105ca40090e320: nfsd: don't set SVC_SOCK_ANONYMOUS when creating nfsd sockets (2024-07-22 09:47:39 -0400) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-6.11-2 for you to fetch changes up to 7e8ae8486e4471513e2111aba6ac29f2357bed2a: fs/nfsd: fix update of inode attrs in CB_GETATTR (2024-08-26 19:04:00 -0400) ---------------------------------------------------------------- nfsd-6.11 fixes: - Fix a number of crashers - Update email address for an NFSD reviewer ---------------------------------------------------------------- Chuck Lever (1): MAINTAINERS: Update Olga Kornievskaia's email address Jeff Layton (4): nfsd: ensure that nfsd4_fattr_args.context is zeroed out nfsd: hold reference to delegation when updating it for cb_getattr nfsd: fix potential UAF in nfsd4_cb_getattr_release fs/nfsd: fix update of inode attrs in CB_GETATTR Olga Kornievskaia (1): nfsd: prevent panic for nfsv4.0 closed files in nfs4_show_open MAINTAINERS | 2 +- fs/attr.c | 14 +++++++++++--- fs/nfsd/nfs4state.c | 51 +++++++++++++++++++++++++++++++++------------------ fs/nfsd/nfs4xdr.c | 6 ++++-- fs/nfsd/state.h | 2 +- include/linux/fs.h | 1 + 6 files changed, 51 insertions(+), 25 deletions(-) -- Chuck Lever . Date: Thu, 29 Aug 2024 02:42:46 +0200 From: "Jason A. Donenfeld" To: Linus Torvalds Cc: linux-kernel@vger.kernel.org Subject: [GIT PULL] random number generator fixes for 6.11-rc6 Hi Linus, This pull has one small fix: - Reject invalid flags passed to vgetrandom() in the same way that getrandom() does, so that the behavior is the same, from Yann. The flags argument to getrandom() only has a behavioral effect on the function if the RNG isn't initialized yet, so vgetrandom() falls back to the syscall in that case. But if the RNG is initialized, all of the flags behave the same way, so vgetrandom() didn't bother checking them, and just ignored them entirely. But that doesn't account for invalid flags passed in, which need to be rejected so we can use them later. Please pull. Side note: there are now enablements of vgetrandom() in review for arm64, ppc, and loongarch, and hopefully they'll be ready for 6.12. In the process of getting this wired up on several archs, various build, selftest, header, and other bureaucratic-style gotchas have been found and fixed. Originally my plan was to send you a pull containing those fixes, for 6.11, so that the actual new arch code could then go in via each respective arch tree for 6.12. But these little fixes have started to pile up, and some of the build ones deserve a bit of care and testing under different circumstances, so I'd like to actually let these cook in linux-next for a while longer and send them for 6.12 instead. And it's not like they actually fix any _current_ issue, as the x86 codegen is the same; they just fix bugs in order to enable other archs later. So now my current plan is to send these to you for 6.12, alongside the new arch enablements in that same pull, after receiving acks from the arch maintainers to do that. If you are curious or do want these build fixes now for some reason, though, they're all sitting in my tree. Thanks, Jason The following changes since commit dc1c8034e31b14a2e5e212104ec508aec44ce1b9: minmax: simplify min()/max()/clamp() implementation (2024-07-28 20:24:12 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git tags/random-6.11-rc6-for-linus for you to fetch changes up to 28f5df210d06beb5920cf80446f1c27456c14b92: random: vDSO: reject unknown getrandom() flags (2024-08-26 09:58:52 +0200) ---------------------------------------------------------------- Random number generator fixes for Linux 6.11-rc6. ---------------------------------------------------------------- Yann Droneaud (1): random: vDSO: reject unknown getrandom() flags lib/vdso/getrandom.c | 4 ++++ 1 file changed, 4 insertions(+) . Date: Thu, 29 Aug 2024 07:33:08 -0700 From: Guenter Roeck To: Linus Torvalds Cc: linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] hwmon fixes for v6.11-rc6 Hi Linus, Please pull hwmon fixes for Linux v6.11-rc6 from signed tag: git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-for-v6.11-rc6 Thanks, Guenter ------ The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37: Linux 6.11-rc5 (2024-08-25 19:07:11 +1200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git tags/hwmon-for-v6.11-rc6 for you to fetch changes up to 7bbc079531fc38d401e1c4088d4981435a8828e3: hwmon: (pt5161l) Fix invalid temperature reading (2024-08-26 20:58:05 -0700) ---------------------------------------------------------------- hwmon fixes for v6.11-rc6 - pt5161l: Fix invalid temperature reading of bad ADC values - asus-ec-sensors: Remove unsupported VRM temperature from X570-E GAMING ---------------------------------------------------------------- Cosmo Chou (1): hwmon: (pt5161l) Fix invalid temperature reading Ross Brown (1): hwmon: (asus-ec-sensors) remove VRM temp X570-E GAMING drivers/hwmon/asus-ec-sensors.c | 2 +- drivers/hwmon/pt5161l.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) . Date: Thu, 29 Aug 2024 13:05:01 -0700 From: Kees Cook To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Greg Ungerer , Kees Cook , Max Filippov Subject: [GIT PULL] execve fix for v6.11-rc6 Hi Linus, Please pull this one small execve fix for v6.11-rc6. Thanks! -Kees The following changes since commit f50733b45d865f91db90919f8311e2127ce5a0cb: exec: Fix ToCToU between perm check and set-uid/gid usage (2024-08-13 13:24:29 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/execve-v6.11-rc6 for you to fetch changes up to c6a09e342f8e6d3cac7f7c5c14085236aca284b9: binfmt_elf_fdpic: fix AUXV size calculation when ELF_HWCAP2 is defined (2024-08-26 13:00:38 -0700) ---------------------------------------------------------------- execve fix for v6.11-rc6 - binfmt_elf_fdpic: fix AUXV size with ELF_HWCAP2 (Max Filippov) ---------------------------------------------------------------- Max Filippov (1): binfmt_elf_fdpic: fix AUXV size calculation when ELF_HWCAP2 is defined fs/binfmt_elf_fdpic.c | 3 +++ 1 file changed, 3 insertions(+) -- Kees Cook . Date: Fri, 30 Aug 2024 12:08:41 +1000 From: Dave Airlie To: Linus Torvalds , Daniel Vetter Cc: dri-devel , LKML Subject: [git pull] drm fixes for 6.11-rc6 Hey Linus, Another week, another set of GPU fixes. amdgpu and vmwgfx leading the charge, then i915 and xe changes along with v3d and some other bits. The TTM revert is due to some stuttering graphical apps probably due to longer stalls while prefaulting. Seems pretty much where I'd expect things, Dave. drm-fixes-2024-08-30: drm fixes for 6.11-rc6 ttm: - revert prefault change, caused stutters aperture: - handle non-VGA devices bettter amdgpu: - SWSMU gaming stability fix - SMU 13.0.7 fix - SWSMU documentation alignment fix - SMU 14.0.x fixes - GC 12.x fix - Display fix - IP discovery fix - SMU 13.0.6 fix i915: - Fix #11195: The external display connect via USB type-C dock stays blank after re-connect the dock - Make DSI backlight work for 2G version of Lenovo Yoga Tab 3 X90F - Move ARL GuC firmware to correct version xe: - Invalidate media_gt TLBs - Fix HWMON i1 power setup write command vmwgfx: - prevent unmapping active read buffers - fix prime with external buffers - disable coherent dumb buffers without 3d v3d: - disable preemption while updating GPU stats The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37: Linux 6.11-rc5 (2024-08-25 19:07:11 +1200) are available in the Git repository at: https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2024-08-30 for you to fetch changes up to 27f5b729cb56e46d8beca47c227c0edf1e958fbb: Merge tag 'drm-misc-fixes-2024-08-29' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes (2024-08-30 11:28:11 +1000) ---------------------------------------------------------------- drm fixes for 6.11-rc6 ttm: - revert prefault change, caused stutters aperture: - handle non-VGA devices bettter amdgpu: - SWSMU gaming stability fix - SMU 13.0.7 fix - SWSMU documentation alignment fix - SMU 14.0.x fixes - GC 12.x fix - Display fix - IP discovery fix - SMU 13.0.6 fix i915: - Fix #11195: The external display connect via USB type-C dock stays blank after re-connect the dock - Make DSI backlight work for 2G version of Lenovo Yoga Tab 3 X90F - Move ARL GuC firmware to correct version xe: - Invalidate media_gt TLBs - Fix HWMON i1 power setup write command vmwgfx: - prevent unmapping active read buffers - fix prime with external buffers - disable coherent dumb buffers without 3d v3d: - disable preemption while updating GPU stats ---------------------------------------------------------------- Alex Deucher (6): Revert "drm/ttm: increase ttm pre-fault value to PMD size" video/aperture: optionally match the device in sysfb_disable() drm/amdgpu: align pp_power_profile_mode with kernel docs drm/amdgpu/smu13.0.7: print index for profiles drm/amdgpu/swsmu: always force a state reprogram on init drm/amdgpu/gfx12: set UNORD_DISPATCH in compute MQDs Candice Li (1): drm/amd/pm: Drop unsupported features on smu v14_0_2 Dave Airlie (4): Merge tag 'amd-drm-fixes-6.11-2024-08-28' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes Merge tag 'drm-intel-fixes-2024-08-29' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes Merge tag 'drm-xe-fixes-2024-08-29' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes Merge tag 'drm-misc-fixes-2024-08-29' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes Hans de Goede (1): drm/i915/dsi: Make Lenovo Yoga Tab 3 X90F DMI match less strict Imre Deak (1): drm/i915/dp_mst: Fix MST state after a sink reset John Harrison (1): drm/i915: ARL requires a newer GSC firmware Karthik Poosa (1): drm/xe/hwmon: Fix WRITE_I1 param from u32 to u16 Kenneth Feng (1): drm/amd/pm: update message interface for smu v14.0.2/3 Lijo Lazar (1): drm/amd/pm: Add support for new P2S table revision Likun Gao (1): drm/amdgpu: support for gc_info table v1.3 Ma Ke (1): drm/amd/display: avoid using null object of framebuffer Matthew Brost (1): drm/xe: Invalidate media_gt TLBs Tvrtko Ursulin (1): drm/v3d: Disable preemption while updating GPU stats Zack Rusin (3): drm/vmwgfx: Prevent unmapping active read buffers drm/vmwgfx: Fix prime with external buffers drm/vmwgfx: Disable coherent dumb buffers without 3d drivers/firmware/sysfb.c | 19 ++-- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 11 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 6 ++ drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 2 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c | 1 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 9 +- drivers/gpu/drm/amd/include/discovery.h | 42 ++++++++ drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 21 ++-- .../amd/pm/swsmu/inc/pmfw_if/smu_v14_0_2_ppsmc.h | 18 +++- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 7 +- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 4 +- .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 48 --------- drivers/gpu/drm/i915/display/intel_dp.c | 12 +++ drivers/gpu/drm/i915/display/intel_dp_mst.c | 40 ++++++++ drivers/gpu/drm/i915/display/intel_dp_mst.h | 1 + drivers/gpu/drm/i915/display/vlv_dsi.c | 1 - drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 31 ++++++ drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 10 +- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/intel_device_info.c | 7 ++ drivers/gpu/drm/i915/intel_device_info.h | 3 + drivers/gpu/drm/v3d/v3d_sched.c | 6 ++ drivers/gpu/drm/vmwgfx/vmwgfx_blit.c | 114 ++++++++++++++++++++- drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 13 ++- drivers/gpu/drm/vmwgfx/vmwgfx_bo.h | 3 + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 12 +-- drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 6 +- drivers/gpu/drm/xe/xe_hwmon.c | 2 +- drivers/gpu/drm/xe/xe_vm.c | 37 ++++--- drivers/of/platform.c | 2 +- drivers/video/aperture.c | 11 +- include/drm/intel/i915_pciids.h | 11 +- include/drm/ttm/ttm_bo.h | 4 - include/linux/sysfb.h | 4 +- 35 files changed, 398 insertions(+), 126 deletions(-) . Date: Fri, 30 Aug 2024 14:48:49 +0200 From: Joerg Roedel To: Linus Torvalds Cc: Will Deacon , linux-kernel@vger.kernel.org, iommu@lists.linux.dev Subject: [git pull] IOMMU Fixes for Linux v6.11-rc5 --7GN+MAVE67h3RWRK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Linus, The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-fixes-v6.11-rc5 for you to fetch changes up to 51eeef9a482bcb00f6f75eda4de9bd013092b76f: MAINTAINERS: Add Jean-Philippe as SMMUv3 SVA reviewer (2024-08-26 09:17:36 +0200) ---------------------------------------------------------------- IOMMU Fixes for Linux v6.11-rc5 Including: - Fix a device-stall problem in bad io-page-fault setups (faults received from devices with no supporting domain attached). - Context flush fix for Intel VT-d. - Do not allow non-read+non-write mapping through iommufd as most implementations can not handle that. - Fix a possible infinite-loop issue in map_pages() path. - Add Jean-Philippe as reviewer for SMMUv3 SVA support ---------------------------------------------------------------- Jason Gunthorpe (2): iommufd: Do not allow creating areas without READ or WRITE iommu: Do not return 0 from map_pages if it doesn't do anything Lu Baolu (1): iommu/vt-d: Fix incorrect domain ID in context flush helper Pranjal Shrivastava (1): iommu: Handle iommu faults for a bad iopf setup Will Deacon (1): MAINTAINERS: Add Jean-Philippe as SMMUv3 SVA reviewer MAINTAINERS | 4 + drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 +- drivers/iommu/intel/iommu.c | 8 +- drivers/iommu/intel/iommu.h | 2 +- drivers/iommu/intel/pasid.c | 7 +- drivers/iommu/io-pgfault.c | 121 +++++++++++++++++++--------- drivers/iommu/io-pgtable-arm-v7s.c | 3 +- drivers/iommu/io-pgtable-arm.c | 3 +- drivers/iommu/io-pgtable-dart.c | 3 +- drivers/iommu/iommufd/ioas.c | 8 ++ include/linux/iommu.h | 5 +- tools/testing/selftests/iommu/iommufd.c | 6 +- 12 files changed, 116 insertions(+), 56 deletions(-) Please pull. Thanks, Joerg --7GN+MAVE67h3RWRK Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEr9jSbILcajRFYWYyK/BELZcBGuMFAmbRv7EACgkQK/BELZcB GuN4fg/+NoQ1blmYcWF59PAblVXqjulH33l7FjZERNVrLa0X5IBj7VC5HRebFm3O 8iiSrTs3zkYB4axrJWi6NzNpR+Yfiw29Rrvfjtha8b/zqRdF4YXAQYWcjKCu5EOa NhFIMoFDTYW5pnQKS6fWXZZsroud0oCf6p63kfH/qcrTI4CK2Rxt7pxHWVX1JAxp xNz9j1jcJ7NVZjGnrAbGOLAjrEJzvWUmnHCSpyANaArSWPPmCYXhkXI+qghGPKrx KPGpT6u6p6LH60aENcs24Mw7vTi/3wf5MTbGaCM1y8Wxvsb/OiycnNb/hu55uZIY uRb+TijEgycKvyaqkhqET7V96ku5loIcQPn7zzNwxQROR36KNfqrRz4Q7HU2ilQU VNlqHLZ390PJqCcxvIvnaqB0A3JDoVqCTGvK199CLJLjyi3YqzwT00+4Tf++kcwj NLrOPZphXXZpJ+lFi+x6PH9anKS07szY2lEsTqySqJG+GVreOOcMLtl/QbcbECFS wQa9DYWVqZWKZfNfb5xthDsIFNm/W7YMVlcPUvkQ+EqSlUmWvwa8qYdSy9D4E36q NEerK9rNyQFgyHaOjZmRnyRLlQylRUAHa64Iho4tktx/I6TOZpETzYnTkM6noI46 E+DYLkG6SjfSpcN4ZlqqyyrDhNIO+aJrG2dGi6UaZ/bbM2vk8D8= =kdPw -----END PGP SIGNATURE----- --7GN+MAVE67h3RWRK-- . Date: Fri, 30 Aug 2024 18:22:48 +0530 From: Vinod Koul To: Linus Torvalds Cc: LKML Subject: [GIT PULL]: soundwire fixes for v6.11 --t06nQat4wuDdFqww Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello Linus, Please pull to receive a single core fix for soundwire subsystem for this cycle. The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git tags/so= undwire-6.11-fixes for you to fetch changes up to ab8d66d132bc8f1992d3eb6cab8d32dda6733c84: soundwire: stream: fix programming slave ports for non-continous port map= s (2024-08-17 22:55:05 +0530) ---------------------------------------------------------------- soundwire fixes for 6.11 - Single fix for non-continous port map programming ---------------------------------------------------------------- Krzysztof Kozlowski (1): soundwire: stream: fix programming slave ports for non-continous port= maps drivers/soundwire/stream.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --=20 ~Vinod --t06nQat4wuDdFqww Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmbRwKAACgkQfBQHDyUj g0fTxg/8DVwBa4vefmmBVFmrXqw+GZQxPoJOjC7winlLuXpRtar44kRd2YDknsC+ ZupWuqQojM2Ok3Qtr/OjV9mTINuJoYFxZ1e2dnOPxuQRyab8s2WtkqQ1Q39DbsIc nGeYbeu/wTrv2vSYITGr0xfv8/WejBmMsozW42xzMIY6kpu6MmYppKCCGc1PDvly 2nlOjuc9yDgcFVH0m+LMZhJcbo4msgdVOgWXH6YYXlFzr5qWSs5tnNX/2a/bcvR3 vZ0m8jW8Op3k3hw8wZ0Op6smopdyWFR251BW05B43ZuegCnBKUVGi7H7y/FbNwv/ ItYMNBKhT4aH8AISh3UDIKncu4snrI95Yg4BOVtPtLooYGJWy/5Uj5ijkDEVS0k9 u+hWyAomxqt4RnKUqfOjtpX0fbxdq1WTtsy80dUTzJRCdxW8yF/EIInQxcFqisZa Vk5yxdudGZXKDql4BC62k3Ii/bEdcY2u5qSKn5XMJiHdEBYiAFOucgVkUlQNiK/f iudfLmAiNjBjmXiEnvBY26IZJNlA++NnNNmW34eLRAdu/w+/yUMK10ovXg0dkpHE X1tifJINKpWYVz73yeLLee5106XDikUPAIc98QrqjkQ9szxJvYVp61UCm0l29rjr EyM/p7B1+EY3nFauI/47vfecALk3uh98PUDjzvBwa25dbi+8I0A= =Msn9 -----END PGP SIGNATURE----- --t06nQat4wuDdFqww-- . Date: Fri, 30 Aug 2024 18:25:33 +0530 From: Vinod Koul To: Linus Torvalds Cc: LKML Subject: [GIT PULL]: Generic phy fixes for v6.11 --/xZ6BnYIQSePr9QK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello Linus, Please pull to receive couple of phy driver fixes. The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git tags/phy-= fixes-6.11 for you to fetch changes up to 5af9b304bc6010723c02f74de0bfd24ff19b1a10: phy: xilinx: phy-zynqmp: Fix SGMII linkup failure on resume (2024-08-05 2= 1:46:58 +0530) ---------------------------------------------------------------- phy fixes for 6.11 - Qualcomm QMP X1E80100 PCIe Gen4 PHY initialisation fix - Freescale imx8mq tuning parameter name fix - Samsung exynos5 fir for error code in probe() - Xilinx Zynqmp SGMII linkup failure fix ---------------------------------------------------------------- Abel Vesa (1): phy: qcom: qmp-pcie: Fix X1E80100 PCIe Gen4 PHY initialisation Dan Carpenter (1): phy: exynos5-usbdrd: fix error code in probe() Piyush Mehta (1): phy: xilinx: phy-zynqmp: Fix SGMII linkup failure on resume Xu Yang (1): phy: fsl-imx8mq-usb: fix tuning parameter name drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 2 +- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 23 ++++++++---- drivers/phy/samsung/phy-exynos5-usbdrd.c | 2 +- drivers/phy/xilinx/phy-zynqmp.c | 56 ++++++++++++++++++++++++++= ++++ 4 files changed, 74 insertions(+), 9 deletions(-) --=20 ~Vinod --/xZ6BnYIQSePr9QK Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmbRwUUACgkQfBQHDyUj g0eX9RAAuLy+uikE8cyzIoyViytHWRFT0ngvDVxU32H3u5QMaIqYQlh4xOG6AzTu uDNZXDfv+m9DjOvALNaUfrMmsx3teckvjUT8RJvWFWHV3EJfNH5xZV/+tpu++Xv2 BCXEi/WSkY6Nnd4C3ah/818+Mw8/Pv8gMptatqN/a45wXzBggAGpUd92O28z61/v YI5oYmNLqnKGWePFYqDAxfFj3q8P2PsBR2SLFXlfx8f9yVr76MvylQofzakPsO+6 EEWb0/YCJlyfX8tpw/GZqF/fTHFuCGQU852rseyoR88ONNpQBA0W/5Z4OeogIFAA OHq6ejYYbI6x4tzJUNArzCQ5wzSpRcWArLrFEgW7D4Xt6k7ZVwu79IWg8i9wfS2c cDNR20+0qhXRB85M7Rl3TYSFbOpYVi39K5wngNVCMM2rnZWTZ2Mo98RrVW+gTFGZ jCRbUGp7HmAUyk9fjLWlQHHo6k+huXBkczzqXxzMwMlNL6uHpRcL87pgRecS99AM wmEwd2gXeQ6BAP9EgmJ9kdqVxK0U/doWELHgccKy6wuRRkioIPslUH4XwbB7884Z uaYwVOb9iW/Kch3ncD794COyExWDePnlDoUOZ9nzaa4NKP/9LBsL34Yb0yB/ouXG qrSb3DsZsZigF2vMW2pHxm90Io/OQocAnNynw4NFV/udWiTTpOg= =/PBy -----END PGP SIGNATURE----- --/xZ6BnYIQSePr9QK-- . Date: Fri, 30 Aug 2024 18:27:50 +0530 From: Vinod Koul To: Linus Torvalds Cc: LKML Subject: [GIT PULL]: dmanegine fixes for v6.11 --DjAHJzx7f1mTrGS6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello Linus, Last one for the weekend, so please pull the dmaengine fixes which contain the driver fixes for couple of them. The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git tags/dm= aengine-fix-6.11 for you to fetch changes up to 9f646ff25c09c52cebe726601db27a60f876f15e: dmaengine: dw-edma: Do not enable watermark interrupts for HDMA (2024-08-= 28 18:40:17 +0530) ---------------------------------------------------------------- dmaengine fixes for v6.11 Driver fixes for: - Bunch of dw driver changes to fix the src/dst addr width config - Omap driver fix for sglen initialization - stm32-dma3 driver lli_size init fix - dw edma driver fixes for watermark interrupts and unmasking STOP and ABORT interrupts ---------------------------------------------------------------- Kees Cook (2): dmaengine: ti: omap-dma: Initialize sglen after allocation dmaengine: stm32-dma3: Set lli_size after allocation Mrinmay Sarkar (2): dmaengine: dw-edma: Fix unmasking STOP and ABORT interrupts for HDMA dmaengine: dw-edma: Do not enable watermark interrupts for HDMA Serge Semin (6): dmaengine: dw: Add peripheral bus width verification dmaengine: dw: Add memory bus width verification dmaengine: dw: Simplify prepare CTL_LO methods dmaengine: dw: Define encode_maxburst() above prepare_ctllo() callbac= ks dmaengine: dw: Simplify max-burst calculation procedure dmaengine: dw: Unify ret-val local variables naming drivers/dma/dw-edma/dw-hdma-v0-core.c | 26 +++---- drivers/dma/dw/core.c | 131 ++++++++++++++++++++++++++++--= ---- drivers/dma/dw/dw.c | 44 +++++++----- drivers/dma/dw/idma32.c | 19 ++--- drivers/dma/dw/platform.c | 20 +++--- drivers/dma/dw/regs.h | 1 - drivers/dma/stm32/stm32-dma3.c | 2 +- drivers/dma/ti/omap-dma.c | 6 +- 8 files changed, 168 insertions(+), 81 deletions(-) --=20 ~Vinod --DjAHJzx7f1mTrGS6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmbRwc0ACgkQfBQHDyUj g0e9wQ/7BS1LSBL1EMldrFljS917fe4dGAGZFqO3Epz6JqNp3fyYclrkKECOYN23 xl1FQSZG5M8FMHTL7AthzeN9FbqtnGXjrs93OL/IX6VmL/RUVKyq8SHRo3XJ29uh GobQLFPgN8y3Do5GcNwy5dlf6JakZDrG1jWjPvh8oTpT9oLExvOKDimZitjrCohx OyUrBNNGUtMBmMgwmoIYk47GQ9wxocJBVbVqlzO5+CR8tewXkts0ffNjEa26PW4c qfBt0uSgh2HgGLAF7+gszgEr1gTjWN+ntNi6oMJl+sexlGVv7RkBGP0IhnunfMZt 24HXH27a+cYR4pVw4Xhtrd1KRyBq8aYQhLT/i41xOtYH9BqPXilPNrh2TIjbRsnR BoGeFrKU2rwi78p2sNLY7AkoL0CRVRMBS23YEFqg/4UViTYYY4Vk7eSP9lGDs9T0 stYWcjf518yKlLfj4Y1VVQdIUU3ZnTJAHJaAYaq1gd4/XQca9wMf8w20TzzMZvRS xReo5bkzCZjaFWMpJdiLluvaEM4wOZcfWNG3oQNiP8KTa1vcm+ZS7Rcbjk+y841H ybRcWrbB+e75zIvXURysXGtvKy961fVaykCyYLIa+WimP4Jcl90qnKjx7i/tjpIC MFDDSn43R427ct8n2kBJMBob+Tl2j7FVofYu6a3fSWmxzMhCuTU= =WLHT -----END PGP SIGNATURE----- --DjAHJzx7f1mTrGS6-- . Date: Fri, 30 Aug 2024 15:08:38 +0200 From: Johan Hovold To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] USB-serial device id for 6.11-rc6 The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-6.11-rc6 for you to fetch changes up to 9a471de516c35219d1722c13367191ce1f120fe9: USB: serial: option: add MeiG Smart SRM825L (2024-08-27 08:47:29 +0200) ---------------------------------------------------------------- USB-serial device id for 6.11-rc6 Here's a new modem device id. This one has been in linux-next with no reported issues. ---------------------------------------------------------------- ZHANG Yuntian (1): USB: serial: option: add MeiG Smart SRM825L drivers/usb/serial/option.c | 5 +++++ 1 file changed, 5 insertions(+) . Date: Fri, 30 Aug 2024 11:22:26 -0400 From: Paul Moore To: Linus Torvalds Cc: linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] lsm/lsm-pr-20240830 Linus, One small patch to correct a NFS permissions problem with SELinux and Smack, see the commit description for more information. Please merge for an upcoming v6.11-rcX release. -Paul -- The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm.git tags/lsm-pr-20240830 for you to fetch changes up to 76a0e79bc84f466999fa501fce5bf7a07641b8a7: selinux,smack: don't bypass permissions check in inode_setsecctx hook (2024-08-28 19:12:44 -0400) ---------------------------------------------------------------- lsm/stable-6.11 PR 20240830 ---------------------------------------------------------------- Scott Mayhew (1): selinux,smack: don't bypass permissions check in inode_setsecctx hook security/selinux/hooks.c | 4 ++-- security/smack/smack_lsm.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) -- paul-moore.com . Date: Fri, 30 Aug 2024 18:59:44 +0200 From: "Rafael J. Wysocki" To: Linus Torvalds Cc: Linux PM , Linux Kernel Mailing List , Mario Limonciello Subject: [GIT PULL] Power management fixes for v6.11-rc6 Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-6.11-rc6 with top-most commit 15d75184a86fdd8ba56e17606c3088ac60150ab3 Merge tag 'amd-pstate-v6.11-2024-08-26' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux on top of commit 5be63fc19fcaa4c236b307420483578a56986a37 Linux 6.11-rc5 to receive power management fixes for 6.11-rc6. These fix three issues in the amd-pstate cpufreq driver. Specifics: - Remove checks for highest performance match on preferred cores when updating preferred core ranking in amd-pstate (Mario Limonciello). - Make amd-pstate call topology_logical_package_id() instead of logical_die_id() to get a socked ID for a CPU (Gautham Shenoy). - Fix uninitialized variable in amd_pstate_cpu_boost_update() (Dan Carpenter). Thanks! --------------- Dan Carpenter (1): cpufreq: amd-pstate: Fix uninitialized variable in amd_pstate_cpu_boost_update() Gautham R. Shenoy (1): cpufreq/amd-pstate: Use topology_logical_package_id() instead of logical_die_id() Mario Limonciello (1): cpufreq/amd-pstate-ut: Don't check for highest perf matching on prefcore --------------- drivers/cpufreq/amd-pstate-ut.c | 13 ++++++++----- drivers/cpufreq/amd-pstate.c | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) . Date: Fri, 30 Aug 2024 15:57:33 -0500 From: Bjorn Helgaas To: Linus Torvalds Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Manivannan Sadhasivam , Frank Li Subject: [GIT PULL] PCI fixes for v6.11 The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git pci-v6.11-fixes-2 for you to fetch changes up to 150b572a7c1df30f5d32d87ad96675200cca7b80: MAINTAINERS: PCI: Add NXP PCI controller mailing list imx@lists.linux.dev (2024-08-30 13:07:21 -0500) ---------------------------------------------------------------- - Add Manivannan Sadhasivam as PCI native host bridge and endpoint driver reviewer (Manivannan Sadhasivam) - Disable MHI RAM data parity error interrupt for qcom SA8775P SoC to work around hardware erratum that causes a constant stream of interrupts (Manivannan Sadhasivam) - Don't try to fall back to qcom Operating Performance Points (OPP) support unless the platform actually supports OPP (Manivannan Sadhasivam) - Add imx@lists.linux.dev mailing list to MAINTAINERS for NXP layerscape and imx6 PCI controller drivers (Frank Li) ---------------------------------------------------------------- Frank Li (1): MAINTAINERS: PCI: Add NXP PCI controller mailing list imx@lists.linux.dev Manivannan Sadhasivam (3): MAINTAINERS: Add Manivannan Sadhasivam as Reviewer for PCI native host bridge and endpoint drivers PCI: qcom-ep: Disable MHI RAM data parity error interrupt for SA8775P SoC PCI: qcom: Use OPP only if the platform supports it MAINTAINERS | 3 +++ drivers/pci/controller/dwc/pcie-qcom-ep.c | 13 +++++++++++++ drivers/pci/controller/dwc/pcie-qcom.c | 7 +++++-- 3 files changed, 21 insertions(+), 2 deletions(-) . Date: Fri, 30 Aug 2024 14:35:19 -0700 From: Dmitry Torokhov To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, linux-input@vger.kernel.org Subject: [git pull] Input updates for v6.11-rc5 Hi Linus, Please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git tags/input-for-v6.11-rc5 to receive updates for the input subsystem. You will get: - a fix for Cypress PS/2 touchpad for regression introduced in 6.11 merge window where timeout condition is incorrectly reported for all extended Cypress commands. Changelog: --------- Dmitry Torokhov (1): Input: cypress_ps2 - fix waiting for command response Diffstat: -------- drivers/input/mouse/cypress_ps2.c | 58 +++++++++------------------------------ 1 file changed, 13 insertions(+), 45 deletions(-) Thanks. -- Dmitry . Date: Fri, 30 Aug 2024 16:40:42 -0700 From: Sean Christopherson To: Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Sean Christopherson Subject: [GIT PULL] KVM: x86: Fixes for 6.11-rcN Please pull a handful of random fixes. Details in the tag and changelogs. The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: https://github.com/kvm-x86/linux.git tags/kvm-x86-fixes-6.11-rcN for you to fetch changes up to 5fa9f0480c7985e44e6ec32def0a395b768599cc: KVM: SEV: Update KVM_AMD_SEV Kconfig entry and mention SEV-SNP (2024-08-28 05:46:25 -0700) ---------------------------------------------------------------- KVM x86 fixes for 6.11 - Fixup missed comments from the REMOVED_SPTE=>FROZEN_SPTE rename. - Ensure a root is successfully loaded when pre-faulting SPTEs. - Grab kvm->srcu when handling KVM_SET_VCPU_EVENTS to guard against accessing memslots if toggling SMM happens to force a VM-Exit. - Emulate MSR_{FS,GS}_BASE on SVM even though interception is always disabled, so that KVM does the right thing if KVM's emulator encounters {RD,WR}MSR. - Explicitly clear BUS_LOCK_DETECT from KVM's caps on AMD, as KVM doesn't yet virtualize BUS_LOCK_DETECT on AMD. - Cleanup the help message for CONFIG_KVM_AMD_SEV, and call out that KVM now supports SEV-SNP too. ---------------------------------------------------------------- Maxim Levitsky (1): KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE Ravi Bangoria (1): KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing Sean Christopherson (2): KVM: x86/mmu: Check that root is valid/loaded when pre-faulting SPTEs KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS Vitaly Kuznetsov (1): KVM: SEV: Update KVM_AMD_SEV Kconfig entry and mention SEV-SNP Yan Zhao (1): KVM: x86/mmu: Fixup comments missed by the REMOVED_SPTE=>FROZEN_SPTE rename arch/x86/kvm/Kconfig | 6 ++++-- arch/x86/kvm/mmu/mmu.c | 4 +++- arch/x86/kvm/mmu/spte.c | 6 +++--- arch/x86/kvm/mmu/spte.h | 2 +- arch/x86/kvm/mmu/tdp_mmu.c | 8 ++++---- arch/x86/kvm/svm/svm.c | 15 +++++++++++++++ arch/x86/kvm/x86.c | 2 ++ 7 files changed, 32 insertions(+), 11 deletions(-) . Date: Sat, 31 Aug 2024 10:03:51 +0000 From: "Arnd Bergmann" To: "Linus Torvalds" Cc: soc@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] ARM: SoC fixes for 6.11, part 2 The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208= 399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git tags/arm-f= ixes-6.11-2 for you to fetch changes up to 9cc7b1705141d1a077493dc107ed626e8dc84681: Merge tag 'at91-fixes-6.11' of https://git.kernel.org/pub/scm/linux/ke= rnel/git/at91/linux into arm/fixes (2024-08-30 19:52:28 +0000) ---------------------------------------------------------------- ARM: SoC fixes for 6.11, part 2 There is a fairly large number of bug fixes for Qualcomm platforms, most of them addressing issues with the devicetree files for the newly added Snapdragon X1 based laptops to make them more reliable. The Qualcomm driver changes address a few build-time issues as well as runtime problems in the tzmem and scm firmware, the USB Type-C driver, and the cmd-db and pmic_glink soc drivers. The NXP i.MX usually gets a bunch of devicetree fixes that is proportion= al to the number of supported machines. This includes both warning fixes and correctness for the 64-bit i.MX9, i.MX8 and layerscape platforms, as well as a single fix for a 32-bit i.MX6 based board. The other changes are the usual minor changes, including an update to the MAINTAINERS file, an omap3 dts file and a SoC driver for mpfs (risc-v). ---------------------------------------------------------------- Adam Ford (1): arm64: dts: imx8mp-beacon-kit: Fix Stereo Audio on WM8962 Andrei Simion (1): MAINTAINERS: Update DTS path for ARM/Microchip (AT91) SoC Andrew Halaney (1): soc: qcom: pd-mapper: Depend on ARCH_QCOM || COMPILE_TEST Arnd Bergmann (8): soc: qcom: pd-mapper: mark qcom_pdm_domains as __maybe_unused Merge tag 'omap-for-v6.11/fixes-signed' of https://git.kernel.org/= pub/scm/linux/kernel/git/khilman/linux-omap into arm/fixes Merge tag 'imx-fixes-6.11' of https://git.kernel.org/pub/scm/linux= /kernel/git/shawnguo/linux into arm/fixes Merge tag 'qcom-drivers-fixes-for-6.11' of https://git.kernel.org/= pub/scm/linux/kernel/git/qcom/linux into arm/fixes Merge tag 'qcom-arm64-defconfig-fixes-for-6.11' of https://git.ker= nel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes Merge tag 'qcom-arm64-fixes-for-6.11' of https://git.kernel.org/pu= b/scm/linux/kernel/git/qcom/linux into arm/fixes Merge tag 'riscv-soc-fixes-for-v6.11-rc6' of https://git.kernel.or= g/pub/scm/linux/kernel/git/conor/linux into arm/fixes Merge tag 'at91-fixes-6.11' of https://git.kernel.org/pub/scm/linu= x/kernel/git/at91/linux into arm/fixes Bartosz Golaszewski (2): firmware: qcom: tzmem: fix virtual-to-physical address conversion firmware: qcom: qseecom: remove unused functions Bjorn Andersson (4): soc: qcom: pmic_glink: Fix race during initialization usb: typec: ucsi: Move unregister out of atomic section soc: qcom: pmic_glink: Actually communicate when remote goes down soc: qcom: pd-mapper: Fix singleton refcount Dmitry Baryshkov (1): arm64: dts: qcom: disable GPU on x1e80100 by default Frank Li (1): arm64: dts: imx8mm-phygate: fix typo pinctrcl-0 Johan Hovold (18): arm64: dts: qcom: x1e80100-crd: fix PCIe4 PHY supply arm64: dts: qcom: x1e80100: fix PCIe domain numbers arm64: dts: qcom: x1e80100: add missing PCIe minimum OPP arm64: dts: qcom: x1e80100-crd: fix up PCIe6a pinctrl node arm64: dts: qcom: x1e80100-crd: disable PCIe6a perst pull down arm64: dts: qcom: x1e80100-crd: fix missing PCIe4 gpios arm64: dts: qcom: x1e80100-qcp: fix PCIe4 PHY supply arm64: dts: qcom: x1e80100-qcp: fix up PCIe6a pinctrl node arm64: dts: qcom: x1e80100-qcp: disable PCIe6a perst pull down arm64: dts: qcom: x1e80100-qcp: fix missing PCIe4 gpios arm64: dts: qcom: x1e80100-vivobook-s15: fix PCIe4 PHY supply arm64: dts: qcom: x1e80100-vivobook-s15: fix up PCIe6a pinctrl node arm64: dts: qcom: x1e80100-vivobook-s15: disable PCIe6a perst pull= down arm64: dts: qcom: x1e80100-vivobook-s15: fix missing PCIe4 gpios arm64: dts: qcom: x1e80100-yoga-slim7x: fix PCIe4 PHY supply arm64: dts: qcom: x1e80100-yoga-slim7x: fix up PCIe6a pinctrl node arm64: dts: qcom: x1e80100-yoga-slim7x: disable PCIe6a perst pull = down arm64: dts: qcom: x1e80100-yoga-slim7x: fix missing PCIe4 gpios Konrad Dybcio (3): mailmap: Add an entry for Konrad Dybcio MAINTAINERS: Update Konrad Dybcio's email address arm64: dts: qcom: x1e80100: Fix Adreno SMMU global interrupt Krzysztof Kozlowski (1): arm64: dts: layerscape: fix thermal node names length Markus Niebel (2): arm64: dts: freescale: imx93-tqma9352: fix CMA alloc-ranges arm64: dts: freescale: imx93-tqma9352-mba93xxla: fix typo Michal Vok=C3=A1=C4=8D (1): ARM: dts: imx6dl-yapp43: Increase LED current to match the yapp4 H= W design Murali Nalajala (1): firmware: qcom: scm: Mark get_wq_ctx() as atomic call Patrick Wildt (1): arm64: dts: qcom: x1e80100-yoga: add wifi calibration variant Peng Fan (2): arm64: dts: imx95: correct a55 power-domains arm64: dts: imx95: correct L3Cache cache-sets Richard Acayan (1): firmware: qcom: tzmem: disable sdm670 platform Sascha Hauer (1): arm64: dts: freescale: tqma9352: Fix watchdog reset Shenwei Wang (1): arm64: dts: imx93: update default value for snps,clk-csr Sicelo A. Mhlongo (1): ARM: dts: omap3-n900: correct the accelerometer orientation Stephan Gerhold (2): arm64: defconfig: Add CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 arm64: dts: qcom: x1e80100-crd: Fix backlight Steve Wilkins (1): firmware: microchip: fix incorrect error report of programming:tim= eout on success Varadarajan Narayanan (1): arm64: dts: qcom: ipq5332: Fix interrupt trigger type for usb Volodymyr Babchuk (1): soc: qcom: cmd-db: Map shared memory as WC, not WB .mailmap | 2 + MAINTAINERS | 9 ++- .../arm/boot/dts/nxp/imx/imx6dl-yapp43-common.dtsi | 12 ++-- arch/arm/boot/dts/ti/omap/omap3-n900.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 8 +-- arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 2 +- .../imx8mm-phygate-tauri-l-rs232-rs232.dtso | 2 +- .../imx8mm-phygate-tauri-l-rs232-rs485.dtso | 2 +- .../arm64/boot/dts/freescale/imx8mp-beacon-kit.dts | 12 ++-- .../dts/freescale/imx93-tqma9352-mba93xxla.dts | 2 +- arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi | 3 +- arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +- arch/arm64/boot/dts/freescale/imx95.dtsi | 14 ++--- arch/arm64/boot/dts/qcom/ipq5332.dtsi | 4 +- .../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 42 ++++++++++++- arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 70 +++++++++++++++= +++---- .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 54 ++++++++++++++-= -- arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 53 +++++++++++++--- arch/arm64/boot/dts/qcom/x1e80100.dtsi | 21 +++++-- arch/arm64/configs/defconfig | 1 + drivers/firmware/microchip/mpfs-auto-update.c | 2 +- drivers/firmware/qcom/qcom_scm-smc.c | 2 +- drivers/firmware/qcom/qcom_tzmem.c | 33 ++++++---- drivers/power/supply/qcom_battmgr.c | 16 +++-- drivers/soc/qcom/Kconfig | 2 +- drivers/soc/qcom/cmd-db.c | 2 +- drivers/soc/qcom/pmic_glink.c | 40 +++++++++---- drivers/soc/qcom/pmic_glink_altmode.c | 17 ++++-- drivers/soc/qcom/qcom_pd_mapper.c | 4 +- drivers/usb/typec/ucsi/ucsi_glink.c | 43 +++++++++---- include/linux/firmware/qcom/qcom_qseecom.h | 45 -------------- include/linux/soc/qcom/pmic_glink.h | 11 ++-- 36 files changed, 366 insertions(+), 176 deletions(-) . Date: Sat, 31 Aug 2024 11:55:31 -0400 From: Chuck Lever To: Linus Torvalds Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton Subject: [GIT PULL] one more NFSD fix for v6.11-rc The following changes since commit 7e8ae8486e4471513e2111aba6ac29f2357bed2a: fs/nfsd: fix update of inode attrs in CB_GETATTR (2024-08-26 19:04:00 -0400) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-6.11-3 for you to fetch changes up to 40927f3d0972bf86357a32a5749be71a551241b6: nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease (2024-08-30 10:48:29 -0400) ---------------------------------------------------------------- nfsd-6.11 fixes: - One more write delegation fix ---------------------------------------------------------------- NeilBrown (1): nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease fs/nfsd/nfs4state.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) -- Chuck Lever . Date: Sat, 31 Aug 2024 12:15:54 -0400 From: James Bottomley To: Andrew Morton , Linus Torvalds Cc: linux-scsi , linux-kernel Subject: [GIT PULL] SCSI fixes for 6.11-rc5 Minor fixes only. The sd.c one ignores a sync cache request if format is in progress which can happen if formatting a drive across suspend/resume. The patch is available here: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes The short changelog is: Ben Hutchings (1): scsi: aacraid: Fix double-free on probe failure Sherry Yang (1): scsi: lpfc: Fix overflow build issue Yihang Li (1): scsi: sd: Ignore command SYNCHRONIZE CACHE error if format in progress And the diffstat: drivers/scsi/aacraid/comminit.c | 2 ++ drivers/scsi/lpfc/lpfc_bsg.c | 2 +- drivers/scsi/sd.c | 12 +++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) With full diff below. James --- diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c index bd99c5492b7d..0f64b0244303 100644 --- a/drivers/scsi/aacraid/comminit.c +++ b/drivers/scsi/aacraid/comminit.c @@ -642,6 +642,7 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev) if (aac_comm_init(dev)<0){ kfree(dev->queues); + dev->queues = NULL; return NULL; } /* @@ -649,6 +650,7 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev) */ if (aac_fib_setup(dev) < 0) { kfree(dev->queues); + dev->queues = NULL; return NULL; } diff --git a/drivers/scsi/lpfc/lpfc_bsg.c b/drivers/scsi/lpfc/lpfc_bsg.c index 4156419c52c7..4756a3f82531 100644 --- a/drivers/scsi/lpfc/lpfc_bsg.c +++ b/drivers/scsi/lpfc/lpfc_bsg.c @@ -5410,7 +5410,7 @@ lpfc_get_cgnbuf_info(struct bsg_job *job) struct get_cgnbuf_info_req *cgnbuf_req; struct lpfc_cgn_info *cp; uint8_t *cgn_buff; - int size, cinfosz; + size_t size, cinfosz; int rc = 0; if (job->request_len < sizeof(struct fc_bsg_request) + diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index dad3991397cf..9db86943d04c 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1823,13 +1823,15 @@ static int sd_sync_cache(struct scsi_disk *sdkp) (sshdr.asc == 0x74 && sshdr.ascq == 0x71)) /* drive is password locked */ /* this is no error here */ return 0; + /* - * This drive doesn't support sync and there's not much - * we can do because this is called during shutdown - * or suspend so just return success so those operations - * can proceed. + * If a format is in progress or if the drive does not + * support sync, there is not much we can do because + * this is called during shutdown or suspend so just + * return success so those operations can proceed. */ - if (sshdr.sense_key == ILLEGAL_REQUEST) + if ((sshdr.asc == 0x04 && sshdr.ascq == 0x04) || + sshdr.sense_key == ILLEGAL_REQUEST) return 0; } . Date: Sat, 31 Aug 2024 19:40:33 +0200 From: Greg KH To: Linus Torvalds Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [GIT PULL] USB / Thunderbolt driver fixes for 6.11-rc4 The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git tags/usb-6.11-rc6 for you to fetch changes up to 58c2fa54257d640c83137b44e12c174fd660a485: Merge tag 'usb-serial-6.11-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus (2024-08-30 15:41:18 +0200) ---------------------------------------------------------------- USB fixes for 6.11-rc6 Here are some small USB fixes for 6.11-rc6. Included in here are: - dwc3 driver fixes for reported issues - MAINTAINER file update, marking a driver as unsupported :( - cdnsp driver fixes - USB gadget driver fix - USB sysfs fix - other tiny fixes - new device ids for usb serial driver All of these have been in linux-next this week with no reported issues. Signed-off-by: Greg Kroah-Hartman ---------------------------------------------------------------- Alexander Stein (1): dt-bindings: usb: microchip,usb2514: Fix reference USB device schema Greg Kroah-Hartman (1): Merge tag 'usb-serial-6.11-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Ian Ray (1): cdc-acm: Add DISABLE_ECHO quirk for GE HealthCare UI Controller Krzysztof Kozlowski (4): usb: dwc3: omap: add missing depopulate in probe error path usb: dwc3: xilinx: add missing depopulate in probe error path usb: dwc3: st: fix probed platform device ref count on probe error path usb: dwc3: st: add missing depopulate in probe error path Laurent Pinchart (1): MAINTAINERS: Mark UVC gadget driver as orphan Luca Weiss (1): usb: typec: fsa4480: Relax CHIP_ID check Michael Grzeschik (1): usb: dwc3: ep0: Don't reset resource alloc flag (including ep0) Pawel Laszczak (2): usb: cdnsp: fix incorrect index in cdnsp_get_hw_deq function usb: cdnsp: fix for Link TRB with TC Selvarasu Ganesan (1): usb: dwc3: core: Prevent USB core invalid event buffer address access Xu Yang (1): usb: gadget: uvc: queue pump work in uvcg_video_enable() ZHANG Yuntian (1): USB: serial: option: add MeiG Smart SRM825L Zijun Hu (1): usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() .../devicetree/bindings/usb/microchip,usb2514.yaml | 9 ++++++- MAINTAINERS | 4 +-- drivers/usb/cdns3/cdnsp-gadget.h | 3 +++ drivers/usb/cdns3/cdnsp-ring.c | 30 +++++++++++++++++++++- drivers/usb/class/cdc-acm.c | 3 +++ drivers/usb/core/sysfs.c | 1 + drivers/usb/dwc3/core.c | 8 ++++++ drivers/usb/dwc3/dwc3-omap.c | 4 ++- drivers/usb/dwc3/dwc3-st.c | 16 +++++------- drivers/usb/dwc3/dwc3-xilinx.c | 7 ++++- drivers/usb/dwc3/ep0.c | 3 ++- drivers/usb/gadget/function/uvc_video.c | 1 + drivers/usb/serial/option.c | 5 ++++ drivers/usb/typec/mux/fsa4480.c | 2 +- 14 files changed, 78 insertions(+), 18 deletions(-) . Date: Sat, 31 Aug 2024 19:41:07 +0200 From: Greg KH To: Linus Torvalds Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [GIT PULL] USB driver fixes for 6.11-rc6 [resend with correct subject line this time, sorry about that...] The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399: Linux 6.11-rc4 (2024-08-18 13:17:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git tags/usb-6.11-rc6 for you to fetch changes up to 58c2fa54257d640c83137b44e12c174fd660a485: Merge tag 'usb-serial-6.11-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus (2024-08-30 15:41:18 +0200) ---------------------------------------------------------------- USB fixes for 6.11-rc6 Here are some small USB fixes for 6.11-rc6. Included in here are: - dwc3 driver fixes for reported issues - MAINTAINER file update, marking a driver as unsupported :( - cdnsp driver fixes - USB gadget driver fix - USB sysfs fix - other tiny fixes - new device ids for usb serial driver All of these have been in linux-next this week with no reported issues. Signed-off-by: Greg Kroah-Hartman ---------------------------------------------------------------- Alexander Stein (1): dt-bindings: usb: microchip,usb2514: Fix reference USB device schema Greg Kroah-Hartman (1): Merge tag 'usb-serial-6.11-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Ian Ray (1): cdc-acm: Add DISABLE_ECHO quirk for GE HealthCare UI Controller Krzysztof Kozlowski (4): usb: dwc3: omap: add missing depopulate in probe error path usb: dwc3: xilinx: add missing depopulate in probe error path usb: dwc3: st: fix probed platform device ref count on probe error path usb: dwc3: st: add missing depopulate in probe error path Laurent Pinchart (1): MAINTAINERS: Mark UVC gadget driver as orphan Luca Weiss (1): usb: typec: fsa4480: Relax CHIP_ID check Michael Grzeschik (1): usb: dwc3: ep0: Don't reset resource alloc flag (including ep0) Pawel Laszczak (2): usb: cdnsp: fix incorrect index in cdnsp_get_hw_deq function usb: cdnsp: fix for Link TRB with TC Selvarasu Ganesan (1): usb: dwc3: core: Prevent USB core invalid event buffer address access Xu Yang (1): usb: gadget: uvc: queue pump work in uvcg_video_enable() ZHANG Yuntian (1): USB: serial: option: add MeiG Smart SRM825L Zijun Hu (1): usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() .../devicetree/bindings/usb/microchip,usb2514.yaml | 9 ++++++- MAINTAINERS | 4 +-- drivers/usb/cdns3/cdnsp-gadget.h | 3 +++ drivers/usb/cdns3/cdnsp-ring.c | 30 +++++++++++++++++++++- drivers/usb/class/cdc-acm.c | 3 +++ drivers/usb/core/sysfs.c | 1 + drivers/usb/dwc3/core.c | 8 ++++++ drivers/usb/dwc3/dwc3-omap.c | 4 ++- drivers/usb/dwc3/dwc3-st.c | 16 +++++------- drivers/usb/dwc3/dwc3-xilinx.c | 7 ++++- drivers/usb/dwc3/ep0.c | 3 ++- drivers/usb/gadget/function/uvc_video.c | 1 + drivers/usb/serial/option.c | 5 ++++ drivers/usb/typec/mux/fsa4480.c | 2 +- 14 files changed, 78 insertions(+), 18 deletions(-) . Date: Sat, 31 Aug 2024 21:40:38 +0200 From: Bartosz Golaszewski To: Linus Torvalds Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [GIT PULL] power sequencing fixes for v6.11-rc6 From: Bartosz Golaszewski Linus, Please pull the following follow-up fix for the power sequencing subsystem. It turned out the previous fix for this driver was incomplete and broke the WLAN support on some platforms. This addresses the issue. Thanks, Bartosz The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37: Linux 6.11-rc5 (2024-08-25 19:07:11 +1200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git tags/pwrseq-fixes-for-v6.11-rc6 for you to fetch changes up to d8b762070c3fde224f8b9ea3cf59bc41a5a3eb57: power: sequencing: qcom-wcn: set the wlan-enable GPIO to output (2024-08-31 21:32:19 +0200) ---------------------------------------------------------------- power sequencing fixes for v6.11-rc6 - set the direction of the wlan-enable GPIO to output after requesting it as-is ---------------------------------------------------------------- Bartosz Golaszewski (1): power: sequencing: qcom-wcn: set the wlan-enable GPIO to output drivers/power/sequencing/pwrseq-qcom-wcn.c | 7 +++++++ 1 file changed, 7 insertions(+) . Date: Sat, 31 Aug 2024 22:41:35 -0500 From: Steve French To: Linus Torvalds Cc: CIFS , LKML Subject: [GIT PULL] smb3 client fixes Please pull the following changes since commit 86987d84b968b69a610fd00ab9006c13db193b4e: Merge tag 'v6.11-rc5-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 (2024-08-28 15:05:02 +1200) are available in the Git repository at: git://git.samba.org/sfrench/cifs-2.6.git tags/v6.11-rc5-smb-client-fixes for you to fetch changes up to 91d1dfae464987aaf6c79ff51d8674880fb3be77: cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region (2024-08-28 16:52:17 -0500) ---------------------------------------------------------------- Four cifs.ko client fixes - copy_file_range fix - two read fixes including read past end of file rc fix and read retry crediting fix - falloc zero range fix ---------------------------------------------------------------- David Howells (4): cifs: Fix lack of credit renegotiation on read retry netfs, cifs: Fix handling of short DIO read cifs: Fix copy offload to flush destination region cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region fs/netfs/io.c | 19 +++++++++++++------ fs/smb/client/cifsfs.c | 21 ++++----------------- fs/smb/client/cifsglob.h | 1 + fs/smb/client/file.c | 37 +++++++++++++++++++++++++++++++++---- fs/smb/client/smb2ops.c | 18 +++++++++++++++--- fs/smb/client/smb2pdu.c | 41 ++++++++++++++++++++++++++--------------- fs/smb/client/trace.h | 1 + include/linux/netfs.h | 1 + 8 files changed, 94 insertions(+), 45 deletions(-) -- Thanks, Steve . Date: Sat, 31 Aug 2024 22:44:08 -0400 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.11-rc6 Hi Linus, just a couple small ones. the data corruption in the buffered write path is troubling; inode lock should not have been able to cause that... Cheers, Kent The following changes since commit 49aa7830396bce33b00fa7ee734c35de36521138: bcachefs: Fix rebalance_work accounting (2024-08-24 10:16:21 -0400) are available in the Git repository at: git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-08-21 for you to fetch changes up to 3d3020c461936009dc58702e267ff67b0076cbf2: bcachefs: Mark more errors as autofix (2024-08-31 19:27:01 -0400) ---------------------------------------------------------------- bcachefs fixes for 6.11-rc6 - Fix a rare data corruption in the rebalance path, caught as a nonce inconsistency on encrypted filesystems - Revert lockless buffered write path - Mark more errors as autofix ---------------------------------------------------------------- Kent Overstreet (4): bcachefs: Fix failure to return error in data_update_index_update() bcachefs: Fix bch2_extents_match() false positive bcachefs: Revert lockless buffered IO path bcachefs: Mark more errors as autofix fs/bcachefs/data_update.c | 1 + fs/bcachefs/errcode.h | 1 - fs/bcachefs/extents.c | 23 ++++++- fs/bcachefs/fs-io-buffered.c | 149 +++++++++++------------------------------ fs/bcachefs/sb-errors_format.h | 10 +-- 5 files changed, 68 insertions(+), 116 deletions(-) . Date: Sun, 1 Sep 2024 13:44:01 +0200 (CEST) From: Thomas Gleixner To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, x86@kernel.org Subject: [GIT pull] locking/urgent for v6.11-rc7 Linus, please pull the latest locking/urgent branch from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-urgent-2= 024-08-25 up to: d33d26036a02: rtmutex: Drop rt_mutex::wait_lock before scheduling A single fix for rt_mutex: The deadlock detection code drops into an infinite scheduling loop while still holding rt_mutex::wait_lock, which rightfully triggers a 'scheduling in atomic' warning. Unlock it before that. Thanks, tglx ------------------> Roland Xu (1): rtmutex: Drop rt_mutex::wait_lock before scheduling kernel/locking/rtmutex.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index 88d08eeb8bc0..fba1229f1de6 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c @@ -1644,6 +1644,7 @@ static int __sched rt_mutex_slowlock_block(struct rt_mu= tex_base *lock, } =20 static void __sched rt_mutex_handle_deadlock(int res, int detect_deadlock, + struct rt_mutex_base *lock, struct rt_mutex_waiter *w) { /* @@ -1656,10 +1657,10 @@ static void __sched rt_mutex_handle_deadlock(int res,= int detect_deadlock, if (build_ww_mutex() && w->ww_ctx) return; =20 - /* - * Yell loudly and stop the task right here. - */ + raw_spin_unlock_irq(&lock->wait_lock); + WARN(1, "rtmutex deadlock detected\n"); + while (1) { set_current_state(TASK_INTERRUPTIBLE); rt_mutex_schedule(); @@ -1713,7 +1714,7 @@ static int __sched __rt_mutex_slowlock(struct rt_mutex_= base *lock, } else { __set_current_state(TASK_RUNNING); remove_waiter(lock, waiter); - rt_mutex_handle_deadlock(ret, chwalk, waiter); + rt_mutex_handle_deadlock(ret, chwalk, lock, waiter); } =20 /* . Date: Sun, 1 Sep 2024 13:44:02 +0200 (CEST) From: Thomas Gleixner To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, x86@kernel.org Subject: [GIT pull] perf/urgent for v6.11-rc7 Linus, please pull the latest perf/urgent branch from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-2024= -09-01 up to: 25dfc9e357af: perf/x86/intel: Limit the period on Haswell A single fix for x86 performance monitoring: Haswell PMUs suffer from several errata and require to limit the minimal period for counter events, otherwise they suffer from endless loops in the PMU interrupt. Thanks, tglx ------------------> Kan Liang (1): perf/x86/intel: Limit the period on Haswell arch/x86/events/intel/core.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 0c9c2706d4ec..9e519d8a810a 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c @@ -4589,6 +4589,25 @@ static enum hybrid_cpu_type adl_get_hybrid_cpu_type(vo= id) return HYBRID_INTEL_CORE; } =20 +static inline bool erratum_hsw11(struct perf_event *event) +{ + return (event->hw.config & INTEL_ARCH_EVENT_MASK) =3D=3D + X86_CONFIG(.event=3D0xc0, .umask=3D0x01); +} + +/* + * The HSW11 requires a period larger than 100 which is the same as the BDM1= 1. + * A minimum period of 128 is enforced as well for the INST_RETIRED.ALL. + * + * The message 'interrupt took too long' can be observed on any counter which + * was armed with a period < 32 and two events expired in the same NMI. + * A minimum period of 32 is enforced for the rest of the events. + */ +static void hsw_limit_period(struct perf_event *event, s64 *left) +{ + *left =3D max(*left, erratum_hsw11(event) ? 128 : 32); +} + /* * Broadwell: * @@ -4606,8 +4625,7 @@ static enum hybrid_cpu_type adl_get_hybrid_cpu_type(voi= d) */ static void bdw_limit_period(struct perf_event *event, s64 *left) { - if ((event->hw.config & INTEL_ARCH_EVENT_MASK) =3D=3D - X86_CONFIG(.event=3D0xc0, .umask=3D0x01)) { + if (erratum_hsw11(event)) { if (*left < 128) *left =3D 128; *left &=3D ~0x3fULL; @@ -6766,6 +6784,7 @@ __init int intel_pmu_init(void) =20 x86_pmu.hw_config =3D hsw_hw_config; x86_pmu.get_event_constraints =3D hsw_get_event_constraints; + x86_pmu.limit_period =3D hsw_limit_period; x86_pmu.lbr_double_abort =3D true; extra_attr =3D boot_cpu_has(X86_FEATURE_RTM) ? hsw_format_attr : nhm_format_attr; . Date: Sun, 1 Sep 2024 13:43:59 +0200 (CEST) From: Thomas Gleixner To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, x86@kernel.org Subject: [GIT pull] irq/urgent for v6.11-rc7 Linus, please pull the latest irq/urgent branch from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-urgent-2024-= 08-25 up to: 880799fc7a3a: irqchip/irq-msi-lib: Check for NULL ops in msi_lib_irq_= domain_select() A set of fixes for interrupt chip drivers: - Unbreak the PLIC driver for Allwinner D1 systems The recent conversion of the PLIC driver to a platform driver broke Allwinnder D1 systems due to the deferred probing of platform drivers. Due to that the only timer available on D1 systems cannot get an interrupt, which causes the system to hang at boot. Other RISCV platforms are not affected because they provide the architected SBI timer which uses the built in core interrupt controller. Cure this by probing PLIC early on D1 systems - Cure a regression in ARM/GIC-V3 on 32-bit ARM systems caused by the recent addition of a initialization function, which accesses system registers before they are enabled. On 64-bit ARM they are enabled prior to that by sheer luck. Ensure they are enabled. - Cure a use before check problem in the MSI library. The existing NULL pointer check is too late. - Cure a lock order inversion in the ARM/GIC-V4 driver - Fix a IS_ERR() vs. NULL pointer check issue in the RISCV APLIC driver - Plug a reference count leak in the ARM/GIC-V2 driver Thanks, tglx ------------------> Anup Patel (1): irqchip/sifive-plic: Probe plic driver early for Allwinner D1 platform Dan Carpenter (1): irqchip/riscv-aplic: Fix an IS_ERR() vs NULL bug in probe() Ma Ke (1): irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init() Marc Zyngier (1): irqchip/gic-v4: Fix ordering between vmapp and vpe locks Mark Rutland (1): irqchip/gic-v3: Init SRE before poking sysregs Maxime Chevallier (1): irqchip/irq-msi-lib: Check for NULL ops in msi_lib_irq_domain_select() drivers/irqchip/irq-gic-v2m.c | 6 +- drivers/irqchip/irq-gic-v3-its.c | 16 +++-- drivers/irqchip/irq-gic-v3.c | 21 ++++-- drivers/irqchip/irq-msi-lib.c | 5 +- drivers/irqchip/irq-riscv-aplic-main.c | 4 +- drivers/irqchip/irq-sifive-plic.c | 115 ++++++++++++++++++++-----------= -- 6 files changed, 104 insertions(+), 63 deletions(-) diff --git a/drivers/irqchip/irq-gic-v2m.c b/drivers/irqchip/irq-gic-v2m.c index 51af63c046ed..be35c5349986 100644 --- a/drivers/irqchip/irq-gic-v2m.c +++ b/drivers/irqchip/irq-gic-v2m.c @@ -407,12 +407,12 @@ static int __init gicv2m_of_init(struct fwnode_handle *= parent_handle, =20 ret =3D gicv2m_init_one(&child->fwnode, spi_start, nr_spis, &res, 0); - if (ret) { - of_node_put(child); + if (ret) break; - } } =20 + if (ret && child) + of_node_put(child); if (!ret) ret =3D gicv2m_allocate_domains(parent); if (ret) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-it= s.c index 9b34596b3542..fdec478ba5e7 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -1329,12 +1329,6 @@ static void its_send_vmovp(struct its_vpe *vpe) return; } =20 - /* - * Protect against concurrent updates of the mapping state on - * individual VMs. - */ - guard(raw_spinlock_irqsave)(&vpe->its_vm->vmapp_lock); - /* * Yet another marvel of the architecture. If using the * its_list "feature", we need to make sure that all ITSs @@ -3824,7 +3818,14 @@ static int its_vpe_set_affinity(struct irq_data *d, * protect us, and that we must ensure nobody samples vpe->col_idx * during the update, hence the lock below which must also be * taken on any vLPI handling path that evaluates vpe->col_idx. + * + * Finally, we must protect ourselves against concurrent updates of + * the mapping state on this VM should the ITS list be in use (see + * the shortcut in its_send_vmovp() otherewise). */ + if (its_list_map) + raw_spin_lock(&vpe->its_vm->vmapp_lock); + from =3D vpe_to_cpuid_lock(vpe, &flags); table_mask =3D gic_data_rdist_cpu(from)->vpe_table_mask; =20 @@ -3854,6 +3855,9 @@ static int its_vpe_set_affinity(struct irq_data *d, irq_data_update_effective_affinity(d, cpumask_of(cpu)); vpe_to_cpuid_unlock(vpe, flags); =20 + if (its_list_map) + raw_spin_unlock(&vpe->its_vm->vmapp_lock); + return IRQ_SET_MASK_OK_DONE; } =20 diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index c19083bfb943..74f21e03d4a3 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -1154,14 +1154,8 @@ static void gic_update_rdist_properties(void) gic_data.rdists.has_vpend_valid_dirty ? "Valid+Dirty " : ""); } =20 -static void gic_cpu_sys_reg_init(void) +static void gic_cpu_sys_reg_enable(void) { - int i, cpu =3D smp_processor_id(); - u64 mpidr =3D gic_cpu_to_affinity(cpu); - u64 need_rss =3D MPIDR_RS(mpidr); - bool group0; - u32 pribits; - /* * Need to check that the SRE bit has actually been set. If * not, it means that SRE is disabled at EL2. We're going to @@ -1172,6 +1166,16 @@ static void gic_cpu_sys_reg_init(void) if (!gic_enable_sre()) pr_err("GIC: unable to set SRE (disabled at EL2), panic ahead\n"); =20 +} + +static void gic_cpu_sys_reg_init(void) +{ + int i, cpu =3D smp_processor_id(); + u64 mpidr =3D gic_cpu_to_affinity(cpu); + u64 need_rss =3D MPIDR_RS(mpidr); + bool group0; + u32 pribits; + pribits =3D gic_get_pribits(); =20 group0 =3D gic_has_group0(); @@ -1333,6 +1337,7 @@ static int gic_check_rdist(unsigned int cpu) =20 static int gic_starting_cpu(unsigned int cpu) { + gic_cpu_sys_reg_enable(); gic_cpu_init(); =20 if (gic_dist_supports_lpis()) @@ -1498,6 +1503,7 @@ static int gic_cpu_pm_notifier(struct notifier_block *s= elf, if (cmd =3D=3D CPU_PM_EXIT) { if (gic_dist_security_disabled()) gic_enable_redist(true); + gic_cpu_sys_reg_enable(); gic_cpu_sys_reg_init(); } else if (cmd =3D=3D CPU_PM_ENTER && gic_dist_security_disabled()) { gic_write_grpen1(0); @@ -2070,6 +2076,7 @@ static int __init gic_init_bases(phys_addr_t dist_phys_= base, =20 gic_update_rdist_properties(); =20 + gic_cpu_sys_reg_enable(); gic_prio_init(); gic_dist_init(); gic_cpu_init(); diff --git a/drivers/irqchip/irq-msi-lib.c b/drivers/irqchip/irq-msi-lib.c index b5b90003311a..d8e29fc0d406 100644 --- a/drivers/irqchip/irq-msi-lib.c +++ b/drivers/irqchip/irq-msi-lib.c @@ -128,6 +128,9 @@ int msi_lib_irq_domain_select(struct irq_domain *d, struc= t irq_fwspec *fwspec, const struct msi_parent_ops *ops =3D d->msi_parent_ops; u32 busmask =3D BIT(bus_token); =20 + if (!ops) + return 0; + if (fwspec->fwnode !=3D d->fwnode || fwspec->param_count !=3D 0) return 0; =20 @@ -135,6 +138,6 @@ int msi_lib_irq_domain_select(struct irq_domain *d, struc= t irq_fwspec *fwspec, if (bus_token =3D=3D ops->bus_select_token) return 1; =20 - return ops && !!(ops->bus_select_mask & busmask); + return !!(ops->bus_select_mask & busmask); } EXPORT_SYMBOL_GPL(msi_lib_irq_domain_select); diff --git a/drivers/irqchip/irq-riscv-aplic-main.c b/drivers/irqchip/irq-ris= cv-aplic-main.c index 28dd175b5764..981fad6fb8f7 100644 --- a/drivers/irqchip/irq-riscv-aplic-main.c +++ b/drivers/irqchip/irq-riscv-aplic-main.c @@ -175,9 +175,9 @@ static int aplic_probe(struct platform_device *pdev) =20 /* Map the MMIO registers */ regs =3D devm_platform_ioremap_resource(pdev, 0); - if (!regs) { + if (IS_ERR(regs)) { dev_err(dev, "failed map MMIO registers\n"); - return -ENOMEM; + return PTR_ERR(regs); } =20 /* diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-p= lic.c index 9e22f7e378f5..4d9ea718086d 100644 --- a/drivers/irqchip/irq-sifive-plic.c +++ b/drivers/irqchip/irq-sifive-plic.c @@ -3,6 +3,7 @@ * Copyright (C) 2017 SiFive * Copyright (C) 2018 Christoph Hellwig */ +#define pr_fmt(fmt) "riscv-plic: " fmt #include #include #include @@ -63,7 +64,7 @@ #define PLIC_QUIRK_EDGE_INTERRUPT 0 =20 struct plic_priv { - struct device *dev; + struct fwnode_handle *fwnode; struct cpumask lmask; struct irq_domain *irqdomain; void __iomem *regs; @@ -378,8 +379,8 @@ static void plic_handle_irq(struct irq_desc *desc) int err =3D generic_handle_domain_irq(handler->priv->irqdomain, hwirq); if (unlikely(err)) { - dev_warn_ratelimited(handler->priv->dev, - "can't find mapping for hwirq %lu\n", hwirq); + pr_warn_ratelimited("%pfwP: can't find mapping for hwirq %lu\n", + handler->priv->fwnode, hwirq); } } =20 @@ -408,7 +409,8 @@ static int plic_starting_cpu(unsigned int cpu) enable_percpu_irq(plic_parent_irq, irq_get_trigger_type(plic_parent_irq)); else - dev_warn(handler->priv->dev, "cpu%d: parent irq not available\n", cpu); + pr_warn("%pfwP: cpu%d: parent irq not available\n", + handler->priv->fwnode, cpu); plic_set_threshold(handler, PLIC_ENABLE_THRESHOLD); =20 return 0; @@ -424,38 +426,36 @@ static const struct of_device_id plic_match[] =3D { {} }; =20 -static int plic_parse_nr_irqs_and_contexts(struct platform_device *pdev, +static int plic_parse_nr_irqs_and_contexts(struct fwnode_handle *fwnode, u32 *nr_irqs, u32 *nr_contexts) { - struct device *dev =3D &pdev->dev; int rc; =20 /* * Currently, only OF fwnode is supported so extend this * function for ACPI support. */ - if (!is_of_node(dev->fwnode)) + if (!is_of_node(fwnode)) return -EINVAL; =20 - rc =3D of_property_read_u32(to_of_node(dev->fwnode), "riscv,ndev", nr_irqs); + rc =3D of_property_read_u32(to_of_node(fwnode), "riscv,ndev", nr_irqs); if (rc) { - dev_err(dev, "riscv,ndev property not available\n"); + pr_err("%pfwP: riscv,ndev property not available\n", fwnode); return rc; } =20 - *nr_contexts =3D of_irq_count(to_of_node(dev->fwnode)); + *nr_contexts =3D of_irq_count(to_of_node(fwnode)); if (WARN_ON(!(*nr_contexts))) { - dev_err(dev, "no PLIC context available\n"); + pr_err("%pfwP: no PLIC context available\n", fwnode); return -EINVAL; } =20 return 0; } =20 -static int plic_parse_context_parent(struct platform_device *pdev, u32 conte= xt, +static int plic_parse_context_parent(struct fwnode_handle *fwnode, u32 conte= xt, u32 *parent_hwirq, int *parent_cpu) { - struct device *dev =3D &pdev->dev; struct of_phandle_args parent; unsigned long hartid; int rc; @@ -464,10 +464,10 @@ static int plic_parse_context_parent(struct platform_de= vice *pdev, u32 context, * Currently, only OF fwnode is supported so extend this * function for ACPI support. */ - if (!is_of_node(dev->fwnode)) + if (!is_of_node(fwnode)) return -EINVAL; =20 - rc =3D of_irq_parse_one(to_of_node(dev->fwnode), context, &parent); + rc =3D of_irq_parse_one(to_of_node(fwnode), context, &parent); if (rc) return rc; =20 @@ -480,48 +480,55 @@ static int plic_parse_context_parent(struct platform_de= vice *pdev, u32 context, return 0; } =20 -static int plic_probe(struct platform_device *pdev) +static int plic_probe(struct fwnode_handle *fwnode) { int error =3D 0, nr_contexts, nr_handlers =3D 0, cpu, i; - struct device *dev =3D &pdev->dev; unsigned long plic_quirks =3D 0; struct plic_handler *handler; u32 nr_irqs, parent_hwirq; struct plic_priv *priv; irq_hw_number_t hwirq; + void __iomem *regs; =20 - if (is_of_node(dev->fwnode)) { + if (is_of_node(fwnode)) { const struct of_device_id *id; =20 - id =3D of_match_node(plic_match, to_of_node(dev->fwnode)); + id =3D of_match_node(plic_match, to_of_node(fwnode)); if (id) plic_quirks =3D (unsigned long)id->data; + + regs =3D of_iomap(to_of_node(fwnode), 0); + if (!regs) + return -ENOMEM; + } else { + return -ENODEV; } =20 - error =3D plic_parse_nr_irqs_and_contexts(pdev, &nr_irqs, &nr_contexts); + error =3D plic_parse_nr_irqs_and_contexts(fwnode, &nr_irqs, &nr_contexts); if (error) - return error; + goto fail_free_regs; =20 - priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); - if (!priv) - return -ENOMEM; + priv =3D kzalloc(sizeof(*priv), GFP_KERNEL); + if (!priv) { + error =3D -ENOMEM; + goto fail_free_regs; + } =20 - priv->dev =3D dev; + priv->fwnode =3D fwnode; priv->plic_quirks =3D plic_quirks; priv->nr_irqs =3D nr_irqs; + priv->regs =3D regs; =20 - priv->regs =3D devm_platform_ioremap_resource(pdev, 0); - if (WARN_ON(!priv->regs)) - return -EIO; - - priv->prio_save =3D devm_bitmap_zalloc(dev, nr_irqs, GFP_KERNEL); - if (!priv->prio_save) - return -ENOMEM; + priv->prio_save =3D bitmap_zalloc(nr_irqs, GFP_KERNEL); + if (!priv->prio_save) { + error =3D -ENOMEM; + goto fail_free_priv; + } =20 for (i =3D 0; i < nr_contexts; i++) { - error =3D plic_parse_context_parent(pdev, i, &parent_hwirq, &cpu); + error =3D plic_parse_context_parent(fwnode, i, &parent_hwirq, &cpu); if (error) { - dev_warn(dev, "hwirq for context%d not found\n", i); + pr_warn("%pfwP: hwirq for context%d not found\n", fwnode, i); continue; } =20 @@ -543,7 +550,7 @@ static int plic_probe(struct platform_device *pdev) } =20 if (cpu < 0) { - dev_warn(dev, "Invalid cpuid for context %d\n", i); + pr_warn("%pfwP: Invalid cpuid for context %d\n", fwnode, i); continue; } =20 @@ -554,7 +561,7 @@ static int plic_probe(struct platform_device *pdev) */ handler =3D per_cpu_ptr(&plic_handlers, cpu); if (handler->present) { - dev_warn(dev, "handler already present for context %d.\n", i); + pr_warn("%pfwP: handler already present for context %d.\n", fwnode, i); plic_set_threshold(handler, PLIC_DISABLE_THRESHOLD); goto done; } @@ -568,8 +575,8 @@ static int plic_probe(struct platform_device *pdev) i * CONTEXT_ENABLE_SIZE; handler->priv =3D priv; =20 - handler->enable_save =3D devm_kcalloc(dev, DIV_ROUND_UP(nr_irqs, 32), - sizeof(*handler->enable_save), GFP_KERNEL); + handler->enable_save =3D kcalloc(DIV_ROUND_UP(nr_irqs, 32), + sizeof(*handler->enable_save), GFP_KERNEL); if (!handler->enable_save) goto fail_cleanup_contexts; done: @@ -581,7 +588,7 @@ static int plic_probe(struct platform_device *pdev) nr_handlers++; } =20 - priv->irqdomain =3D irq_domain_add_linear(to_of_node(dev->fwnode), nr_irqs = + 1, + priv->irqdomain =3D irq_domain_add_linear(to_of_node(fwnode), nr_irqs + 1, &plic_irqdomain_ops, priv); if (WARN_ON(!priv->irqdomain)) goto fail_cleanup_contexts; @@ -619,13 +626,13 @@ static int plic_probe(struct platform_device *pdev) } } =20 - dev_info(dev, "mapped %d interrupts with %d handlers for %d contexts.\n", - nr_irqs, nr_handlers, nr_contexts); + pr_info("%pfwP: mapped %d interrupts with %d handlers for %d contexts.\n", + fwnode, nr_irqs, nr_handlers, nr_contexts); return 0; =20 fail_cleanup_contexts: for (i =3D 0; i < nr_contexts; i++) { - if (plic_parse_context_parent(pdev, i, &parent_hwirq, &cpu)) + if (plic_parse_context_parent(fwnode, i, &parent_hwirq, &cpu)) continue; if (parent_hwirq !=3D RV_IRQ_EXT || cpu < 0) continue; @@ -634,17 +641,37 @@ static int plic_probe(struct platform_device *pdev) handler->present =3D false; handler->hart_base =3D NULL; handler->enable_base =3D NULL; + kfree(handler->enable_save); handler->enable_save =3D NULL; handler->priv =3D NULL; } - return -ENOMEM; + bitmap_free(priv->prio_save); +fail_free_priv: + kfree(priv); +fail_free_regs: + iounmap(regs); + return error; +} + +static int plic_platform_probe(struct platform_device *pdev) +{ + return plic_probe(pdev->dev.fwnode); } =20 static struct platform_driver plic_driver =3D { .driver =3D { .name =3D "riscv-plic", .of_match_table =3D plic_match, + .suppress_bind_attrs =3D true, }, - .probe =3D plic_probe, + .probe =3D plic_platform_probe, }; builtin_platform_driver(plic_driver); + +static int __init plic_early_probe(struct device_node *node, + struct device_node *parent) +{ + return plic_probe(&node->fwnode); +} + +IRQCHIP_DECLARE(riscv, "allwinner,sun20i-d1-plic", plic_early_probe); . Date: Sun, 1 Sep 2024 13:44:04 +0200 (CEST) From: Thomas Gleixner To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, x86@kernel.org Subject: [GIT pull] x86/urgent for v6.11-rc7 Linus, please pull the latest x86/urgent branch from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-2024-= 09-01 up to: a547a5880cba: x86/resctrl: Fix arch_mbm_* array overrun on SNC A set of X86 fixes: - x2apic_disable() clears x2apic_state and x2apic_mode unconditionally, even when the state is X2APIC_ON_LOCKED, which prevents the kernel to disable it thereby creating inconsistent state. Reorder the logic so it actually works correctly - The XSTATE logic for handling LBR is incorrect as it assumes that XSAVES supports LBR when the CPU supports LBR. In fact both conditions need to be true. Otherwise the enablement of LBR in the IA32_XSS MSR fails and subsequently the machine crashes on the next XRSTORS operation because IA32_XSS is not initialized. Cache the XSTATE support bit during init and make the related functions use this cached information and the LBR CPU feature bit to cure this. - Cure a long standing bug in KASLR KASLR uses the full address space between PAGE_OFFSET and vaddr_end to randomize the starting points of the direct map, vmalloc and vmemmap regions. It thereby limits the size of the direct map by using the installed memory size plus an extra configurable margin for hot-plug memory. This limitation is done to gain more randomization space because otherwise only the holes between the direct map, vmalloc, vmemmap and vaddr_end would be usable for randomizing. =20 The limited direct map size is not exposed to the rest of the kernel, so the memory hot-plug and resource management related code paths still operate under the assumption that the available address space can be determined with MAX_PHYSMEM_BITS. request_free_mem_region() allocates from (1 << MAX_PHYSMEM_BITS) - 1 downwards. That means the first allocation happens past the end of the direct map and if unlucky this address is in the vmalloc space, which causes high_memory to become greater than VMALLOC_START and consequently causes iounmap() to fail for valid ioremap addresses. Cure this by exposing the end of the direct map via PHYSMEM_END and use that for the memory hot-plug and resource management related places instead of relying on MAX_PHYSMEM_BITS. In the KASLR case PHYSMEM_END maps to a variable which is initialized by the KASLR initialization and otherwise it is based on MAX_PHYSMEM_BITS as before. - Prevent a data leak in mmio_read(). The TDVMCALL exposes the value of an initialized variabled on the stack to the VMM. The variable is only required as output value, so it does not have to exposed to the VMM in the first place. - Prevent an array overrun in the resource control code on systems with Sub-NUMA Clustering enabled because the code failed to adjust the index by the number of SNC nodes per L3 cache. Thanks, tglx ------------------> Kirill A. Shutemov (1): x86/tdx: Fix data leak in mmio_read() Mitchell Levy (1): x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported Peter Newman (1): x86/resctrl: Fix arch_mbm_* array overrun on SNC Thomas Gleixner (1): x86/kaslr: Expose and use the end of the physical memory address space Yuntao Wang (1): x86/apic: Make x2apic_disable() work correctly arch/x86/coco/tdx/tdx.c | 1 - arch/x86/include/asm/fpu/types.h | 7 +++++++ arch/x86/include/asm/page_64.h | 1 + arch/x86/include/asm/pgtable_64_types.h | 4 ++++ arch/x86/include/asm/resctrl.h | 6 ------ arch/x86/kernel/apic/apic.c | 11 ++++++----- arch/x86/kernel/cpu/resctrl/core.c | 8 ++++++++ arch/x86/kernel/fpu/xstate.c | 3 +++ arch/x86/kernel/fpu/xstate.h | 4 ++-- arch/x86/mm/init_64.c | 4 ++++ arch/x86/mm/kaslr.c | 32 ++++++++++++++++++++++++++------ include/linux/mm.h | 4 ++++ include/linux/resctrl.h | 1 + kernel/resource.c | 6 ++---- mm/memory_hotplug.c | 2 +- mm/sparse.c | 2 +- 16 files changed, 70 insertions(+), 26 deletions(-) diff --git a/arch/x86/coco/tdx/tdx.c b/arch/x86/coco/tdx/tdx.c index 078e2bac2553..da8b66dce0da 100644 --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -389,7 +389,6 @@ static bool mmio_read(int size, unsigned long addr, unsig= ned long *val) .r12 =3D size, .r13 =3D EPT_READ, .r14 =3D addr, - .r15 =3D *val, }; =20 if (__tdx_hypercall(&args)) diff --git a/arch/x86/include/asm/fpu/types.h b/arch/x86/include/asm/fpu/type= s.h index eb17f31b06d2..de16862bf230 100644 --- a/arch/x86/include/asm/fpu/types.h +++ b/arch/x86/include/asm/fpu/types.h @@ -591,6 +591,13 @@ struct fpu_state_config { * even without XSAVE support, i.e. legacy features FP + SSE */ u64 legacy_features; + /* + * @independent_features: + * + * Features that are supported by XSAVES, but not managed as part of + * the FPU core, such as LBR + */ + u64 independent_features; }; =20 /* FPU state configuration information */ diff --git a/arch/x86/include/asm/page_64.h b/arch/x86/include/asm/page_64.h index af4302d79b59..f3d257c45225 100644 --- a/arch/x86/include/asm/page_64.h +++ b/arch/x86/include/asm/page_64.h @@ -17,6 +17,7 @@ extern unsigned long phys_base; extern unsigned long page_offset_base; extern unsigned long vmalloc_base; extern unsigned long vmemmap_base; +extern unsigned long physmem_end; =20 static __always_inline unsigned long __phys_addr_nodebug(unsigned long x) { diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/p= gtable_64_types.h index 9053dfe9fa03..a98e53491a4e 100644 --- a/arch/x86/include/asm/pgtable_64_types.h +++ b/arch/x86/include/asm/pgtable_64_types.h @@ -140,6 +140,10 @@ extern unsigned int ptrs_per_p4d; # define VMEMMAP_START __VMEMMAP_BASE_L4 #endif /* CONFIG_DYNAMIC_MEMORY_LAYOUT */ =20 +#ifdef CONFIG_RANDOMIZE_MEMORY +# define PHYSMEM_END physmem_end +#endif + /* * End of the region for which vmalloc page tables are pre-allocated. * For non-KMSAN builds, this is the same as VMALLOC_END. diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h index 12dbd2588ca7..8b1b6ce1e51b 100644 --- a/arch/x86/include/asm/resctrl.h +++ b/arch/x86/include/asm/resctrl.h @@ -156,12 +156,6 @@ static inline void resctrl_sched_in(struct task_struct *= tsk) __resctrl_sched_in(tsk); } =20 -static inline u32 resctrl_arch_system_num_rmid_idx(void) -{ - /* RMID are independent numbers for x86. num_rmid_idx =3D=3D num_rmid */ - return boot_cpu_data.x86_cache_max_rmid + 1; -} - static inline void resctrl_arch_rmid_idx_decode(u32 idx, u32 *closid, u32 *r= mid) { *rmid =3D idx; diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index 66fd4b2a37a3..373638691cd4 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -1775,12 +1775,9 @@ static __init void apic_set_fixmap(bool read_apic); =20 static __init void x2apic_disable(void) { - u32 x2apic_id, state =3D x2apic_state; + u32 x2apic_id; =20 - x2apic_mode =3D 0; - x2apic_state =3D X2APIC_DISABLED; - - if (state !=3D X2APIC_ON) + if (x2apic_state < X2APIC_ON) return; =20 x2apic_id =3D read_apic_id(); @@ -1793,6 +1790,10 @@ static __init void x2apic_disable(void) } =20 __x2apic_disable(); + + x2apic_mode =3D 0; + x2apic_state =3D X2APIC_DISABLED; + /* * Don't reread the APIC ID as it was already done from * check_x2apic() and the APIC driver still is a x2APIC variant, diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl= /core.c index 1930fce9dfe9..8591d53c144b 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -119,6 +119,14 @@ struct rdt_hw_resource rdt_resources_all[] =3D { }, }; =20 +u32 resctrl_arch_system_num_rmid_idx(void) +{ + struct rdt_resource *r =3D &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl; + + /* RMID are independent numbers for x86. num_rmid_idx =3D=3D num_rmid */ + return r->num_rmid; +} + /* * cache_alloc_hsw_probe() - Have to probe for Intel haswell server CPUs * as they do not have CPUID enumeration support for Cache allocation. diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c index c5a026fee5e0..1339f8328db5 100644 --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -788,6 +788,9 @@ void __init fpu__init_system_xstate(unsigned int legacy_s= ize) goto out_disable; } =20 + fpu_kernel_cfg.independent_features =3D fpu_kernel_cfg.max_features & + XFEATURE_MASK_INDEPENDENT; + /* * Clear XSAVE features that are disabled in the normal CPUID. */ diff --git a/arch/x86/kernel/fpu/xstate.h b/arch/x86/kernel/fpu/xstate.h index 2ee0b9c53dcc..afb404cd2059 100644 --- a/arch/x86/kernel/fpu/xstate.h +++ b/arch/x86/kernel/fpu/xstate.h @@ -62,9 +62,9 @@ static inline u64 xfeatures_mask_supervisor(void) static inline u64 xfeatures_mask_independent(void) { if (!cpu_feature_enabled(X86_FEATURE_ARCH_LBR)) - return XFEATURE_MASK_INDEPENDENT & ~XFEATURE_MASK_LBR; + return fpu_kernel_cfg.independent_features & ~XFEATURE_MASK_LBR; =20 - return XFEATURE_MASK_INDEPENDENT; + return fpu_kernel_cfg.independent_features; } =20 /* XSAVE/XRSTOR wrapper functions */ diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index d8dbeac8b206..ff253648706f 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -958,8 +958,12 @@ static void update_end_of_memory_vars(u64 start, u64 siz= e) int add_pages(int nid, unsigned long start_pfn, unsigned long nr_pages, struct mhp_params *params) { + unsigned long end =3D ((start_pfn + nr_pages) << PAGE_SHIFT) - 1; int ret; =20 + if (WARN_ON_ONCE(end > PHYSMEM_END)) + return -ERANGE; + ret =3D __add_pages(nid, start_pfn, nr_pages, params); WARN_ON_ONCE(ret); =20 diff --git a/arch/x86/mm/kaslr.c b/arch/x86/mm/kaslr.c index 37db264866b6..230f1dee4f09 100644 --- a/arch/x86/mm/kaslr.c +++ b/arch/x86/mm/kaslr.c @@ -47,13 +47,24 @@ static const unsigned long vaddr_end =3D CPU_ENTRY_AREA_B= ASE; */ static __initdata struct kaslr_memory_region { unsigned long *base; + unsigned long *end; unsigned long size_tb; } kaslr_regions[] =3D { - { &page_offset_base, 0 }, - { &vmalloc_base, 0 }, - { &vmemmap_base, 0 }, + { + .base =3D &page_offset_base, + .end =3D &physmem_end, + }, + { + .base =3D &vmalloc_base, + }, + { + .base =3D &vmemmap_base, + }, }; =20 +/* The end of the possible address space for physical memory */ +unsigned long physmem_end __ro_after_init; + /* Get size in bytes used by the memory region */ static inline unsigned long get_padding(struct kaslr_memory_region *region) { @@ -82,6 +93,8 @@ void __init kernel_randomize_memory(void) BUILD_BUG_ON(vaddr_end !=3D CPU_ENTRY_AREA_BASE); BUILD_BUG_ON(vaddr_end > __START_KERNEL_map); =20 + /* Preset the end of the possible address space for physical memory */ + physmem_end =3D ((1ULL << MAX_PHYSMEM_BITS) - 1); if (!kaslr_memory_enabled()) return; =20 @@ -128,11 +141,18 @@ void __init kernel_randomize_memory(void) vaddr +=3D entropy; *kaslr_regions[i].base =3D vaddr; =20 + /* Calculate the end of the region */ + vaddr +=3D get_padding(&kaslr_regions[i]); /* - * Jump the region and add a minimum padding based on - * randomization alignment. + * KASLR trims the maximum possible size of the + * direct-map. Update the physmem_end boundary. + * No rounding required as the region starts + * PUD aligned and size is in units of TB. */ - vaddr +=3D get_padding(&kaslr_regions[i]); + if (kaslr_regions[i].end) + *kaslr_regions[i].end =3D __pa_nodebug(vaddr - 1); + + /* Add a minimum padding based on randomization alignment. */ vaddr =3D round_up(vaddr + 1, PUD_SIZE); remain_entropy -=3D entropy; } diff --git a/include/linux/mm.h b/include/linux/mm.h index c4b238a20b76..b3864156eaa4 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -97,6 +97,10 @@ extern const int mmap_rnd_compat_bits_max; extern int mmap_rnd_compat_bits __read_mostly; #endif =20 +#ifndef PHYSMEM_END +# define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1) +#endif + #include #include =20 diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h index b0875b99e811..d94abba1c716 100644 --- a/include/linux/resctrl.h +++ b/include/linux/resctrl.h @@ -248,6 +248,7 @@ struct resctrl_schema { =20 /* The number of closid supported by this resource regardless of CDP */ u32 resctrl_arch_get_num_closid(struct rdt_resource *r); +u32 resctrl_arch_system_num_rmid_idx(void); int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid); =20 /* diff --git a/kernel/resource.c b/kernel/resource.c index 14777afb0a99..a83040fde236 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -1826,8 +1826,7 @@ static resource_size_t gfr_start(struct resource *base,= resource_size_t size, if (flags & GFR_DESCENDING) { resource_size_t end; =20 - end =3D min_t(resource_size_t, base->end, - (1ULL << MAX_PHYSMEM_BITS) - 1); + end =3D min_t(resource_size_t, base->end, PHYSMEM_END); return end - size + 1; } =20 @@ -1844,8 +1843,7 @@ static bool gfr_continue(struct resource *base, resourc= e_size_t addr, * @size did not wrap 0. */ return addr > addr - size && - addr <=3D min_t(resource_size_t, base->end, - (1ULL << MAX_PHYSMEM_BITS) - 1); + addr <=3D min_t(resource_size_t, base->end, PHYSMEM_END); } =20 static resource_size_t gfr_next(resource_size_t addr, resource_size_t size, diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 66267c26ca1b..951878ab627a 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1681,7 +1681,7 @@ struct range __weak arch_get_mappable_range(void) =20 struct range mhp_get_pluggable_range(bool need_mapping) { - const u64 max_phys =3D (1ULL << MAX_PHYSMEM_BITS) - 1; + const u64 max_phys =3D PHYSMEM_END; struct range mhp_range; =20 if (need_mapping) { diff --git a/mm/sparse.c b/mm/sparse.c index e4b830091d13..0c3bff882033 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -129,7 +129,7 @@ static inline int sparse_early_nid(struct mem_section *se= ction) static void __meminit mminit_validate_memmodel_limits(unsigned long *start_p= fn, unsigned long *end_pfn) { - unsigned long max_sparsemem_pfn =3D 1UL << (MAX_PHYSMEM_BITS-PAGE_SHIFT); + unsigned long max_sparsemem_pfn =3D (PHYSMEM_END + 1) >> PAGE_SHIFT; =20 /* * Sanity checks - do not allow an architecture to pass .