]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.15
authorSasha Levin <sashal@kernel.org>
Mon, 1 May 2023 11:25:59 +0000 (07:25 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 1 May 2023 11:25:59 +0000 (07:25 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.15/asm-generic-io.h-suppress-endianness-warnings-for-re.patch [new file with mode: 0644]
queue-5.15/asoc-intel-bytcr_rt5640-add-quirk-for-the-acer-iconi.patch [new file with mode: 0644]
queue-5.15/asoc-intel-sof_sdw-add-quirk-for-intel-rooks-county-.patch [new file with mode: 0644]
queue-5.15/asoc-soc-pcm-fix-hw-formats-cleared-by-soc_pcm_hw_in.patch [new file with mode: 0644]
queue-5.15/iio-adc-palmas_gpadc-fix-null-dereference-on-rmmod.patch [new file with mode: 0644]
queue-5.15/selftests-mount-fix-mount_setattr_test-builds-failed.patch [new file with mode: 0644]
queue-5.15/series [new file with mode: 0644]
queue-5.15/x86-cpu-add-model-number-for-intel-arrow-lake-proces.patch [new file with mode: 0644]
queue-5.15/x86-hyperv-block-root-partition-functionality-in-a-c.patch [new file with mode: 0644]

diff --git a/queue-5.15/asm-generic-io.h-suppress-endianness-warnings-for-re.patch b/queue-5.15/asm-generic-io.h-suppress-endianness-warnings-for-re.patch
new file mode 100644 (file)
index 0000000..ed95554
--- /dev/null
@@ -0,0 +1,51 @@
+From 9f9a1dd036b41d72834131f7eca724aae90a205e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 9 Jan 2023 15:11:52 +0200
+Subject: asm-generic/io.h: suppress endianness warnings for readq() and
+ writeq()
+
+From: Vladimir Oltean <vladimir.oltean@nxp.com>
+
+[ Upstream commit d564fa1ff19e893e2971d66e5c8f49dc1cdc8ffc ]
+
+Commit c1d55d50139b ("asm-generic/io.h: Fix sparse warnings on
+big-endian architectures") missed fixing the 64-bit accessors.
+
+Arnd explains in the attached link why the casts are necessary, even if
+__raw_readq() and __raw_writeq() do not take endian-specific types.
+
+Link: https://lore.kernel.org/lkml/9105d6fc-880b-4734-857d-e3d30b87ccf6@app.fastmail.com/
+Suggested-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
+Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/asm-generic/io.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
+index 98954dda57344..82f2c01accbb9 100644
+--- a/include/asm-generic/io.h
++++ b/include/asm-generic/io.h
+@@ -190,7 +190,7 @@ static inline u64 readq(const volatile void __iomem *addr)
+       u64 val;
+       __io_br();
+-      val = __le64_to_cpu(__raw_readq(addr));
++      val = __le64_to_cpu((__le64 __force)__raw_readq(addr));
+       __io_ar(val);
+       return val;
+ }
+@@ -233,7 +233,7 @@ static inline void writel(u32 value, volatile void __iomem *addr)
+ static inline void writeq(u64 value, volatile void __iomem *addr)
+ {
+       __io_bw();
+-      __raw_writeq(__cpu_to_le64(value), addr);
++      __raw_writeq((u64 __force)__cpu_to_le64(value), addr);
+       __io_aw();
+ }
+ #endif
+-- 
+2.39.2
+
diff --git a/queue-5.15/asoc-intel-bytcr_rt5640-add-quirk-for-the-acer-iconi.patch b/queue-5.15/asoc-intel-bytcr_rt5640-add-quirk-for-the-acer-iconi.patch
new file mode 100644 (file)
index 0000000..fb833e7
--- /dev/null
@@ -0,0 +1,50 @@
+From 15f09463acdf3d0029d3499ca2ac4358cac9c2eb Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 22 Mar 2023 15:53:32 +0100
+Subject: ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+[ Upstream commit e38c5e80c3d293a883c6f1d553f2146ec0bda35e ]
+
+The Acer Iconia One 7 B1-750 tablet mostly works fine with the defaults
+for an Bay Trail CR tablet. Except for the internal mic, instead of
+an analog mic on IN3 a digital mic on DMIC1 is uses.
+
+Add a quirk with these settings for this tablet.
+
+Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Link: https://lore.kernel.org/r/20230322145332.131525-1-hdegoede@redhat.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/intel/boards/bytcr_rt5640.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
+index 5f6e2bb324406..4df1be8170bb6 100644
+--- a/sound/soc/intel/boards/bytcr_rt5640.c
++++ b/sound/soc/intel/boards/bytcr_rt5640.c
+@@ -533,6 +533,18 @@ static int byt_rt5640_aif1_hw_params(struct snd_pcm_substream *substream,
+ /* Please keep this list alphabetically sorted */
+ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
++      {       /* Acer Iconia One 7 B1-750 */
++              .matches = {
++                      DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Insyde"),
++                      DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "VESPA2"),
++              },
++              .driver_data = (void *)(BYT_RT5640_DMIC1_MAP |
++                                      BYT_RT5640_JD_SRC_JD1_IN4P |
++                                      BYT_RT5640_OVCD_TH_1500UA |
++                                      BYT_RT5640_OVCD_SF_0P75 |
++                                      BYT_RT5640_SSP0_AIF1 |
++                                      BYT_RT5640_MCLK_EN),
++      },
+       {       /* Acer Iconia Tab 8 W1-810 */
+               .matches = {
+                       DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+-- 
+2.39.2
+
diff --git a/queue-5.15/asoc-intel-sof_sdw-add-quirk-for-intel-rooks-county-.patch b/queue-5.15/asoc-intel-sof_sdw-add-quirk-for-intel-rooks-county-.patch
new file mode 100644 (file)
index 0000000..800d7de
--- /dev/null
@@ -0,0 +1,52 @@
+From 1d8a8835b7a476dce608242b78cce9692b467a05 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 14 Mar 2023 17:05:52 +0800
+Subject: ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Eugene Huang <eugene.huang99@gmail.com>
+
+[ Upstream commit 3c728b1bc5b99c5275ac5c7788ef814c0e51ef54 ]
+
+Same quirks as the 'Bishop County' NUC M15, except the rt711 is in the
+'JD2 100K' jack detection mode.
+
+Link: https://github.com/thesofproject/linux/issues/4088
+Signed-off-by: Eugene Huang <eugene.huang99@gmail.com>
+Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
+Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Link: https://lore.kernel.org/r/20230314090553.498664-2-yung-chuan.liao@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/intel/boards/sof_sdw.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c
+index 2d53a707aff9c..089b6c7994f9a 100644
+--- a/sound/soc/intel/boards/sof_sdw.c
++++ b/sound/soc/intel/boards/sof_sdw.c
+@@ -212,6 +212,17 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
+                                       SOF_SDW_PCH_DMIC |
+                                       RT711_JD1),
+       },
++      {
++              /* NUC15 'Rooks County' LAPRC510 and LAPRC710 skews */
++              .callback = sof_sdw_quirk_cb,
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "Intel(R) Client Systems"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "LAPRC"),
++              },
++              .driver_data = (void *)(SOF_SDW_TGL_HDMI |
++                                      SOF_SDW_PCH_DMIC |
++                                      RT711_JD2_100K),
++      },
+       /* TigerLake-SDCA devices */
+       {
+               .callback = sof_sdw_quirk_cb,
+-- 
+2.39.2
+
diff --git a/queue-5.15/asoc-soc-pcm-fix-hw-formats-cleared-by-soc_pcm_hw_in.patch b/queue-5.15/asoc-soc-pcm-fix-hw-formats-cleared-by-soc_pcm_hw_in.patch
new file mode 100644 (file)
index 0000000..f8521ee
--- /dev/null
@@ -0,0 +1,47 @@
+From f65fafc7966cea1a37f1809392b2dd907ff8ab25 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 9 Mar 2023 15:13:37 +0800
+Subject: ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm
+
+From: Shengjiu Wang <shengjiu.wang@nxp.com>
+
+[ Upstream commit 083a25b18d6ad9f1f540e629909aa3eaaaf01823 ]
+
+The hw->formats may be set by snd_dmaengine_pcm_refine_runtime_hwparams()
+in component's startup()/open(), but soc_pcm_hw_init() will init
+hw->formats in dpcm_runtime_setup_fe() after component's startup()/open(),
+which causes the valuable hw->formats to be cleared.
+
+So need to store the hw->formats before initialization, then restore
+it after initialization.
+
+Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
+Link: https://lore.kernel.org/r/1678346017-3660-1-git-send-email-shengjiu.wang@nxp.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/soc-pcm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
+index 3b673477f6215..6f616ac4490f0 100644
+--- a/sound/soc/soc-pcm.c
++++ b/sound/soc/soc-pcm.c
+@@ -1554,10 +1554,14 @@ static void dpcm_runtime_setup_fe(struct snd_pcm_substream *substream)
+       struct snd_pcm_hardware *hw = &runtime->hw;
+       struct snd_soc_dai *dai;
+       int stream = substream->stream;
++      u64 formats = hw->formats;
+       int i;
+       soc_pcm_hw_init(hw);
++      if (formats)
++              hw->formats &= formats;
++
+       for_each_rtd_cpu_dais(fe, i, dai) {
+               struct snd_soc_pcm_stream *cpu_stream;
+-- 
+2.39.2
+
diff --git a/queue-5.15/iio-adc-palmas_gpadc-fix-null-dereference-on-rmmod.patch b/queue-5.15/iio-adc-palmas_gpadc-fix-null-dereference-on-rmmod.patch
new file mode 100644 (file)
index 0000000..f7335d0
--- /dev/null
@@ -0,0 +1,39 @@
+From df6b50090ab9ea04ae05650efcffe41b8e6cb703 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 13 Mar 2023 21:50:29 +0100
+Subject: iio: adc: palmas_gpadc: fix NULL dereference on rmmod
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Patrik Dahlström <risca@dalakolonin.se>
+
+[ Upstream commit 49f76c499d38bf67803438eee88c8300d0f6ce09 ]
+
+Calling dev_to_iio_dev() on a platform device pointer is undefined and
+will make adc NULL.
+
+Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
+Link: https://lore.kernel.org/r/20230313205029.1881745-1-risca@dalakolonin.se
+Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/iio/adc/palmas_gpadc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/iio/adc/palmas_gpadc.c b/drivers/iio/adc/palmas_gpadc.c
+index f9c8385c72d3d..496aab94570a1 100644
+--- a/drivers/iio/adc/palmas_gpadc.c
++++ b/drivers/iio/adc/palmas_gpadc.c
+@@ -638,7 +638,7 @@ static int palmas_gpadc_probe(struct platform_device *pdev)
+ static int palmas_gpadc_remove(struct platform_device *pdev)
+ {
+-      struct iio_dev *indio_dev = dev_to_iio_dev(&pdev->dev);
++      struct iio_dev *indio_dev = dev_get_drvdata(&pdev->dev);
+       struct palmas_gpadc *adc = iio_priv(indio_dev);
+       if (adc->wakeup1_enable || adc->wakeup2_enable)
+-- 
+2.39.2
+
diff --git a/queue-5.15/selftests-mount-fix-mount_setattr_test-builds-failed.patch b/queue-5.15/selftests-mount-fix-mount_setattr_test-builds-failed.patch
new file mode 100644 (file)
index 0000000..766151d
--- /dev/null
@@ -0,0 +1,43 @@
+From 293766e316d741750dad8b098c547d983e3d2ef6 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 24 Mar 2023 09:14:15 +0700
+Subject: selftests mount: Fix mount_setattr_test builds failed
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Anh Tuan Phan <tuananhlfc@gmail.com>
+
+[ Upstream commit f1594bc676579133a3cd906d7d27733289edfb86 ]
+
+When compiling selftests with target mount_setattr I encountered some errors with the below messages:
+mount_setattr_test.c: In function ‘mount_setattr_thread’:
+mount_setattr_test.c:343:16: error: variable ‘attr’ has initializer but incomplete type
+  343 |         struct mount_attr attr = {
+      |                ^~~~~~~~~~
+
+These errors might be because of linux/mount.h is not included. This patch resolves that issue.
+
+Signed-off-by: Anh Tuan Phan <tuananhlfc@gmail.com>
+Acked-by: Christian Brauner <brauner@kernel.org>
+Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ tools/testing/selftests/mount_setattr/mount_setattr_test.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/testing/selftests/mount_setattr/mount_setattr_test.c b/tools/testing/selftests/mount_setattr/mount_setattr_test.c
+index 8c5fea68ae677..969647228817b 100644
+--- a/tools/testing/selftests/mount_setattr/mount_setattr_test.c
++++ b/tools/testing/selftests/mount_setattr/mount_setattr_test.c
+@@ -18,6 +18,7 @@
+ #include <grp.h>
+ #include <stdbool.h>
+ #include <stdarg.h>
++#include <linux/mount.h>
+ #include "../kselftest_harness.h"
+-- 
+2.39.2
+
diff --git a/queue-5.15/series b/queue-5.15/series
new file mode 100644 (file)
index 0000000..c514754
--- /dev/null
@@ -0,0 +1,8 @@
+asoc-intel-sof_sdw-add-quirk-for-intel-rooks-county-.patch
+asoc-soc-pcm-fix-hw-formats-cleared-by-soc_pcm_hw_in.patch
+x86-hyperv-block-root-partition-functionality-in-a-c.patch
+iio-adc-palmas_gpadc-fix-null-dereference-on-rmmod.patch
+asoc-intel-bytcr_rt5640-add-quirk-for-the-acer-iconi.patch
+selftests-mount-fix-mount_setattr_test-builds-failed.patch
+asm-generic-io.h-suppress-endianness-warnings-for-re.patch
+x86-cpu-add-model-number-for-intel-arrow-lake-proces.patch
diff --git a/queue-5.15/x86-cpu-add-model-number-for-intel-arrow-lake-proces.patch b/queue-5.15/x86-cpu-add-model-number-for-intel-arrow-lake-proces.patch
new file mode 100644 (file)
index 0000000..bcbe3df
--- /dev/null
@@ -0,0 +1,35 @@
+From f765299920c6f436dfb10f043ba10f90aaddd47d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 4 Apr 2023 10:46:41 -0700
+Subject: x86/cpu: Add model number for Intel Arrow Lake processor
+
+From: Tony Luck <tony.luck@intel.com>
+
+[ Upstream commit 81515ecf155a38f3532bf5ddef88d651898df6be ]
+
+Successor to Lunar Lake.
+
+Signed-off-by: Tony Luck <tony.luck@intel.com>
+Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
+Link: https://lore.kernel.org/r/20230404174641.426593-1-tony.luck@intel.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/include/asm/intel-family.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
+index b8e7ea9e71e20..fc12d970a07c0 100644
+--- a/arch/x86/include/asm/intel-family.h
++++ b/arch/x86/include/asm/intel-family.h
+@@ -115,6 +115,8 @@
+ #define INTEL_FAM6_LUNARLAKE_M                0xBD
++#define INTEL_FAM6_ARROWLAKE          0xC6
++
+ /* "Small Core" Processors (Atom/E-Core) */
+ #define INTEL_FAM6_ATOM_BONNELL               0x1C /* Diamondville, Pineview */
+-- 
+2.39.2
+
diff --git a/queue-5.15/x86-hyperv-block-root-partition-functionality-in-a-c.patch b/queue-5.15/x86-hyperv-block-root-partition-functionality-in-a-c.patch
new file mode 100644 (file)
index 0000000..cbe89f9
--- /dev/null
@@ -0,0 +1,52 @@
+From 346bc4bbfbfd24ba59e944c8cc648925b5e538fa Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 15 Mar 2023 08:34:13 -0700
+Subject: x86/hyperv: Block root partition functionality in a Confidential VM
+
+From: Michael Kelley <mikelley@microsoft.com>
+
+[ Upstream commit f8acb24aaf89fc46cd953229462ea8abe31b395f ]
+
+Hyper-V should never specify a VM that is a Confidential VM and also
+running in the root partition.  Nonetheless, explicitly block such a
+combination to guard against a compromised Hyper-V maliciously trying to
+exploit root partition functionality in a Confidential VM to expose
+Confidential VM secrets. No known bug is being fixed, but the attack
+surface for Confidential VMs on Hyper-V is reduced.
+
+Signed-off-by: Michael Kelley <mikelley@microsoft.com>
+Link: https://lore.kernel.org/r/1678894453-95392-1-git-send-email-mikelley@microsoft.com
+Signed-off-by: Wei Liu <wei.liu@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/kernel/cpu/mshyperv.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
+index ba0efc30fac52..8d3c649a1769b 100644
+--- a/arch/x86/kernel/cpu/mshyperv.c
++++ b/arch/x86/kernel/cpu/mshyperv.c
+@@ -289,12 +289,16 @@ static void __init ms_hyperv_init_platform(void)
+        * To mirror what Windows does we should extract CPU management
+        * features and use the ReservedIdentityBit to detect if Linux is the
+        * root partition. But that requires negotiating CPU management
+-       * interface (a process to be finalized).
++       * interface (a process to be finalized). For now, use the privilege
++       * flag as the indicator for running as root.
+        *
+-       * For now, use the privilege flag as the indicator for running as
+-       * root.
++       * Hyper-V should never specify running as root and as a Confidential
++       * VM. But to protect against a compromised/malicious Hyper-V trying
++       * to exploit root behavior to expose Confidential VM memory, ignore
++       * the root partition setting if also a Confidential VM.
+        */
+-      if (cpuid_ebx(HYPERV_CPUID_FEATURES) & HV_CPU_MANAGEMENT) {
++      if ((ms_hyperv.priv_high & HV_CPU_MANAGEMENT) &&
++          !(ms_hyperv.priv_high & HV_ISOLATION)) {
+               hv_root_partition = true;
+               pr_info("Hyper-V: running as root partition\n");
+       }
+-- 
+2.39.2
+