]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Nov 2020 10:29:20 +0000 (11:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Nov 2020 10:29:20 +0000 (11:29 +0100)
added patches:
acpi-ged-fix-wformat.patch
can-flexcan-add-ecc-initialization-for-vf610.patch
can-proc-can_remove_proc-silence-remove_proc_entry-warning.patch
kvm-x86-clflushopt-should-be-treated-as-a-no-op-by-emulation.patch
mac80211-always-wind-down-sta-state.patch

queue-4.14/acpi-ged-fix-wformat.patch [new file with mode: 0644]
queue-4.14/can-flexcan-add-ecc-initialization-for-vf610.patch [new file with mode: 0644]
queue-4.14/can-proc-can_remove_proc-silence-remove_proc_entry-warning.patch [new file with mode: 0644]
queue-4.14/kvm-x86-clflushopt-should-be-treated-as-a-no-op-by-emulation.patch [new file with mode: 0644]
queue-4.14/mac80211-always-wind-down-sta-state.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/acpi-ged-fix-wformat.patch b/queue-4.14/acpi-ged-fix-wformat.patch
new file mode 100644 (file)
index 0000000..3c01cfd
--- /dev/null
@@ -0,0 +1,40 @@
+From 9debfb81e7654fe7388a49f45bc4d789b94c1103 Mon Sep 17 00:00:00 2001
+From: Nick Desaulniers <ndesaulniers@google.com>
+Date: Sat, 7 Nov 2020 00:49:39 -0800
+Subject: ACPI: GED: fix -Wformat
+
+From: Nick Desaulniers <ndesaulniers@google.com>
+
+commit 9debfb81e7654fe7388a49f45bc4d789b94c1103 upstream.
+
+Clang is more aggressive about -Wformat warnings when the format flag
+specifies a type smaller than the parameter. It turns out that gsi is an
+int. Fixes:
+
+drivers/acpi/evged.c:105:48: warning: format specifies type 'unsigned
+char' but the argument has type 'unsigned int' [-Wformat]
+trigger == ACPI_EDGE_SENSITIVE ? 'E' : 'L', gsi);
+                                            ^~~
+
+Link: https://github.com/ClangBuiltLinux/linux/issues/378
+Fixes: ea6f3af4c5e6 ("ACPI: GED: add support for _Exx / _Lxx handler methods")
+Acked-by: Ard Biesheuvel <ardb@kernel.org>
+Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/acpi/evged.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/acpi/evged.c
++++ b/drivers/acpi/evged.c
+@@ -104,7 +104,7 @@ static acpi_status acpi_ged_request_inte
+       switch (gsi) {
+       case 0 ... 255:
+-              sprintf(ev_name, "_%c%02hhX",
++              sprintf(ev_name, "_%c%02X",
+                       trigger == ACPI_EDGE_SENSITIVE ? 'E' : 'L', gsi);
+               if (ACPI_SUCCESS(acpi_get_handle(handle, ev_name, &evt_handle)))
diff --git a/queue-4.14/can-flexcan-add-ecc-initialization-for-vf610.patch b/queue-4.14/can-flexcan-add-ecc-initialization-for-vf610.patch
new file mode 100644 (file)
index 0000000..6d16cb3
--- /dev/null
@@ -0,0 +1,34 @@
+From 5fdf04a9fdc27fc6cd37bb2ae44a84a282323773 Mon Sep 17 00:00:00 2001
+From: Joakim Zhang <qiangqing.zhang@nxp.com>
+Date: Tue, 20 Oct 2020 23:53:57 +0800
+Subject: can: flexcan: add ECC initialization for VF610
+
+From: Joakim Zhang <qiangqing.zhang@nxp.com>
+
+commit 5fdf04a9fdc27fc6cd37bb2ae44a84a282323773 upstream.
+
+For SoCs with ECC supported, even use FLEXCAN_QUIRK_DISABLE_MECR quirk to
+disable non-correctable errors interrupt and freeze mode, had better use
+FLEXCAN_QUIRK_SUPPORT_ECC quirk to initialize all memory.
+
+Fixes: cdce844865bea ("can: flexcan: add vf610 support for FlexCAN")
+Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
+Link: https://lore.kernel.org/r/20201020155402.30318-6-qiangqing.zhang@nxp.com
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/can/flexcan.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/can/flexcan.c
++++ b/drivers/net/can/flexcan.c
+@@ -298,7 +298,7 @@ static const struct flexcan_devtype_data
+ static const struct flexcan_devtype_data fsl_vf610_devtype_data = {
+       .quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
+               FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP |
+-              FLEXCAN_QUIRK_BROKEN_PERR_STATE,
++              FLEXCAN_QUIRK_BROKEN_PERR_STATE | FLEXCAN_QUIRK_SUPPORT_ECC,
+ };
+ static const struct can_bittiming_const flexcan_bittiming_const = {
diff --git a/queue-4.14/can-proc-can_remove_proc-silence-remove_proc_entry-warning.patch b/queue-4.14/can-proc-can_remove_proc-silence-remove_proc_entry-warning.patch
new file mode 100644 (file)
index 0000000..913ee90
--- /dev/null
@@ -0,0 +1,48 @@
+From 3accbfdc36130282f5ae9e6eecfdf820169fedce Mon Sep 17 00:00:00 2001
+From: Zhang Changzhong <zhangchangzhong@huawei.com>
+Date: Tue, 14 Jul 2020 14:44:50 +0800
+Subject: can: proc: can_remove_proc(): silence remove_proc_entry warning
+
+From: Zhang Changzhong <zhangchangzhong@huawei.com>
+
+commit 3accbfdc36130282f5ae9e6eecfdf820169fedce upstream.
+
+If can_init_proc() fail to create /proc/net/can directory, can_remove_proc()
+will trigger a warning:
+
+WARNING: CPU: 6 PID: 7133 at fs/proc/generic.c:672 remove_proc_entry+0x17b0
+Kernel panic - not syncing: panic_on_warn set ...
+
+Fix to return early from can_remove_proc() if can proc_dir does not exists.
+
+Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
+Link: https://lore.kernel.org/r/1594709090-3203-1-git-send-email-zhangchangzhong@huawei.com
+Fixes: 8e8cda6d737d ("can: initial support for network namespaces")
+Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/can/proc.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/net/can/proc.c
++++ b/net/can/proc.c
+@@ -554,6 +554,9 @@ void can_init_proc(struct net *net)
+  */
+ void can_remove_proc(struct net *net)
+ {
++      if (!net->can.proc_dir)
++              return;
++
+       if (net->can.pde_version)
+               remove_proc_entry(CAN_PROC_VERSION, net->can.proc_dir);
+@@ -581,6 +584,5 @@ void can_remove_proc(struct net *net)
+       if (net->can.pde_rcvlist_sff)
+               remove_proc_entry(CAN_PROC_RCVLIST_SFF, net->can.proc_dir);
+-      if (net->can.proc_dir)
+-              remove_proc_entry("can", net->proc_net);
++      remove_proc_entry("can", net->proc_net);
+ }
diff --git a/queue-4.14/kvm-x86-clflushopt-should-be-treated-as-a-no-op-by-emulation.patch b/queue-4.14/kvm-x86-clflushopt-should-be-treated-as-a-no-op-by-emulation.patch
new file mode 100644 (file)
index 0000000..ca3d189
--- /dev/null
@@ -0,0 +1,47 @@
+From 51b958e5aeb1e18c00332e0b37c5d4e95a3eff84 Mon Sep 17 00:00:00 2001
+From: David Edmondson <david.edmondson@oracle.com>
+Date: Tue, 3 Nov 2020 12:04:00 +0000
+Subject: KVM: x86: clflushopt should be treated as a no-op by emulation
+
+From: David Edmondson <david.edmondson@oracle.com>
+
+commit 51b958e5aeb1e18c00332e0b37c5d4e95a3eff84 upstream.
+
+The instruction emulator ignores clflush instructions, yet fails to
+support clflushopt. Treat both similarly.
+
+Fixes: 13e457e0eebf ("KVM: x86: Emulator does not decode clflush well")
+Signed-off-by: David Edmondson <david.edmondson@oracle.com>
+Message-Id: <20201103120400.240882-1-david.edmondson@oracle.com>
+Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kvm/emulate.c |    8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/kvm/emulate.c
++++ b/arch/x86/kvm/emulate.c
+@@ -3949,6 +3949,12 @@ static int em_clflush(struct x86_emulate
+       return X86EMUL_CONTINUE;
+ }
++static int em_clflushopt(struct x86_emulate_ctxt *ctxt)
++{
++      /* emulating clflushopt regardless of cpuid */
++      return X86EMUL_CONTINUE;
++}
++
+ static int em_movsxd(struct x86_emulate_ctxt *ctxt)
+ {
+       ctxt->dst.val = (s32) ctxt->src.val;
+@@ -4463,7 +4469,7 @@ static const struct opcode group11[] = {
+ };
+ static const struct gprefix pfx_0f_ae_7 = {
+-      I(SrcMem | ByteOp, em_clflush), N, N, N,
++      I(SrcMem | ByteOp, em_clflush), I(SrcMem | ByteOp, em_clflushopt), N, N,
+ };
+ static const struct group_dual group15 = { {
diff --git a/queue-4.14/mac80211-always-wind-down-sta-state.patch b/queue-4.14/mac80211-always-wind-down-sta-state.patch
new file mode 100644 (file)
index 0000000..f0dcb54
--- /dev/null
@@ -0,0 +1,60 @@
+From dcd479e10a0510522a5d88b29b8f79ea3467d501 Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Fri, 9 Oct 2020 14:17:11 +0200
+Subject: mac80211: always wind down STA state
+
+From: Johannes Berg <johannes.berg@intel.com>
+
+commit dcd479e10a0510522a5d88b29b8f79ea3467d501 upstream.
+
+When (for example) an IBSS station is pre-moved to AUTHORIZED
+before it's inserted, and then the insertion fails, we don't
+clean up the fast RX/TX states that might already have been
+created, since we don't go through all the state transitions
+again on the way down.
+
+Do that, if it hasn't been done already, when the station is
+freed. I considered only freeing the fast TX/RX state there,
+but we might add more state so it's more robust to wind down
+the state properly.
+
+Note that we warn if the station was ever inserted, it should
+have been properly cleaned up in that case, and the driver
+will probably not like things happening out of order.
+
+Reported-by: syzbot+2e293dbd67de2836ba42@syzkaller.appspotmail.com
+Link: https://lore.kernel.org/r/20201009141710.7223b322a955.I95bd08b9ad0e039c034927cce0b75beea38e059b@changeid
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/sta_info.c |   18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+--- a/net/mac80211/sta_info.c
++++ b/net/mac80211/sta_info.c
+@@ -244,6 +244,24 @@ struct sta_info *sta_info_get_by_idx(str
+  */
+ void sta_info_free(struct ieee80211_local *local, struct sta_info *sta)
+ {
++      /*
++       * If we had used sta_info_pre_move_state() then we might not
++       * have gone through the state transitions down again, so do
++       * it here now (and warn if it's inserted).
++       *
++       * This will clear state such as fast TX/RX that may have been
++       * allocated during state transitions.
++       */
++      while (sta->sta_state > IEEE80211_STA_NONE) {
++              int ret;
++
++              WARN_ON_ONCE(test_sta_flag(sta, WLAN_STA_INSERTED));
++
++              ret = sta_info_move_state(sta, sta->sta_state - 1);
++              if (WARN_ONCE(ret, "sta_info_move_state() returned %d\n", ret))
++                      break;
++      }
++
+       if (sta->rate_ctrl)
+               rate_control_free_sta(sta);
index 84c8c8badde2ffc6db51968f08e3d3aaf0217b1b..bd6ae07614382b16148c889c306f2330d3c379fa 100644 (file)
@@ -11,3 +11,8 @@ i2c-imx-fix-external-abort-on-interrupt-in-exit-paths.patch
 gpio-mockup-fix-resource-leak-in-error-path.patch
 powerpc-8xx-always-fault-when-_page_accessed-is-not-set.patch
 input-sunkbd-avoid-use-after-free-in-teardown-paths.patch
+mac80211-always-wind-down-sta-state.patch
+can-proc-can_remove_proc-silence-remove_proc_entry-warning.patch
+can-flexcan-add-ecc-initialization-for-vf610.patch
+kvm-x86-clflushopt-should-be-treated-as-a-no-op-by-emulation.patch
+acpi-ged-fix-wformat.patch