]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Jun 2021 17:41:26 +0000 (19:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Jun 2021 17:41:26 +0000 (19:41 +0200)
added patches:
arm-omap1-isp1301-omap-add-missing-gpiod_add_lookup_table-function.patch
i2c-qcom-geni-suspend-and-resume-the-bus-during-system_sleep_pm-ops.patch
netfilter-nf_tables-missing-error-reporting-for-not-selected-expressions.patch
x86-fault-don-t-send-sigsegv-twice-on-segv_pkuerr.patch

queue-5.12/arm-omap1-isp1301-omap-add-missing-gpiod_add_lookup_table-function.patch [new file with mode: 0644]
queue-5.12/i2c-qcom-geni-suspend-and-resume-the-bus-during-system_sleep_pm-ops.patch [new file with mode: 0644]
queue-5.12/netfilter-nf_tables-missing-error-reporting-for-not-selected-expressions.patch [new file with mode: 0644]
queue-5.12/series
queue-5.12/x86-fault-don-t-send-sigsegv-twice-on-segv_pkuerr.patch [new file with mode: 0644]

diff --git a/queue-5.12/arm-omap1-isp1301-omap-add-missing-gpiod_add_lookup_table-function.patch b/queue-5.12/arm-omap1-isp1301-omap-add-missing-gpiod_add_lookup_table-function.patch
new file mode 100644 (file)
index 0000000..bced4e9
--- /dev/null
@@ -0,0 +1,49 @@
+From 7c302314f37b44595f180198fca5ca646bce4a5f Mon Sep 17 00:00:00 2001
+From: Maciej Falkowski <maciej.falkowski9@gmail.com>
+Date: Thu, 1 Apr 2021 18:20:32 +0200
+Subject: ARM: OMAP1: isp1301-omap: Add missing gpiod_add_lookup_table function
+
+From: Maciej Falkowski <maciej.falkowski9@gmail.com>
+
+commit 7c302314f37b44595f180198fca5ca646bce4a5f upstream.
+
+The gpiod table was added without any usage making it unused
+as reported by Clang compilation from omap1_defconfig on linux-next:
+
+arch/arm/mach-omap1/board-h2.c:347:34: warning: unused variable
+'isp1301_gpiod_table' [-Wunused-variable]
+static struct gpiod_lookup_table isp1301_gpiod_table = {
+                                 ^
+1 warning generated.
+
+The patch adds the missing gpiod_add_lookup_table() function.
+
+Signed-off-by: Maciej Falkowski <maciej.falkowski9@gmail.com>
+Fixes: f3ef38160e3d ("usb: isp1301-omap: Convert to use GPIO descriptors")
+Link: https://github.com/ClangBuiltLinux/linux/issues/1325
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/mach-omap1/board-h2.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/mach-omap1/board-h2.c
++++ b/arch/arm/mach-omap1/board-h2.c
+@@ -320,7 +320,7 @@ static int tps_setup(struct i2c_client *
+ {
+       if (!IS_BUILTIN(CONFIG_TPS65010))
+               return -ENOSYS;
+-      
++
+       tps65010_config_vregs1(TPS_LDO2_ENABLE | TPS_VLDO2_3_0V |
+                               TPS_LDO1_ENABLE | TPS_VLDO1_3_0V);
+@@ -394,6 +394,8 @@ static void __init h2_init(void)
+       BUG_ON(gpio_request(H2_NAND_RB_GPIO_PIN, "NAND ready") < 0);
+       gpio_direction_input(H2_NAND_RB_GPIO_PIN);
++      gpiod_add_lookup_table(&isp1301_gpiod_table);
++
+       omap_cfg_reg(L3_1610_FLASH_CS2B_OE);
+       omap_cfg_reg(M8_1610_FLASH_CS2B_WE);
diff --git a/queue-5.12/i2c-qcom-geni-suspend-and-resume-the-bus-during-system_sleep_pm-ops.patch b/queue-5.12/i2c-qcom-geni-suspend-and-resume-the-bus-during-system_sleep_pm-ops.patch
new file mode 100644 (file)
index 0000000..01a5821
--- /dev/null
@@ -0,0 +1,50 @@
+From 57648e860485de39c800a89f849fdd03c2d31d15 Mon Sep 17 00:00:00 2001
+From: Roja Rani Yarubandi <rojay@codeaurora.org>
+Date: Tue, 25 May 2021 18:40:51 +0530
+Subject: i2c: qcom-geni: Suspend and resume the bus during SYSTEM_SLEEP_PM ops
+
+From: Roja Rani Yarubandi <rojay@codeaurora.org>
+
+commit 57648e860485de39c800a89f849fdd03c2d31d15 upstream.
+
+Mark bus as suspended during system suspend to block the future
+transfers. Implement geni_i2c_resume_noirq() to resume the bus.
+
+Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller")
+Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org>
+Reviewed-by: Stephen Boyd <swboyd@chromium.org>
+Signed-off-by: Wolfram Sang <wsa@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/i2c/busses/i2c-qcom-geni.c |   12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+--- a/drivers/i2c/busses/i2c-qcom-geni.c
++++ b/drivers/i2c/busses/i2c-qcom-geni.c
+@@ -698,6 +698,8 @@ static int __maybe_unused geni_i2c_suspe
+ {
+       struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
++      i2c_mark_adapter_suspended(&gi2c->adap);
++
+       if (!gi2c->suspended) {
+               geni_i2c_runtime_suspend(dev);
+               pm_runtime_disable(dev);
+@@ -707,8 +709,16 @@ static int __maybe_unused geni_i2c_suspe
+       return 0;
+ }
++static int __maybe_unused geni_i2c_resume_noirq(struct device *dev)
++{
++      struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
++
++      i2c_mark_adapter_resumed(&gi2c->adap);
++      return 0;
++}
++
+ static const struct dev_pm_ops geni_i2c_pm_ops = {
+-      SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(geni_i2c_suspend_noirq, NULL)
++      SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(geni_i2c_suspend_noirq, geni_i2c_resume_noirq)
+       SET_RUNTIME_PM_OPS(geni_i2c_runtime_suspend, geni_i2c_runtime_resume,
+                                                                       NULL)
+ };
diff --git a/queue-5.12/netfilter-nf_tables-missing-error-reporting-for-not-selected-expressions.patch b/queue-5.12/netfilter-nf_tables-missing-error-reporting-for-not-selected-expressions.patch
new file mode 100644 (file)
index 0000000..f64cd4c
--- /dev/null
@@ -0,0 +1,46 @@
+From c781471d67a56d7d4c113669a11ede0463b5c719 Mon Sep 17 00:00:00 2001
+From: Pablo Neira Ayuso <pablo@netfilter.org>
+Date: Wed, 19 May 2021 13:32:20 +0200
+Subject: netfilter: nf_tables: missing error reporting for not selected expressions
+
+From: Pablo Neira Ayuso <pablo@netfilter.org>
+
+commit c781471d67a56d7d4c113669a11ede0463b5c719 upstream.
+
+Sometimes users forget to turn on nftables extensions from Kconfig that
+they need. In such case, the error reporting from userspace is
+misleading:
+
+ $ sudo nft add rule x y counter
+ Error: Could not process rule: No such file or directory
+ add rule x y counter
+ ^^^^^^^^^^^^^^^^^^^^
+
+Add missing NL_SET_BAD_ATTR() to provide a hint:
+
+ $ nft add rule x y counter
+ Error: Could not process rule: No such file or directory
+ add rule x y counter
+              ^^^^^^^
+
+Fixes: 83d9dcba06c5 ("netfilter: nf_tables: extended netlink error reporting for expressions")
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/netfilter/nf_tables_api.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/net/netfilter/nf_tables_api.c
++++ b/net/netfilter/nf_tables_api.c
+@@ -3288,8 +3288,10 @@ static int nf_tables_newrule(struct net
+                       if (n == NFT_RULE_MAXEXPRS)
+                               goto err1;
+                       err = nf_tables_expr_parse(&ctx, tmp, &info[n]);
+-                      if (err < 0)
++                      if (err < 0) {
++                              NL_SET_BAD_ATTR(extack, tmp);
+                               goto err1;
++                      }
+                       size += info[n].ops->size;
+                       n++;
+               }
index 2523d9a96d6fcb9c8bd0c9abf57fdf9e26576e00..81bd932e6484ae8fab6fc37036715b60dd4537f0 100644 (file)
@@ -153,3 +153,7 @@ x86-kvm-disable-kvmclock-on-all-cpus-on-shutdown.patch
 x86-kvm-disable-all-pv-features-on-crash.patch
 kvm-arm64-commit-pending-pc-adjustemnts-before-returning-to-userspace.patch
 kvm-arm64-resolve-all-pending-pc-updates-before-immediate-exit.patch
+arm-omap1-isp1301-omap-add-missing-gpiod_add_lookup_table-function.patch
+i2c-qcom-geni-suspend-and-resume-the-bus-during-system_sleep_pm-ops.patch
+x86-fault-don-t-send-sigsegv-twice-on-segv_pkuerr.patch
+netfilter-nf_tables-missing-error-reporting-for-not-selected-expressions.patch
diff --git a/queue-5.12/x86-fault-don-t-send-sigsegv-twice-on-segv_pkuerr.patch b/queue-5.12/x86-fault-don-t-send-sigsegv-twice-on-segv_pkuerr.patch
new file mode 100644 (file)
index 0000000..bb103b7
--- /dev/null
@@ -0,0 +1,44 @@
+From 5405b42c2f08efe67b531799ba2fdb35bac93e70 Mon Sep 17 00:00:00 2001
+From: Jiashuo Liang <liangjs@pku.edu.cn>
+Date: Tue, 1 Jun 2021 16:52:03 +0800
+Subject: x86/fault: Don't send SIGSEGV twice on SEGV_PKUERR
+
+From: Jiashuo Liang <liangjs@pku.edu.cn>
+
+commit 5405b42c2f08efe67b531799ba2fdb35bac93e70 upstream.
+
+__bad_area_nosemaphore() calls both force_sig_pkuerr() and
+force_sig_fault() when handling SEGV_PKUERR. This does not cause
+problems because the second signal is filtered by the legacy_queue()
+check in __send_signal() because in both cases, the signal is SIGSEGV,
+the second one seeing that the first one is already pending.
+
+This causes the kernel to do unnecessary work so send the signal only
+once for SEGV_PKUERR.
+
+ [ bp: Massage commit message. ]
+
+Fixes: 9db812dbb29d ("signal/x86: Call force_sig_pkuerr from __bad_area_nosemaphore")
+Suggested-by: "Eric W. Biederman" <ebiederm@xmission.com>
+Signed-off-by: Jiashuo Liang <liangjs@pku.edu.cn>
+Signed-off-by: Borislav Petkov <bp@suse.de>
+Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
+Link: https://lkml.kernel.org/r/20210601085203.40214-1-liangjs@pku.edu.cn
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/mm/fault.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/mm/fault.c
++++ b/arch/x86/mm/fault.c
+@@ -836,8 +836,8 @@ __bad_area_nosemaphore(struct pt_regs *r
+       if (si_code == SEGV_PKUERR)
+               force_sig_pkuerr((void __user *)address, pkey);
+-
+-      force_sig_fault(SIGSEGV, si_code, (void __user *)address);
++      else
++              force_sig_fault(SIGSEGV, si_code, (void __user *)address);
+       local_irq_disable();
+ }