From: Greg Kroah-Hartman Date: Tue, 8 Jun 2021 17:41:26 +0000 (+0200) Subject: 5.12-stable patches X-Git-Tag: v4.4.272~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7fa54b258d217d66adcf4096a258b8b5ed870c0e;p=thirdparty%2Fkernel%2Fstable-queue.git 5.12-stable patches 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 --- 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 index 00000000000..bced4e9113e --- /dev/null +++ b/queue-5.12/arm-omap1-isp1301-omap-add-missing-gpiod_add_lookup_table-function.patch @@ -0,0 +1,49 @@ +From 7c302314f37b44595f180198fca5ca646bce4a5f Mon Sep 17 00:00:00 2001 +From: Maciej Falkowski +Date: Thu, 1 Apr 2021 18:20:32 +0200 +Subject: ARM: OMAP1: isp1301-omap: Add missing gpiod_add_lookup_table function + +From: Maciej Falkowski + +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 +Fixes: f3ef38160e3d ("usb: isp1301-omap: Convert to use GPIO descriptors") +Link: https://github.com/ClangBuiltLinux/linux/issues/1325 +Signed-off-by: Tony Lindgren +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..01a58215b72 --- /dev/null +++ b/queue-5.12/i2c-qcom-geni-suspend-and-resume-the-bus-during-system_sleep_pm-ops.patch @@ -0,0 +1,50 @@ +From 57648e860485de39c800a89f849fdd03c2d31d15 Mon Sep 17 00:00:00 2001 +From: Roja Rani Yarubandi +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 + +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 +Reviewed-by: Stephen Boyd +Signed-off-by: Wolfram Sang +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..f64cd4c1ed6 --- /dev/null +++ b/queue-5.12/netfilter-nf_tables-missing-error-reporting-for-not-selected-expressions.patch @@ -0,0 +1,46 @@ +From c781471d67a56d7d4c113669a11ede0463b5c719 Mon Sep 17 00:00:00 2001 +From: Pablo Neira Ayuso +Date: Wed, 19 May 2021 13:32:20 +0200 +Subject: netfilter: nf_tables: missing error reporting for not selected expressions + +From: Pablo Neira Ayuso + +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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++; + } diff --git a/queue-5.12/series b/queue-5.12/series index 2523d9a96d6..81bd932e648 100644 --- a/queue-5.12/series +++ b/queue-5.12/series @@ -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 index 00000000000..bb103b7e66c --- /dev/null +++ b/queue-5.12/x86-fault-don-t-send-sigsegv-twice-on-segv_pkuerr.patch @@ -0,0 +1,44 @@ +From 5405b42c2f08efe67b531799ba2fdb35bac93e70 Mon Sep 17 00:00:00 2001 +From: Jiashuo Liang +Date: Tue, 1 Jun 2021 16:52:03 +0800 +Subject: x86/fault: Don't send SIGSEGV twice on SEGV_PKUERR + +From: Jiashuo Liang + +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" +Signed-off-by: Jiashuo Liang +Signed-off-by: Borislav Petkov +Acked-by: "Eric W. Biederman" +Link: https://lkml.kernel.org/r/20210601085203.40214-1-liangjs@pku.edu.cn +Signed-off-by: Greg Kroah-Hartman +--- + 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(); + }