]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Feb 2019 14:07:53 +0000 (15:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Feb 2019 14:07:53 +0000 (15:07 +0100)
added patches:
arm-dts-da850-fix-interrupt-numbers-for-clocksource.patch
arm-iop32x-n2100-fix-pci-irq-mapping.patch
arm-tango-improve-arch_multiplatform-compatibility.patch
drm-amd-powerplay-fix-missing-break-in-switch.patch
drm-i915-always-return-something-on-ddi-clock-selection.patch
drm-modes-prevent-division-by-zero-htotal.patch
drm-vmwgfx-fix-setting-of-dma-masks.patch
drm-vmwgfx-return-error-code-from-vmw_execbuf_copy_fence_user.patch
firmware-arm_scmi-provide-the-mandatory-device-release-callback.patch
mac80211-ensure-that-mgmt-tx-skbs-have-tailroom-for-encryption.patch
mic-vop-fix-use-after-free-on-remove.patch
mips-cm-reprime-error-cause.patch
mips-loongson64-remove-unreachable-fix-loongson_poweroff.patch
mips-octeon-don-t-set-octeon_dma_bar_type-if-pci-is-disabled.patch
mips-vdso-include-ccflags-vdso-in-o32-n32-.lds-builds.patch
mips-vdso-use-same-m-float-cflag-as-the-kernel-proper.patch
pinctrl-cherryview-fix-strago-dmi-workaround.patch
pinctrl-sunxi-correct-number-of-irq-banks-on-h6-main-pin-controller.patch
powerpc-radix-fix-kernel-crash-with-mremap.patch
tracing-uprobes-fix-typo-in-pr_fmt-string.patch

21 files changed:
queue-4.19/arm-dts-da850-fix-interrupt-numbers-for-clocksource.patch [new file with mode: 0644]
queue-4.19/arm-iop32x-n2100-fix-pci-irq-mapping.patch [new file with mode: 0644]
queue-4.19/arm-tango-improve-arch_multiplatform-compatibility.patch [new file with mode: 0644]
queue-4.19/drm-amd-powerplay-fix-missing-break-in-switch.patch [new file with mode: 0644]
queue-4.19/drm-i915-always-return-something-on-ddi-clock-selection.patch [new file with mode: 0644]
queue-4.19/drm-modes-prevent-division-by-zero-htotal.patch [new file with mode: 0644]
queue-4.19/drm-vmwgfx-fix-setting-of-dma-masks.patch [new file with mode: 0644]
queue-4.19/drm-vmwgfx-return-error-code-from-vmw_execbuf_copy_fence_user.patch [new file with mode: 0644]
queue-4.19/firmware-arm_scmi-provide-the-mandatory-device-release-callback.patch [new file with mode: 0644]
queue-4.19/mac80211-ensure-that-mgmt-tx-skbs-have-tailroom-for-encryption.patch [new file with mode: 0644]
queue-4.19/mic-vop-fix-use-after-free-on-remove.patch [new file with mode: 0644]
queue-4.19/mips-cm-reprime-error-cause.patch [new file with mode: 0644]
queue-4.19/mips-loongson64-remove-unreachable-fix-loongson_poweroff.patch [new file with mode: 0644]
queue-4.19/mips-octeon-don-t-set-octeon_dma_bar_type-if-pci-is-disabled.patch [new file with mode: 0644]
queue-4.19/mips-vdso-include-ccflags-vdso-in-o32-n32-.lds-builds.patch [new file with mode: 0644]
queue-4.19/mips-vdso-use-same-m-float-cflag-as-the-kernel-proper.patch [new file with mode: 0644]
queue-4.19/pinctrl-cherryview-fix-strago-dmi-workaround.patch [new file with mode: 0644]
queue-4.19/pinctrl-sunxi-correct-number-of-irq-banks-on-h6-main-pin-controller.patch [new file with mode: 0644]
queue-4.19/powerpc-radix-fix-kernel-crash-with-mremap.patch [new file with mode: 0644]
queue-4.19/series
queue-4.19/tracing-uprobes-fix-typo-in-pr_fmt-string.patch [new file with mode: 0644]

diff --git a/queue-4.19/arm-dts-da850-fix-interrupt-numbers-for-clocksource.patch b/queue-4.19/arm-dts-da850-fix-interrupt-numbers-for-clocksource.patch
new file mode 100644 (file)
index 0000000..be546e0
--- /dev/null
@@ -0,0 +1,37 @@
+From e3966a766865da7ced1dece663697861dd5cf103 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Fri, 11 Jan 2019 18:21:18 +0100
+Subject: ARM: dts: da850: fix interrupt numbers for clocksource
+
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+
+commit e3966a766865da7ced1dece663697861dd5cf103 upstream.
+
+The timer interrupts specified in commit 3652e2741f42 ("ARM: dts:
+da850: Add clocks") are wrong but since the current timer code
+hard-codes them, the bug was never spotted.
+
+This patch must go into stable since, once we introduce a proper
+clocksource driver, devices with buggy device tree will stop booting.
+
+Fixes: 3652e2741f42 ("ARM: dts: da850: Add clocks")
+Cc: stable@vger.kernel.org
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Signed-off-by: Sekhar Nori <nsekhar@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/da850.dtsi |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/da850.dtsi
++++ b/arch/arm/boot/dts/da850.dtsi
+@@ -476,7 +476,7 @@
+               clocksource: timer@20000 {
+                       compatible = "ti,da830-timer";
+                       reg = <0x20000 0x1000>;
+-                      interrupts = <12>, <13>;
++                      interrupts = <21>, <22>;
+                       interrupt-names = "tint12", "tint34";
+                       clocks = <&pll0_auxclk>;
+               };
diff --git a/queue-4.19/arm-iop32x-n2100-fix-pci-irq-mapping.patch b/queue-4.19/arm-iop32x-n2100-fix-pci-irq-mapping.patch
new file mode 100644 (file)
index 0000000..3bd6c4a
--- /dev/null
@@ -0,0 +1,33 @@
+From db4090920ba2d61a5827a23e441447926a02ffee Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@armlinux.org.uk>
+Date: Fri, 25 Jan 2019 20:10:15 +0000
+Subject: ARM: iop32x/n2100: fix PCI IRQ mapping
+
+From: Russell King <rmk+kernel@armlinux.org.uk>
+
+commit db4090920ba2d61a5827a23e441447926a02ffee upstream.
+
+Booting 4.20 on a TheCUS N2100 results in a kernel oops while probing
+PCI, due to n2100_pci_map_irq() having been discarded during boot.
+
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+Cc: stable@vger.kernel.org # 2.6.18+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-iop32x/n2100.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/arch/arm/mach-iop32x/n2100.c
++++ b/arch/arm/mach-iop32x/n2100.c
+@@ -75,8 +75,7 @@ void __init n2100_map_io(void)
+ /*
+  * N2100 PCI.
+  */
+-static int __init
+-n2100_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
++static int n2100_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
+ {
+       int irq;
diff --git a/queue-4.19/arm-tango-improve-arch_multiplatform-compatibility.patch b/queue-4.19/arm-tango-improve-arch_multiplatform-compatibility.patch
new file mode 100644 (file)
index 0000000..8dd5d26
--- /dev/null
@@ -0,0 +1,74 @@
+From d0f9f16788e15d9eb40f68b047732d49658c5a3a Mon Sep 17 00:00:00 2001
+From: Marc Gonzalez <marc.w.gonzalez@free.fr>
+Date: Wed, 16 Jan 2019 16:49:58 +0100
+Subject: ARM: tango: Improve ARCH_MULTIPLATFORM compatibility
+
+From: Marc Gonzalez <marc.w.gonzalez@free.fr>
+
+commit d0f9f16788e15d9eb40f68b047732d49658c5a3a upstream.
+
+Calling platform-specific code unconditionally blows up when running
+an ARCH_MULTIPLATFORM kernel on a different platform. Don't do it.
+
+Reported-by: Paolo Pisati <p.pisati@gmail.com>
+Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
+Acked-by: Pavel Machek <pavel@ucw.cz>
+Cc: stable@vger.kernel.org # v4.8+
+Fixes: a30eceb7a59d ("ARM: tango: add Suspend-to-RAM support")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-tango/pm.c    |    6 ++----
+ arch/arm/mach-tango/pm.h    |    7 +++++++
+ arch/arm/mach-tango/setup.c |    2 ++
+ 3 files changed, 11 insertions(+), 4 deletions(-)
+
+--- a/arch/arm/mach-tango/pm.c
++++ b/arch/arm/mach-tango/pm.c
+@@ -3,6 +3,7 @@
+ #include <linux/suspend.h>
+ #include <asm/suspend.h>
+ #include "smc.h"
++#include "pm.h"
+ static int tango_pm_powerdown(unsigned long arg)
+ {
+@@ -24,10 +25,7 @@ static const struct platform_suspend_ops
+       .valid = suspend_valid_only_mem,
+ };
+-static int __init tango_pm_init(void)
++void __init tango_pm_init(void)
+ {
+       suspend_set_ops(&tango_pm_ops);
+-      return 0;
+ }
+-
+-late_initcall(tango_pm_init);
+--- /dev/null
++++ b/arch/arm/mach-tango/pm.h
+@@ -0,0 +1,7 @@
++/* SPDX-License-Identifier: GPL-2.0 */
++
++#ifdef CONFIG_SUSPEND
++void __init tango_pm_init(void);
++#else
++#define tango_pm_init NULL
++#endif
+--- a/arch/arm/mach-tango/setup.c
++++ b/arch/arm/mach-tango/setup.c
+@@ -2,6 +2,7 @@
+ #include <asm/mach/arch.h>
+ #include <asm/hardware/cache-l2x0.h>
+ #include "smc.h"
++#include "pm.h"
+ static void tango_l2c_write(unsigned long val, unsigned int reg)
+ {
+@@ -15,4 +16,5 @@ DT_MACHINE_START(TANGO_DT, "Sigma Tango
+       .dt_compat      = tango_dt_compat,
+       .l2c_aux_mask   = ~0,
+       .l2c_write_sec  = tango_l2c_write,
++      .init_late      = tango_pm_init,
+ MACHINE_END
diff --git a/queue-4.19/drm-amd-powerplay-fix-missing-break-in-switch.patch b/queue-4.19/drm-amd-powerplay-fix-missing-break-in-switch.patch
new file mode 100644 (file)
index 0000000..ec9bd8d
--- /dev/null
@@ -0,0 +1,39 @@
+From 2f10d823739680d2477ce34437e8a08a53117f40 Mon Sep 17 00:00:00 2001
+From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
+Date: Fri, 25 Jan 2019 15:55:33 -0600
+Subject: drm/amd/powerplay: Fix missing break in switch
+
+From: Gustavo A. R. Silva <gustavo@embeddedor.com>
+
+commit 2f10d823739680d2477ce34437e8a08a53117f40 upstream.
+
+Add missing break statement in order to prevent the code from falling
+through to the default case.
+
+The resoning for this is that pclk_vol_table is an automatic variable.
+So, it makes no sense to update it just before falling through to the
+default case and return -EINVAL.
+
+This bug was found thanks to the ongoing efforts to enabling
+-Wimplicit-fallthrough.
+
+Fixes: cd70f3d6e3fa ("drm/amd/powerplay: PP/DAL interface changes for dynamic clock switch")
+Cc: stable@vger.kernel.org
+Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
+@@ -984,6 +984,7 @@ static int smu10_get_clock_by_type_with_
+               break;
+       case amd_pp_dpp_clock:
+               pclk_vol_table = pinfo->vdd_dep_on_dppclk;
++              break;
+       default:
+               return -EINVAL;
+       }
diff --git a/queue-4.19/drm-i915-always-return-something-on-ddi-clock-selection.patch b/queue-4.19/drm-i915-always-return-something-on-ddi-clock-selection.patch
new file mode 100644 (file)
index 0000000..fcc8a80
--- /dev/null
@@ -0,0 +1,39 @@
+From 2a121030d4ee3f84f60c6f415f9c44bffbcde81d Mon Sep 17 00:00:00 2001
+From: Lucas De Marchi <lucas.demarchi@intel.com>
+Date: Fri, 25 Jan 2019 14:24:42 -0800
+Subject: drm/i915: always return something on DDI clock selection
+
+From: Lucas De Marchi <lucas.demarchi@intel.com>
+
+commit 2a121030d4ee3f84f60c6f415f9c44bffbcde81d upstream.
+
+Even if we don't have the correct clock and get a warning, we should not
+skip the return.
+
+v2: improve commit message (from Joonas)
+
+Fixes: 1fa11ee2d9d0 ("drm/i915/icl: start adding the TBT pll")
+Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
+Cc: <stable@vger.kernel.org> # v4.19+
+Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
+Reviewed-by: Mika Kahola <mika.kahola@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20190125222444.19926-3-lucas.demarchi@intel.com
+(cherry picked from commit 7a61a6dec3dfb9f2e8c39a337580a3c3036c5cdf)
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_ddi.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/intel_ddi.c
++++ b/drivers/gpu/drm/i915/intel_ddi.c
+@@ -1085,7 +1085,7 @@ static uint32_t icl_pll_to_ddi_pll_sel(s
+                       return DDI_CLK_SEL_TBT_810;
+               default:
+                       MISSING_CASE(clock);
+-                      break;
++                      return DDI_CLK_SEL_NONE;
+               }
+       case DPLL_ID_ICL_MGPLL1:
+       case DPLL_ID_ICL_MGPLL2:
diff --git a/queue-4.19/drm-modes-prevent-division-by-zero-htotal.patch b/queue-4.19/drm-modes-prevent-division-by-zero-htotal.patch
new file mode 100644 (file)
index 0000000..53f5de4
--- /dev/null
@@ -0,0 +1,102 @@
+From a2fcd5c84f7a7825e028381b10182439067aa90d Mon Sep 17 00:00:00 2001
+From: Tina Zhang <tina.zhang@intel.com>
+Date: Wed, 23 Jan 2019 15:28:59 +0800
+Subject: drm/modes: Prevent division by zero htotal
+
+From: Tina Zhang <tina.zhang@intel.com>
+
+commit a2fcd5c84f7a7825e028381b10182439067aa90d upstream.
+
+This patch prevents division by zero htotal.
+
+In a follow-up mail Tina writes:
+
+> > How did you manage to get here with htotal == 0? This needs backtraces (or if
+> > this is just about static checkers, a mention of that).
+> > -Daniel
+>
+> In GVT-g, we are trying to enable a virtual display w/o setting timings for a pipe
+> (a.k.a htotal=0), then we met the following kernel panic:
+>
+> [   32.832048] divide error: 0000 [#1] SMP PTI
+> [   32.833614] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.18.0-rc4-sriov+ #33
+> [   32.834438] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.10.1-0-g8891697-dirty-20180511_165818-tinazhang-linux-1 04/01/2014
+> [   32.835901] RIP: 0010:drm_mode_hsync+0x1e/0x40
+> [   32.836004] Code: 31 c0 c3 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 8b 87 d8 00 00 00 85 c0 75 22 8b 4f 68 85 c9 78 1b 69 47 58 e8 03 00 00 99 <f7> f9 b9 d3 4d 62 10 05 f4 01 00 00 f7 e1 89 d0 c1 e8 06 f3 c3 66
+> [   32.836004] RSP: 0000:ffffc900000ebb90 EFLAGS: 00010206
+> [   32.836004] RAX: 0000000000000000 RBX: ffff88001c67c8a0 RCX: 0000000000000000
+> [   32.836004] RDX: 0000000000000000 RSI: ffff88001c67c000 RDI: ffff88001c67c8a0
+> [   32.836004] RBP: ffff88001c7d03a0 R08: ffff88001c67c8a0 R09: ffff88001c7d0330
+> [   32.836004] R10: ffffffff822c3a98 R11: 0000000000000001 R12: ffff88001c67c000
+> [   32.836004] R13: ffff88001c7d0370 R14: ffffffff8207eb78 R15: ffff88001c67c800
+> [   32.836004] FS:  0000000000000000(0000) GS:ffff88001da00000(0000) knlGS:0000000000000000
+> [   32.836004] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+> [   32.836004] CR2: 0000000000000000 CR3: 000000000220a000 CR4: 00000000000006f0
+> [   32.836004] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+> [   32.836004] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
+> [   32.836004] Call Trace:
+> [   32.836004]  intel_mode_from_pipe_config+0x72/0x90
+> [   32.836004]  intel_modeset_setup_hw_state+0x569/0xf90
+> [   32.836004]  intel_modeset_init+0x905/0x1db0
+> [   32.836004]  i915_driver_load+0xb8c/0x1120
+> [   32.836004]  i915_pci_probe+0x4d/0xb0
+> [   32.836004]  local_pci_probe+0x44/0xa0
+> [   32.836004]  ? pci_assign_irq+0x27/0x130
+> [   32.836004]  pci_device_probe+0x102/0x1c0
+> [   32.836004]  driver_probe_device+0x2b8/0x480
+> [   32.836004]  __driver_attach+0x109/0x110
+> [   32.836004]  ? driver_probe_device+0x480/0x480
+> [   32.836004]  bus_for_each_dev+0x67/0xc0
+> [   32.836004]  ? klist_add_tail+0x3b/0x70
+> [   32.836004]  bus_add_driver+0x1e8/0x260
+> [   32.836004]  driver_register+0x5b/0xe0
+> [   32.836004]  ? mipi_dsi_bus_init+0x11/0x11
+> [   32.836004]  do_one_initcall+0x4d/0x1eb
+> [   32.836004]  kernel_init_freeable+0x197/0x237
+> [   32.836004]  ? rest_init+0xd0/0xd0
+> [   32.836004]  kernel_init+0xa/0x110
+> [   32.836004]  ret_from_fork+0x35/0x40
+> [   32.836004] Modules linked in:
+> [   32.859183] ---[ end trace 525608b0ed0e8665 ]---
+> [   32.859722] RIP: 0010:drm_mode_hsync+0x1e/0x40
+> [   32.860287] Code: 31 c0 c3 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 8b 87 d8 00 00 00 85 c0 75 22 8b 4f 68 85 c9 78 1b 69 47 58 e8 03 00 00 99 <f7> f9 b9 d3 4d 62 10 05 f4 01 00 00 f7 e1 89 d0 c1 e8 06 f3 c3 66
+> [   32.862680] RSP: 0000:ffffc900000ebb90 EFLAGS: 00010206
+> [   32.863309] RAX: 0000000000000000 RBX: ffff88001c67c8a0 RCX: 0000000000000000
+> [   32.864182] RDX: 0000000000000000 RSI: ffff88001c67c000 RDI: ffff88001c67c8a0
+> [   32.865206] RBP: ffff88001c7d03a0 R08: ffff88001c67c8a0 R09: ffff88001c7d0330
+> [   32.866359] R10: ffffffff822c3a98 R11: 0000000000000001 R12: ffff88001c67c000
+> [   32.867213] R13: ffff88001c7d0370 R14: ffffffff8207eb78 R15: ffff88001c67c800
+> [   32.868075] FS:  0000000000000000(0000) GS:ffff88001da00000(0000) knlGS:0000000000000000
+> [   32.868983] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+> [   32.869659] CR2: 0000000000000000 CR3: 000000000220a000 CR4: 00000000000006f0
+> [   32.870599] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+> [   32.871598] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
+> [   32.872549] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
+>
+> Since drm_mode_hsync() has the logic to check mode->htotal, I just extend it to cover the case htotal==0.
+
+Signed-off-by: Tina Zhang <tina.zhang@intel.com>
+Cc: Adam Jackson <ajax@redhat.com>
+Cc: Dave Airlie <airlied@redhat.com>
+Cc: Daniel Vetter <daniel@ffwll.ch>
+[danvet: Add additional explanations + cc: stable.]
+Cc: stable@vger.kernel.org
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: https://patchwork.freedesktop.org/patch/msgid/1548228539-3061-1-git-send-email-tina.zhang@intel.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/drm_modes.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/drm_modes.c
++++ b/drivers/gpu/drm/drm_modes.c
+@@ -758,7 +758,7 @@ int drm_mode_hsync(const struct drm_disp
+       if (mode->hsync)
+               return mode->hsync;
+-      if (mode->htotal < 0)
++      if (mode->htotal <= 0)
+               return 0;
+       calc_val = (mode->clock * 1000) / mode->htotal; /* hsync in Hz */
diff --git a/queue-4.19/drm-vmwgfx-fix-setting-of-dma-masks.patch b/queue-4.19/drm-vmwgfx-fix-setting-of-dma-masks.patch
new file mode 100644 (file)
index 0000000..1ee3a09
--- /dev/null
@@ -0,0 +1,44 @@
+From 4cbfa1e6c09e98450aab3240e5119b0ab2c9795b Mon Sep 17 00:00:00 2001
+From: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon, 28 Jan 2019 10:31:33 +0100
+Subject: drm/vmwgfx: Fix setting of dma masks
+
+From: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 4cbfa1e6c09e98450aab3240e5119b0ab2c9795b upstream.
+
+Previously we set only the dma mask and not the coherent mask. Fix that.
+Also, for clarity, make sure both are initially set to 64 bits.
+
+Cc: <stable@vger.kernel.org>
+Fixes: 0d00c488f3de: ("drm/vmwgfx: Fix the driver for large dma addresses")
+Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+Reviewed-by: Deepak Rawat <drawat@vmware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_drv.c |    9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+@@ -627,13 +627,16 @@ out_fixup:
+ static int vmw_dma_masks(struct vmw_private *dev_priv)
+ {
+       struct drm_device *dev = dev_priv->dev;
++      int ret = 0;
+-      if (intel_iommu_enabled &&
++      ret = dma_set_mask_and_coherent(dev->dev, DMA_BIT_MASK(64));
++      if (dev_priv->map_mode != vmw_dma_phys &&
+           (sizeof(unsigned long) == 4 || vmw_restrict_dma_mask)) {
+               DRM_INFO("Restricting DMA addresses to 44 bits.\n");
+-              return dma_set_mask(dev->dev, DMA_BIT_MASK(44));
++              return dma_set_mask_and_coherent(dev->dev, DMA_BIT_MASK(44));
+       }
+-      return 0;
++
++      return ret;
+ }
+ #else
+ static int vmw_dma_masks(struct vmw_private *dev_priv)
diff --git a/queue-4.19/drm-vmwgfx-return-error-code-from-vmw_execbuf_copy_fence_user.patch b/queue-4.19/drm-vmwgfx-return-error-code-from-vmw_execbuf_copy_fence_user.patch
new file mode 100644 (file)
index 0000000..bb19385
--- /dev/null
@@ -0,0 +1,38 @@
+From 728354c005c36eaf44b6e5552372b67e60d17f56 Mon Sep 17 00:00:00 2001
+From: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Thu, 31 Jan 2019 10:55:37 +0100
+Subject: drm/vmwgfx: Return error code from vmw_execbuf_copy_fence_user
+
+From: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 728354c005c36eaf44b6e5552372b67e60d17f56 upstream.
+
+The function was unconditionally returning 0, and a caller would have to
+rely on the returned fence pointer being NULL to detect errors. However,
+the function vmw_execbuf_copy_fence_user() would expect a non-zero error
+code in that case and would BUG otherwise.
+
+So make sure we return a proper non-zero error code if the fence pointer
+returned is NULL.
+
+Cc: <stable@vger.kernel.org>
+Fixes: ae2a104058e2: ("vmwgfx: Implement fence objects")
+Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+Reviewed-by: Deepak Rawat <drawat@vmware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
+@@ -3843,7 +3843,7 @@ int vmw_execbuf_fence_commands(struct dr
+               *p_fence = NULL;
+       }
+-      return 0;
++      return ret;
+ }
+ /**
diff --git a/queue-4.19/firmware-arm_scmi-provide-the-mandatory-device-release-callback.patch b/queue-4.19/firmware-arm_scmi-provide-the-mandatory-device-release-callback.patch
new file mode 100644 (file)
index 0000000..411d1e6
--- /dev/null
@@ -0,0 +1,92 @@
+From 46edb8d1322c1763dd04e179992f8e9996085047 Mon Sep 17 00:00:00 2001
+From: Sudeep Holla <sudeep.holla@arm.com>
+Date: Tue, 22 Jan 2019 11:35:25 +0000
+Subject: firmware: arm_scmi: provide the mandatory device release callback
+
+From: Sudeep Holla <sudeep.holla@arm.com>
+
+commit 46edb8d1322c1763dd04e179992f8e9996085047 upstream.
+
+The device/driver model clearly mandates that bus driver that discover
+and allocate the device must set the release callback. This callback
+will be used to free the device after all references have gone away.
+
+scmi bus driver is missing the obvious callback which will result in
+the following warning if the device is unregistered:
+
+Device 'scmi_dev.1' does not have a release() function, it is broken and
+must be fixed. See Documentation/kobject.txt.
+WARNING at drivers/base/core.c:922 device_release+0x8c/0xa0
+Hardware name: ARM LTD Juno Development Platform BIOS EDK II Jan 21 2019
+Workqueue: events deferred_probe_work_func
+pstate: 60000005 (nZCv daif -PAN -UAO)
+pc : device_release+0x8c/0xa0
+lr : device_release+0x8c/0xa0
+Call trace:
+ device_release+0x8c/0xa0
+ kobject_put+0x8c/0x208
+ device_unregister+0x30/0x78
+ scmi_device_destroy+0x28/0x50
+ scmi_probe+0x354/0x5b0
+ platform_drv_probe+0x58/0xa8
+ really_probe+0x2c4/0x3e8
+ driver_probe_device+0x12c/0x148
+ __device_attach_driver+0xac/0x150
+ bus_for_each_drv+0x78/0xd8
+ __device_attach+0xe0/0x168
+ device_initial_probe+0x24/0x30
+ bus_probe_device+0xa0/0xa8
+ deferred_probe_work_func+0x8c/0xe0
+ process_one_work+0x1f0/0x478
+ worker_thread+0x22c/0x450
+ kthread+0x134/0x138
+ ret_from_fork+0x10/0x1c
+---[ end trace 420bdb7f6af50937 ]---
+
+Fix the issue by providing scmi_device_release callback. We have
+everything required for device release already in scmi_device_destroy,
+so we just need to move freeing of the device to scmi_device_release.
+
+Fixes: 933c504424a2 ("firmware: arm_scmi: add scmi protocol bus to enumerate protocol devices")
+Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
+Cc: stable@vger.kernel.org # 4.17+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/firmware/arm_scmi/bus.c |    9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/drivers/firmware/arm_scmi/bus.c
++++ b/drivers/firmware/arm_scmi/bus.c
+@@ -119,6 +119,11 @@ void scmi_driver_unregister(struct scmi_
+ }
+ EXPORT_SYMBOL_GPL(scmi_driver_unregister);
++static void scmi_device_release(struct device *dev)
++{
++      kfree(to_scmi_dev(dev));
++}
++
+ struct scmi_device *
+ scmi_device_create(struct device_node *np, struct device *parent, int protocol)
+ {
+@@ -138,6 +143,7 @@ scmi_device_create(struct device_node *n
+       scmi_dev->dev.parent = parent;
+       scmi_dev->dev.of_node = np;
+       scmi_dev->dev.bus = &scmi_bus_type;
++      scmi_dev->dev.release = scmi_device_release;
+       dev_set_name(&scmi_dev->dev, "scmi_dev.%d", id);
+       retval = device_register(&scmi_dev->dev);
+@@ -156,9 +162,8 @@ free_mem:
+ void scmi_device_destroy(struct scmi_device *scmi_dev)
+ {
+       scmi_handle_put(scmi_dev->handle);
+-      device_unregister(&scmi_dev->dev);
+       ida_simple_remove(&scmi_bus_id, scmi_dev->id);
+-      kfree(scmi_dev);
++      device_unregister(&scmi_dev->dev);
+ }
+ void scmi_set_handle(struct scmi_device *scmi_dev)
diff --git a/queue-4.19/mac80211-ensure-that-mgmt-tx-skbs-have-tailroom-for-encryption.patch b/queue-4.19/mac80211-ensure-that-mgmt-tx-skbs-have-tailroom-for-encryption.patch
new file mode 100644 (file)
index 0000000..f2179a4
--- /dev/null
@@ -0,0 +1,57 @@
+From 9d0f50b80222dc273e67e4e14410fcfa4130a90c Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Tue, 29 Jan 2019 11:10:57 +0100
+Subject: mac80211: ensure that mgmt tx skbs have tailroom for encryption
+
+From: Felix Fietkau <nbd@nbd.name>
+
+commit 9d0f50b80222dc273e67e4e14410fcfa4130a90c upstream.
+
+Some drivers use IEEE80211_KEY_FLAG_SW_MGMT_TX to indicate that management
+frames need to be software encrypted. Since normal data packets are still
+encrypted by the hardware, crypto_tx_tailroom_needed_cnt gets decremented
+after key upload to hw. This can lead to passing skbs to ccmp_encrypt_skb,
+which don't have the necessary tailroom for software encryption.
+
+Change the code to add tailroom for encrypted management packets, even if
+crypto_tx_tailroom_needed_cnt is 0.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/tx.c |   12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1913,9 +1913,16 @@ static int ieee80211_skb_resize(struct i
+                               int head_need, bool may_encrypt)
+ {
+       struct ieee80211_local *local = sdata->local;
++      struct ieee80211_hdr *hdr;
++      bool enc_tailroom;
+       int tail_need = 0;
+-      if (may_encrypt && sdata->crypto_tx_tailroom_needed_cnt) {
++      hdr = (struct ieee80211_hdr *) skb->data;
++      enc_tailroom = may_encrypt &&
++                     (sdata->crypto_tx_tailroom_needed_cnt ||
++                      ieee80211_is_mgmt(hdr->frame_control));
++
++      if (enc_tailroom) {
+               tail_need = IEEE80211_ENCRYPT_TAILROOM;
+               tail_need -= skb_tailroom(skb);
+               tail_need = max_t(int, tail_need, 0);
+@@ -1923,8 +1930,7 @@ static int ieee80211_skb_resize(struct i
+       if (skb_cloned(skb) &&
+           (!ieee80211_hw_check(&local->hw, SUPPORTS_CLONED_SKBS) ||
+-           !skb_clone_writable(skb, ETH_HLEN) ||
+-           (may_encrypt && sdata->crypto_tx_tailroom_needed_cnt)))
++           !skb_clone_writable(skb, ETH_HLEN) || enc_tailroom))
+               I802_DEBUG_INC(local->tx_expand_skb_head_cloned);
+       else if (head_need || tail_need)
+               I802_DEBUG_INC(local->tx_expand_skb_head);
diff --git a/queue-4.19/mic-vop-fix-use-after-free-on-remove.patch b/queue-4.19/mic-vop-fix-use-after-free-on-remove.patch
new file mode 100644 (file)
index 0000000..116007a
--- /dev/null
@@ -0,0 +1,117 @@
+From 70ed7148dadb812f2f7c9927e98ef3cf4869dfa9 Mon Sep 17 00:00:00 2001
+From: Vincent Whitchurch <vincent.whitchurch@axis.com>
+Date: Fri, 1 Feb 2019 10:03:12 +0100
+Subject: mic: vop: Fix use-after-free on remove
+
+From: Vincent Whitchurch <vincent.whitchurch@axis.com>
+
+commit 70ed7148dadb812f2f7c9927e98ef3cf4869dfa9 upstream.
+
+KASAN detects a use-after-free when vop devices are removed.
+
+This problem was introduced by commit 0063e8bbd2b62d136 ("virtio_vop:
+don't kfree device on register failure").  That patch moved the freeing
+of the struct _vop_vdev to the release function, but failed to ensure
+that vop holds a reference to the device when it doesn't want it to go
+away.  A kfree() was replaced with a put_device() in the unregistration
+path, but the last reference to the device is already dropped in
+unregister_virtio_device() so the struct is freed before vop is done
+with it.
+
+Fix it by holding a reference until cleanup is done.  This is similar to
+the fix in virtio_pci in commit 2989be09a8a9d6 ("virtio_pci: fix use
+after free on release").
+
+ ==================================================================
+ BUG: KASAN: use-after-free in vop_scan_devices+0xc6c/0xe50 [vop]
+ Read of size 8 at addr ffff88800da18580 by task kworker/0:1/12
+
+ CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.0.0-rc4+ #53
+ Workqueue: events vop_hotplug_devices [vop]
+ Call Trace:
+  dump_stack+0x74/0xbb
+  print_address_description+0x5d/0x2b0
+  ? vop_scan_devices+0xc6c/0xe50 [vop]
+  kasan_report+0x152/0x1aa
+  ? vop_scan_devices+0xc6c/0xe50 [vop]
+  ? vop_scan_devices+0xc6c/0xe50 [vop]
+  vop_scan_devices+0xc6c/0xe50 [vop]
+  ? vop_loopback_free_irq+0x160/0x160 [vop_loopback]
+  process_one_work+0x7c0/0x14b0
+  ? pwq_dec_nr_in_flight+0x2d0/0x2d0
+  ? do_raw_spin_lock+0x120/0x280
+  worker_thread+0x8f/0xbf0
+  ? __kthread_parkme+0x78/0xf0
+  ? process_one_work+0x14b0/0x14b0
+  kthread+0x2ae/0x3a0
+  ? kthread_park+0x120/0x120
+  ret_from_fork+0x3a/0x50
+
+ Allocated by task 12:
+  kmem_cache_alloc_trace+0x13a/0x2a0
+  vop_scan_devices+0x473/0xe50 [vop]
+  process_one_work+0x7c0/0x14b0
+  worker_thread+0x8f/0xbf0
+  kthread+0x2ae/0x3a0
+  ret_from_fork+0x3a/0x50
+
+ Freed by task 12:
+  kfree+0x104/0x310
+  device_release+0x73/0x1d0
+  kobject_put+0x14f/0x420
+  unregister_virtio_device+0x32/0x50
+  vop_scan_devices+0x19d/0xe50 [vop]
+  process_one_work+0x7c0/0x14b0
+  worker_thread+0x8f/0xbf0
+  kthread+0x2ae/0x3a0
+  ret_from_fork+0x3a/0x50
+
+ The buggy address belongs to the object at ffff88800da18008
+  which belongs to the cache kmalloc-2k of size 2048
+ The buggy address is located 1400 bytes inside of
+  2048-byte region [ffff88800da18008, ffff88800da18808)
+ The buggy address belongs to the page:
+ page:ffffea0000368600 count:1 mapcount:0 mapping:ffff88801440dbc0 index:0x0 compound_mapcount: 0
+ flags: 0x4000000000010200(slab|head)
+ raw: 4000000000010200 ffffea0000378608 ffffea000037a008 ffff88801440dbc0
+ raw: 0000000000000000 00000000000d000d 00000001ffffffff 0000000000000000
+ page dumped because: kasan: bad access detected
+
+ Memory state around the buggy address:
+  ffff88800da18480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+  ffff88800da18500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+ >ffff88800da18580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+                    ^
+  ffff88800da18600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+  ffff88800da18680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+ ==================================================================
+
+Fixes: 0063e8bbd2b62d136 ("virtio_vop: don't kfree device on register failure")
+Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/misc/mic/vop/vop_main.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/misc/mic/vop/vop_main.c
++++ b/drivers/misc/mic/vop/vop_main.c
+@@ -563,6 +563,8 @@ static int _vop_remove_device(struct mic
+       int ret = -1;
+       if (ioread8(&dc->config_change) == MIC_VIRTIO_PARAM_DEV_REMOVE) {
++              struct device *dev = get_device(&vdev->vdev.dev);
++
+               dev_dbg(&vpdev->dev,
+                       "%s %d config_change %d type %d vdev %p\n",
+                       __func__, __LINE__,
+@@ -574,7 +576,7 @@ static int _vop_remove_device(struct mic
+               iowrite8(-1, &dc->h2c_vdev_db);
+               if (status & VIRTIO_CONFIG_S_DRIVER_OK)
+                       wait_for_completion(&vdev->reset_done);
+-              put_device(&vdev->vdev.dev);
++              put_device(dev);
+               iowrite8(1, &dc->guest_ack);
+               dev_dbg(&vpdev->dev, "%s %d guest_ack %d\n",
+                       __func__, __LINE__, ioread8(&dc->guest_ack));
diff --git a/queue-4.19/mips-cm-reprime-error-cause.patch b/queue-4.19/mips-cm-reprime-error-cause.patch
new file mode 100644 (file)
index 0000000..4579077
--- /dev/null
@@ -0,0 +1,42 @@
+From 05dc6001af0630e200ad5ea08707187fe5537e6d Mon Sep 17 00:00:00 2001
+From: Vladimir Kondratiev <vladimir.kondratiev@linux.intel.com>
+Date: Wed, 6 Feb 2019 13:46:17 +0200
+Subject: mips: cm: reprime error cause
+
+From: Vladimir Kondratiev <vladimir.kondratiev@linux.intel.com>
+
+commit 05dc6001af0630e200ad5ea08707187fe5537e6d upstream.
+
+Accordingly to the documentation
+---cut---
+The GCR_ERROR_CAUSE.ERR_TYPE field and the GCR_ERROR_MULT.ERR_TYPE
+fields can be cleared by either a reset or by writing the current
+value of GCR_ERROR_CAUSE.ERR_TYPE to the
+GCR_ERROR_CAUSE.ERR_TYPE register.
+---cut---
+Do exactly this. Original value of cm_error may be safely written back;
+it clears error cause and keeps other bits untouched.
+
+Fixes: 3885c2b463f6 ("MIPS: CM: Add support for reporting CM cache errors")
+Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@linux.intel.com>
+Signed-off-by: Paul Burton <paul.burton@mips.com>
+Cc: Ralf Baechle <ralf@linux-mips.org>
+Cc: James Hogan <jhogan@kernel.org>
+Cc: linux-mips@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Cc: stable@vger.kernel.org # v4.3+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/kernel/mips-cm.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/mips/kernel/mips-cm.c
++++ b/arch/mips/kernel/mips-cm.c
+@@ -457,5 +457,5 @@ void mips_cm_error_report(void)
+       }
+       /* reprime cause register */
+-      write_gcr_error_cause(0);
++      write_gcr_error_cause(cm_error);
+ }
diff --git a/queue-4.19/mips-loongson64-remove-unreachable-fix-loongson_poweroff.patch b/queue-4.19/mips-loongson64-remove-unreachable-fix-loongson_poweroff.patch
new file mode 100644 (file)
index 0000000..9c0da28
--- /dev/null
@@ -0,0 +1,60 @@
+From 8a96669d77897ff3613157bf43f875739205d66d Mon Sep 17 00:00:00 2001
+From: Yifeng Li <tomli@tomli.me>
+Date: Wed, 6 Feb 2019 15:07:21 +0800
+Subject: mips: loongson64: remove unreachable(), fix loongson_poweroff().
+
+From: Yifeng Li <tomli@tomli.me>
+
+commit 8a96669d77897ff3613157bf43f875739205d66d upstream.
+
+On my Yeeloong 8089, I noticed the machine fails to shutdown
+properly, and often, the function mach_prepare_reboot() is
+unexpectedly executed, thus the machine reboots instead. A
+wait loop is needed to ensure the system is in a well-defined
+state before going down.
+
+In commit 997e93d4df16 ("MIPS: Hang more efficiently on
+halt/powerdown/restart"), a general superset of the wait loop for all
+platforms is already provided, so we don't need to implement our own.
+
+This commit simply removes the unreachable() compiler marco after
+mach_prepare_reboot(), thus allowing the execution of machine_hang().
+My test shows that the machine is now able to shutdown successfully.
+
+Please note that there are two different bugs preventing the machine
+from shutting down, another work-in-progress commit is needed to
+fix a lockup in cpufreq / i8259 driver, please read Reference, this
+commit does not fix that bug.
+
+Reference: https://lkml.org/lkml/2019/2/5/908
+Signed-off-by: Yifeng Li <tomli@tomli.me>
+Signed-off-by: Paul Burton <paul.burton@mips.com>
+Cc: linux-mips@vger.kernel.org
+Cc: Huacai Chen <chenhc@lemote.com>
+Cc: Ralf Baechle <ralf@linux-mips.org>
+Cc: James Hogan <jhogan@kernel.org>
+Cc: linux-kernel@vger.kernel.org
+Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
+Cc: stable@vger.kernel.org # v4.17+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/loongson64/common/reset.c |    7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/arch/mips/loongson64/common/reset.c
++++ b/arch/mips/loongson64/common/reset.c
+@@ -59,7 +59,12 @@ static void loongson_poweroff(void)
+ {
+ #ifndef CONFIG_LEFI_FIRMWARE_INTERFACE
+       mach_prepare_shutdown();
+-      unreachable();
++
++      /*
++       * It needs a wait loop here, but mips/kernel/reset.c already calls
++       * a generic delay loop, machine_hang(), so simply return.
++       */
++      return;
+ #else
+       void (*fw_poweroff)(void) = (void *)loongson_sysconf.poweroff_addr;
diff --git a/queue-4.19/mips-octeon-don-t-set-octeon_dma_bar_type-if-pci-is-disabled.patch b/queue-4.19/mips-octeon-don-t-set-octeon_dma_bar_type-if-pci-is-disabled.patch
new file mode 100644 (file)
index 0000000..d09717a
--- /dev/null
@@ -0,0 +1,49 @@
+From dcf300a69ac307053dfb35c2e33972e754a98bce Mon Sep 17 00:00:00 2001
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+Date: Sun, 27 Jan 2019 23:28:33 +0200
+Subject: MIPS: OCTEON: don't set octeon_dma_bar_type if PCI is disabled
+
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+
+commit dcf300a69ac307053dfb35c2e33972e754a98bce upstream.
+
+Don't set octeon_dma_bar_type if PCI is disabled. This avoids creation
+of the MSI irqchip later on, and saves a bit of memory.
+
+Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
+Signed-off-by: Paul Burton <paul.burton@mips.com>
+Fixes: a214720cbf50 ("Disable MSI also when pcie-octeon.pcie_disable on")
+Cc: stable@vger.kernel.org # v3.3+
+Cc: linux-mips@vger.kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/pci/pci-octeon.c |   10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/arch/mips/pci/pci-octeon.c
++++ b/arch/mips/pci/pci-octeon.c
+@@ -568,6 +568,11 @@ static int __init octeon_pci_setup(void)
+       if (octeon_has_feature(OCTEON_FEATURE_PCIE))
+               return 0;
++      if (!octeon_is_pci_host()) {
++              pr_notice("Not in host mode, PCI Controller not initialized\n");
++              return 0;
++      }
++
+       /* Point pcibios_map_irq() to the PCI version of it */
+       octeon_pcibios_map_irq = octeon_pci_pcibios_map_irq;
+@@ -579,11 +584,6 @@ static int __init octeon_pci_setup(void)
+       else
+               octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_BIG;
+-      if (!octeon_is_pci_host()) {
+-              pr_notice("Not in host mode, PCI Controller not initialized\n");
+-              return 0;
+-      }
+-
+       /* PCI I/O and PCI MEM values */
+       set_io_port_base(OCTEON_PCI_IOSPACE_BASE);
+       ioport_resource.start = 0;
diff --git a/queue-4.19/mips-vdso-include-ccflags-vdso-in-o32-n32-.lds-builds.patch b/queue-4.19/mips-vdso-include-ccflags-vdso-in-o32-n32-.lds-builds.patch
new file mode 100644 (file)
index 0000000..0ddf4af
--- /dev/null
@@ -0,0 +1,62 @@
+From 67fc5dc8a541e8f458d7f08bf88ff55933bf9f9d Mon Sep 17 00:00:00 2001
+From: Paul Burton <paul.burton@mips.com>
+Date: Mon, 28 Jan 2019 23:16:22 +0000
+Subject: MIPS: VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
+
+From: Paul Burton <paul.burton@mips.com>
+
+commit 67fc5dc8a541e8f458d7f08bf88ff55933bf9f9d upstream.
+
+When generating vdso-o32.lds & vdso-n32.lds for use with programs
+running as compat ABIs under 64b kernels, we previously haven't included
+the compiler flags that are supposedly common to all ABIs - ie. those in
+the ccflags-vdso variable.
+
+This is problematic in cases where we need to provide the -m%-float flag
+in order to ensure that we don't attempt to use a floating point ABI
+that's incompatible with the target CPU & ABI. For example a toolchain
+using current gcc trunk configured --with-fp-32=xx fails to build a
+64r6el_defconfig kernel with the following error:
+
+  cc1: error: '-march=mips1' requires '-mfp32'
+  make[2]: *** [arch/mips/vdso/Makefile:135: arch/mips/vdso/vdso-o32.lds] Error 1
+
+Include $(ccflags-vdso) for the compat VDSO .lds builds, just as it is
+included for the native VDSO .lds & when compiling objects for the
+compat VDSOs. This ensures we consistently provide the -msoft-float flag
+amongst others, avoiding the problem by ensuring we're agnostic to the
+toolchain defaults.
+
+Signed-off-by: Paul Burton <paul.burton@mips.com>
+Fixes: ebb5e78cc634 ("MIPS: Initial implementation of a VDSO")
+Cc: linux-mips@vger.kernel.org
+Cc: Kevin Hilman <khilman@baylibre.com>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Cc: Maciej W . Rozycki <macro@linux-mips.org>
+Cc: stable@vger.kernel.org # v4.4+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/vdso/Makefile |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/mips/vdso/Makefile
++++ b/arch/mips/vdso/Makefile
+@@ -129,7 +129,7 @@ $(obj)/%-o32.o: $(src)/%.c FORCE
+       $(call cmd,force_checksrc)
+       $(call if_changed_rule,cc_o_c)
+-$(obj)/vdso-o32.lds: KBUILD_CPPFLAGS := -mabi=32
++$(obj)/vdso-o32.lds: KBUILD_CPPFLAGS := $(ccflags-vdso) -mabi=32
+ $(obj)/vdso-o32.lds: $(src)/vdso.lds.S FORCE
+       $(call if_changed_dep,cpp_lds_S)
+@@ -169,7 +169,7 @@ $(obj)/%-n32.o: $(src)/%.c FORCE
+       $(call cmd,force_checksrc)
+       $(call if_changed_rule,cc_o_c)
+-$(obj)/vdso-n32.lds: KBUILD_CPPFLAGS := -mabi=n32
++$(obj)/vdso-n32.lds: KBUILD_CPPFLAGS := $(ccflags-vdso) -mabi=n32
+ $(obj)/vdso-n32.lds: $(src)/vdso.lds.S FORCE
+       $(call if_changed_dep,cpp_lds_S)
diff --git a/queue-4.19/mips-vdso-use-same-m-float-cflag-as-the-kernel-proper.patch b/queue-4.19/mips-vdso-use-same-m-float-cflag-as-the-kernel-proper.patch
new file mode 100644 (file)
index 0000000..c94e094
--- /dev/null
@@ -0,0 +1,62 @@
+From 0648e50e548d881d025b9419a1a168753c8e2bf7 Mon Sep 17 00:00:00 2001
+From: Paul Burton <paul.burton@mips.com>
+Date: Mon, 28 Jan 2019 22:21:17 +0000
+Subject: MIPS: VDSO: Use same -m%-float cflag as the kernel proper
+
+From: Paul Burton <paul.burton@mips.com>
+
+commit 0648e50e548d881d025b9419a1a168753c8e2bf7 upstream.
+
+The MIPS VDSO build currently doesn't provide the -msoft-float flag to
+the compiler as the kernel proper does. This results in an attempt to
+use the compiler's default floating point configuration, which can be
+problematic in cases where this is incompatible with the target CPU's
+-march= flag. For example decstation_defconfig fails to build using
+toolchains in which gcc was configured --with-fp-32=xx with the
+following error:
+
+    LDS     arch/mips/vdso/vdso.lds
+  cc1: error: '-march=r3000' requires '-mfp32'
+  make[2]: *** [scripts/Makefile.build:379: arch/mips/vdso/vdso.lds] Error 1
+
+The kernel proper avoids this error because we build with the
+-msoft-float compiler flag, rather than using the compiler's default.
+Pass this flag through to the VDSO build so that it too becomes agnostic
+to the toolchain's floating point configuration.
+
+Note that this is filtered out from KBUILD_CFLAGS rather than simply
+always using -msoft-float such that if we switch the kernel to use
+-mno-float in the future the VDSO will automatically inherit the change.
+
+The VDSO doesn't actually include any floating point code, and its
+.MIPS.abiflags section is already manually generated to specify that
+it's compatible with any floating point ABI. As such this change should
+have no effect on the resulting VDSO, apart from fixing the build
+failure for affected toolchains.
+
+Signed-off-by: Paul Burton <paul.burton@mips.com>
+Reported-by: Kevin Hilman <khilman@baylibre.com>
+Reported-by: Guenter Roeck <linux@roeck-us.net>
+Tested-by: Kevin Hilman <khilman@baylibre.com>
+References: https://lore.kernel.org/linux-mips/1477843551-21813-1-git-send-email-linux@roeck-us.net/
+References: https://kernelci.org/build/id/5c4e4ae059b5142a249ad004/logs/
+Fixes: ebb5e78cc634 ("MIPS: Initial implementation of a VDSO")
+Cc: Maciej W. Rozycki <macro@linux-mips.org>
+Cc: linux-mips@vger.kernel.org
+Cc: stable@vger.kernel.org # v4.4+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/vdso/Makefile |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/mips/vdso/Makefile
++++ b/arch/mips/vdso/Makefile
+@@ -8,6 +8,7 @@ ccflags-vdso := \
+       $(filter -E%,$(KBUILD_CFLAGS)) \
+       $(filter -mmicromips,$(KBUILD_CFLAGS)) \
+       $(filter -march=%,$(KBUILD_CFLAGS)) \
++      $(filter -m%-float,$(KBUILD_CFLAGS)) \
+       -D__VDSO__
+ ifeq ($(cc-name),clang)
diff --git a/queue-4.19/pinctrl-cherryview-fix-strago-dmi-workaround.patch b/queue-4.19/pinctrl-cherryview-fix-strago-dmi-workaround.patch
new file mode 100644 (file)
index 0000000..f2bbf2c
--- /dev/null
@@ -0,0 +1,65 @@
+From e3f72b749da2bf63bed7409e416f160418d475b6 Mon Sep 17 00:00:00 2001
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Date: Mon, 14 Jan 2019 19:38:36 -0800
+Subject: pinctrl: cherryview: fix Strago DMI workaround
+
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+commit e3f72b749da2bf63bed7409e416f160418d475b6 upstream.
+
+Well, hopefully 3rd time is a charm. We tried making that check
+DMI_BIOS_VERSION and DMI_BOARD_VERSION, but the real one is
+DMI_PRODUCT_VERSION.
+
+Fixes: 86c5dd6860a6 ("pinctrl: cherryview: limit Strago DMI workarounds to version 1.0")
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1631930
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pinctrl/intel/pinctrl-cherryview.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
++++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
+@@ -1524,7 +1524,7 @@ static const struct dmi_system_id chv_no
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
+                       DMI_MATCH(DMI_PRODUCT_FAMILY, "Intel_Strago"),
+-                      DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
++                      DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"),
+               },
+       },
+       {
+@@ -1532,7 +1532,7 @@ static const struct dmi_system_id chv_no
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Setzer"),
+-                      DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
++                      DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"),
+               },
+       },
+       {
+@@ -1540,7 +1540,7 @@ static const struct dmi_system_id chv_no
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Cyan"),
+-                      DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
++                      DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"),
+               },
+       },
+       {
+@@ -1548,7 +1548,7 @@ static const struct dmi_system_id chv_no
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Celes"),
+-                      DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
++                      DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"),
+               },
+       },
+       {}
diff --git a/queue-4.19/pinctrl-sunxi-correct-number-of-irq-banks-on-h6-main-pin-controller.patch b/queue-4.19/pinctrl-sunxi-correct-number-of-irq-banks-on-h6-main-pin-controller.patch
new file mode 100644 (file)
index 0000000..3becca5
--- /dev/null
@@ -0,0 +1,119 @@
+From 10098709b4ee6f6f19f25ba81d9c6f83518c584c Mon Sep 17 00:00:00 2001
+From: Chen-Yu Tsai <wens@csie.org>
+Date: Tue, 15 Jan 2019 10:45:43 +0800
+Subject: pinctrl: sunxi: Correct number of IRQ banks on H6 main pin controller
+
+From: Chen-Yu Tsai <wens@csie.org>
+
+commit 10098709b4ee6f6f19f25ba81d9c6f83518c584c upstream.
+
+The H6 main pin controller has four banks of interrupt-triggering pins.
+The driver as originally submitted only specified three, but had pin
+descriptions referencing a fourth bank. This results in a out-of-bounds
+access into .irq_array of struct sunxi_pinctrl. This however did not
+result in a crash until v4.20, with commit a66d972465d1 ("devres: Align
+data[] to ARCH_KMALLOC_MINALIGN"), which changed the alignment of memory
+region returned by devm_kcalloc(). The increase likely moved the
+out-of-bounds access into the next, unmapped page.
+
+With KASAN on, the bug is quite clear:
+
+    BUG: KASAN: slab-out-of-bounds in sunxi_pinctrl_init_with_variant+0x49c/0x12b8
+    Write of size 4 at addr ffff80002c680280 by task swapper/0/1
+
+    CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.0.0-rc1-00016-gc480a5e6a077 #3
+    Hardware name: OrangePi Lite2 (DT)
+    Call trace:
+     dump_backtrace+0x0/0x220
+     show_stack+0x14/0x20
+     dump_stack+0xac/0xd4
+     print_address_description+0x60/0x25c
+     kasan_report+0x14c/0x1ac
+     __asan_store4+0x80/0xa0
+     sunxi_pinctrl_init_with_variant+0x49c/0x12b8
+     h6_pinctrl_probe+0x18/0x20
+     platform_drv_probe+0x6c/0xc8
+     really_probe+0x244/0x4b0
+     driver_probe_device.part.4+0x11c/0x164
+     __driver_attach+0x120/0x190
+     bus_for_each_dev+0xe8/0x158
+     driver_attach+0x30/0x40
+     bus_add_driver+0x308/0x318
+     driver_register+0xbc/0x1d0
+     __platform_driver_register+0x7c/0x88
+     h6_pinctrl_driver_init+0x18/0x20
+     do_one_initcall+0xd4/0x208
+     kernel_init_freeable+0x230/0x2c8
+     kernel_init+0x10/0x108
+     ret_from_fork+0x10/0x1c
+
+    Allocated by task 1:
+     kasan_kmalloc.part.0+0x4c/0x100
+     kasan_kmalloc+0xc4/0xe8
+     kasan_slab_alloc+0x14/0x20
+     __kmalloc_track_caller+0x130/0x238
+     devm_kmalloc+0x34/0xd0
+     sunxi_pinctrl_init_with_variant+0x1d8/0x12b8
+     h6_pinctrl_probe+0x18/0x20
+     platform_drv_probe+0x6c/0xc8
+     really_probe+0x244/0x4b0
+     driver_probe_device.part.4+0x11c/0x164
+     __driver_attach+0x120/0x190
+     bus_for_each_dev+0xe8/0x158
+     driver_attach+0x30/0x40
+     bus_add_driver+0x308/0x318
+     driver_register+0xbc/0x1d0
+     __platform_driver_register+0x7c/0x88
+     h6_pinctrl_driver_init+0x18/0x20
+     do_one_initcall+0xd4/0x208
+     kernel_init_freeable+0x230/0x2c8
+     kernel_init+0x10/0x108
+     ret_from_fork+0x10/0x1c
+
+    Freed by task 0:
+    (stack is not available)
+
+    The buggy address belongs to the object at ffff80002c680080
+     which belongs to the cache kmalloc-512 of size 512
+    The buggy address is located 0 bytes to the right of
+     512-byte region [ffff80002c680080, ffff80002c680280)
+    The buggy address belongs to the page:
+    page:ffff7e0000b1a000 count:1 mapcount:0 mapping:ffff80002e00c780 index:0xffff80002c683c80 compound_mapcount: 0
+    flags: 0x10200(slab|head)
+    raw: 0000000000010200 ffff80002e003a10 ffff80002e003a10 ffff80002e00c780
+    raw: ffff80002c683c80 0000000000100001 00000001ffffffff 0000000000000000
+    page dumped because: kasan: bad access detected
+
+    Memory state around the buggy address:
+     ffff80002c680180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+     ffff80002c680200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+    >ffff80002c680280: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
+                      ^
+     ffff80002c680300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
+     ffff80002c680380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
+
+Correct the number of IRQ banks so there are no more mismatches.
+
+Fixes: c8a830904991 ("pinctrl: sunxi: add support for the Allwinner H6 main pin controller")
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Chen-Yu Tsai <wens@csie.org>
+Tested-by: Neil Armstrong <narmstrong@baylibre.com>
+Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c
++++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c
+@@ -588,7 +588,7 @@ static const unsigned int h6_irq_bank_ma
+ static const struct sunxi_pinctrl_desc h6_pinctrl_data = {
+       .pins = h6_pins,
+       .npins = ARRAY_SIZE(h6_pins),
+-      .irq_banks = 3,
++      .irq_banks = 4,
+       .irq_bank_map = h6_irq_bank_map,
+       .irq_read_needs_mux = true,
+ };
diff --git a/queue-4.19/powerpc-radix-fix-kernel-crash-with-mremap.patch b/queue-4.19/powerpc-radix-fix-kernel-crash-with-mremap.patch
new file mode 100644 (file)
index 0000000..09f457f
--- /dev/null
@@ -0,0 +1,96 @@
+From 579b9239c1f38665b21e8d0e6ee83ecc96dbd6bb Mon Sep 17 00:00:00 2001
+From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
+Date: Wed, 23 Jan 2019 11:51:38 +0530
+Subject: powerpc/radix: Fix kernel crash with mremap()
+
+From: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
+
+commit 579b9239c1f38665b21e8d0e6ee83ecc96dbd6bb upstream.
+
+With support for split pmd lock, we use pmd page pmd_huge_pte pointer
+to store the deposited page table. In those config when we move page
+tables we need to make sure we move the deposited page table to the
+correct pmd page. Otherwise this can result in crash when we withdraw
+of deposited page table because we can find the pmd_huge_pte NULL.
+
+eg:
+
+  __split_huge_pmd+0x1070/0x1940
+  __split_huge_pmd+0xe34/0x1940 (unreliable)
+  vma_adjust_trans_huge+0x110/0x1c0
+  __vma_adjust+0x2b4/0x9b0
+  __split_vma+0x1b8/0x280
+  __do_munmap+0x13c/0x550
+  sys_mremap+0x220/0x7e0
+  system_call+0x5c/0x70
+
+Fixes: 675d995297d4 ("powerpc/book3s64: Enable split pmd ptlock.")
+Cc: stable@vger.kernel.org # v4.18+
+Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/include/asm/book3s/64/pgtable.h |   22 +++++++---------------
+ arch/powerpc/mm/pgtable-book3s64.c           |   22 ++++++++++++++++++++++
+ 2 files changed, 29 insertions(+), 15 deletions(-)
+
+--- a/arch/powerpc/include/asm/book3s/64/pgtable.h
++++ b/arch/powerpc/include/asm/book3s/64/pgtable.h
+@@ -1234,21 +1234,13 @@ extern pmd_t pmdp_invalidate(struct vm_a
+ #define pmd_move_must_withdraw pmd_move_must_withdraw
+ struct spinlock;
+-static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
+-                                       struct spinlock *old_pmd_ptl,
+-                                       struct vm_area_struct *vma)
+-{
+-      if (radix_enabled())
+-              return false;
+-      /*
+-       * Archs like ppc64 use pgtable to store per pmd
+-       * specific information. So when we switch the pmd,
+-       * we should also withdraw and deposit the pgtable
+-       */
+-      return true;
+-}
+-
+-
++extern int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
++                                struct spinlock *old_pmd_ptl,
++                                struct vm_area_struct *vma);
++/*
++ * Hash translation mode use the deposited table to store hash pte
++ * slot information.
++ */
+ #define arch_needs_pgtable_deposit arch_needs_pgtable_deposit
+ static inline bool arch_needs_pgtable_deposit(void)
+ {
+--- a/arch/powerpc/mm/pgtable-book3s64.c
++++ b/arch/powerpc/mm/pgtable-book3s64.c
+@@ -477,3 +477,25 @@ void arch_report_meminfo(struct seq_file
+                  atomic_long_read(&direct_pages_count[MMU_PAGE_1G]) << 20);
+ }
+ #endif /* CONFIG_PROC_FS */
++
++/*
++ * For hash translation mode, we use the deposited table to store hash slot
++ * information and they are stored at PTRS_PER_PMD offset from related pmd
++ * location. Hence a pmd move requires deposit and withdraw.
++ *
++ * For radix translation with split pmd ptl, we store the deposited table in the
++ * pmd page. Hence if we have different pmd page we need to withdraw during pmd
++ * move.
++ *
++ * With hash we use deposited table always irrespective of anon or not.
++ * With radix we use deposited table only for anonymous mapping.
++ */
++int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
++                         struct spinlock *old_pmd_ptl,
++                         struct vm_area_struct *vma)
++{
++      if (radix_enabled())
++              return (new_pmd_ptl != old_pmd_ptl) && vma_is_anonymous(vma);
++
++      return true;
++}
index ae8d1fdb931966f0a57277a4dc5fe0cad7068db3..6913d5c9f5b99a2ed4cd7ed6fbb23ef721547ffa 100644 (file)
@@ -13,3 +13,23 @@ misc-vexpress-off-by-one-in-vexpress_syscfg_exec.patch
 mei-me-add-ice-lake-point-device-id.patch
 samples-mei-use-dev-mei0-instead-of-dev-mei.patch
 debugfs-fix-debugfs_rename-parameter-checking.patch
+pinctrl-sunxi-correct-number-of-irq-banks-on-h6-main-pin-controller.patch
+pinctrl-cherryview-fix-strago-dmi-workaround.patch
+tracing-uprobes-fix-typo-in-pr_fmt-string.patch
+mips-cm-reprime-error-cause.patch
+mips-octeon-don-t-set-octeon_dma_bar_type-if-pci-is-disabled.patch
+mips-vdso-use-same-m-float-cflag-as-the-kernel-proper.patch
+mips-loongson64-remove-unreachable-fix-loongson_poweroff.patch
+mips-vdso-include-ccflags-vdso-in-o32-n32-.lds-builds.patch
+arm-iop32x-n2100-fix-pci-irq-mapping.patch
+arm-tango-improve-arch_multiplatform-compatibility.patch
+arm-dts-da850-fix-interrupt-numbers-for-clocksource.patch
+firmware-arm_scmi-provide-the-mandatory-device-release-callback.patch
+powerpc-radix-fix-kernel-crash-with-mremap.patch
+mic-vop-fix-use-after-free-on-remove.patch
+mac80211-ensure-that-mgmt-tx-skbs-have-tailroom-for-encryption.patch
+drm-modes-prevent-division-by-zero-htotal.patch
+drm-amd-powerplay-fix-missing-break-in-switch.patch
+drm-i915-always-return-something-on-ddi-clock-selection.patch
+drm-vmwgfx-fix-setting-of-dma-masks.patch
+drm-vmwgfx-return-error-code-from-vmw_execbuf_copy_fence_user.patch
diff --git a/queue-4.19/tracing-uprobes-fix-typo-in-pr_fmt-string.patch b/queue-4.19/tracing-uprobes-fix-typo-in-pr_fmt-string.patch
new file mode 100644 (file)
index 0000000..98c4026
--- /dev/null
@@ -0,0 +1,38 @@
+From ea6eb5e7d15e1838de335609994b4546e2abcaaf Mon Sep 17 00:00:00 2001
+From: Andreas Ziegler <andreas.ziegler@fau.de>
+Date: Thu, 17 Jan 2019 14:30:23 +0100
+Subject: tracing: uprobes: Fix typo in pr_fmt string
+
+From: Andreas Ziegler <andreas.ziegler@fau.de>
+
+commit ea6eb5e7d15e1838de335609994b4546e2abcaaf upstream.
+
+The subsystem-specific message prefix for uprobes was also
+"trace_kprobe: " instead of "trace_uprobe: " as described in
+the original commit message.
+
+Link: http://lkml.kernel.org/r/20190117133023.19292-1-andreas.ziegler@fau.de
+
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: stable@vger.kernel.org
+Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
+Fixes: 7257634135c24 ("tracing/probe: Show subsystem name in messages")
+Signed-off-by: Andreas Ziegler <andreas.ziegler@fau.de>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/trace/trace_uprobe.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/kernel/trace/trace_uprobe.c
++++ b/kernel/trace/trace_uprobe.c
+@@ -5,7 +5,7 @@
+  * Copyright (C) IBM Corporation, 2010-2012
+  * Author:    Srikar Dronamraju <srikar@linux.vnet.ibm.com>
+  */
+-#define pr_fmt(fmt)   "trace_kprobe: " fmt
++#define pr_fmt(fmt)   "trace_uprobe: " fmt
+ #include <linux/module.h>
+ #include <linux/uaccess.h>