summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2018-09-29 12:41:08 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2018-09-29 12:41:08 +0200
commit33148f05ddfe6ab2936d438ed4b355414f4835bf (patch)
treed084457c58284556ead9a61013a344e05ada573e
parent1641dc9a0b8fc9733480d0661cf8cf8604f56261 (diff)
parent282ab185b8e28939b91631c5a913ab952946a8f0 (diff)
downloadkernel-33148f05ddfe6ab2936d438ed4b355414f4835bf.tar.gz
kernel-33148f05ddfe6ab2936d438ed4b355414f4835bf.tar.xz
kernel-33148f05ddfe6ab2936d438ed4b355414f4835bf.zip
Merge remote-tracking branch 'origin/f27' into f27-user-thl-vanilla-fedora
-rw-r--r--arm-tegra-fix-nouveau-crash.patch64
-rw-r--r--configs/fedora/generic/CONFIG_SSB2
-rw-r--r--kernel-aarch64-debug.config2
-rw-r--r--kernel-aarch64.config2
-rw-r--r--kernel-armv7hl-debug.config4
-rw-r--r--kernel-armv7hl-lpae-debug.config2
-rw-r--r--kernel-armv7hl-lpae.config2
-rw-r--r--kernel-armv7hl.config4
-rw-r--r--kernel-i686-PAE.config2
-rw-r--r--kernel-i686-PAEdebug.config2
-rw-r--r--kernel-i686-debug.config2
-rw-r--r--kernel-i686.config2
-rw-r--r--kernel-ppc64-debug.config2
-rw-r--r--kernel-ppc64.config2
-rw-r--r--kernel-ppc64le-debug.config2
-rw-r--r--kernel-ppc64le.config2
-rw-r--r--kernel-x86_64-debug.config2
-rw-r--r--kernel-x86_64.config2
-rw-r--r--kernel.spec11
-rw-r--r--powerpc-ipv6.patch44
20 files changed, 72 insertions, 85 deletions
diff --git a/arm-tegra-fix-nouveau-crash.patch b/arm-tegra-fix-nouveau-crash.patch
deleted file mode 100644
index d1d7c61a6..000000000
--- a/arm-tegra-fix-nouveau-crash.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 369971aa0101c4cfb84dacaaaa1b5cc5790c14ff Mon Sep 17 00:00:00 2001
-From: Thierry Reding <treding@nvidia.com>
-Date: Wed, 11 Apr 2018 10:34:17 +0200
-Subject: [PATCH] drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping
-
-Depending on the kernel configuration, early ARM architecture setup code
-may have attached the GPU to a DMA/IOMMU mapping that transparently uses
-the IOMMU to back the DMA API. Tegra requires special handling for IOMMU
-backed buffers (a special bit in the GPU's MMU page tables indicates the
-memory path to take: via the SMMU or directly to the memory controller).
-Transparently backing DMA memory with an IOMMU prevents Nouveau from
-properly handling such memory accesses and causes memory access faults.
-
-As a side-note: buffers other than those allocated in instance memory
-don't need to be physically contiguous from the GPU's perspective since
-the GPU can map them into contiguous buffers using its own MMU. Mapping
-these buffers through the IOMMU is unnecessary and will even lead to
-performance degradation because of the additional translation.
-
-Signed-off-by: Thierry Reding <treding@nvidia.com>
----
- drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
-index 1f07999aea1d..ac7706f56f6f 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
-@@ -19,6 +19,11 @@
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-+
-+#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU)
-+#include <asm/dma-iommu.h>
-+#endif
-+
- #include <core/tegra.h>
- #ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
- #include "priv.h"
-@@ -105,6 +110,20 @@ nvkm_device_tegra_probe_iommu(struct nvkm_device_tegra *tdev)
- unsigned long pgsize_bitmap;
- int ret;
-
-+#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU)
-+ if (dev->archdata.mapping) {
-+ struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
-+
-+ arm_iommu_release_mapping(mapping);
-+ arm_iommu_detach_device(dev);
-+
-+ if (dev->archdata.dma_coherent)
-+ set_dma_ops(dev, &arm_coherent_dma_ops);
-+ else
-+ set_dma_ops(dev, &arm_dma_ops);
-+ }
-+#endif
-+
- if (!tdev->func->iommu_bit)
- return;
-
---
-2.16.3
-
diff --git a/configs/fedora/generic/CONFIG_SSB b/configs/fedora/generic/CONFIG_SSB
index 3313a71ad..4a239c413 100644
--- a/configs/fedora/generic/CONFIG_SSB
+++ b/configs/fedora/generic/CONFIG_SSB
@@ -1 +1 @@
-CONFIG_SSB=y
+CONFIG_SSB=m
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index ad3332a9c..12851d7c7 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -5896,11 +5896,11 @@ CONFIG_SRAM=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 663e9a08c..26c0fdb37 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -5872,11 +5872,11 @@ CONFIG_SRAM=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 877db1fb3..04bec8d63 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -370,7 +370,7 @@ CONFIG_ARM_SPE_PMU=m
CONFIG_ARM_STI_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=m
CONFIG_ARM_TEGRA186_CPUFREQ=m
-# CONFIG_ARM_TEGRA20_CPUFREQ is not set
+CONFIG_ARM_TEGRA20_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
@@ -6325,11 +6325,11 @@ CONFIG_SRAM=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 20c928e97..37d152796 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -5932,11 +5932,11 @@ CONFIG_SRAM=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index ceb3df707..f38d5ea81 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -5908,11 +5908,11 @@ CONFIG_SRAM=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index ea331f815..eaaf4c0b7 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -369,7 +369,7 @@ CONFIG_ARM_SPE_PMU=m
CONFIG_ARM_STI_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=m
CONFIG_ARM_TEGRA186_CPUFREQ=m
-# CONFIG_ARM_TEGRA20_CPUFREQ is not set
+CONFIG_ARM_TEGRA20_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
@@ -6301,11 +6301,11 @@ CONFIG_SRAM=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index d2bcd7423..6f7c4f716 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -5519,11 +5519,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STA2X11 is not set
CONFIG_STACKPROTECTOR_STRONG=y
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index c787b6d82..be8fb3076 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -5544,11 +5544,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STA2X11 is not set
CONFIG_STACKPROTECTOR_STRONG=y
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index b54e86179..64dabcf58 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -5544,11 +5544,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STA2X11 is not set
CONFIG_STACKPROTECTOR_STRONG=y
diff --git a/kernel-i686.config b/kernel-i686.config
index e1da284be..0b1902611 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -5519,11 +5519,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STA2X11 is not set
CONFIG_STACKPROTECTOR_STRONG=y
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index a30ba2e60..e8e797139 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -5312,11 +5312,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACK_TRACER=y
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index bdce5b217..a0c01f54a 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -5285,11 +5285,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACK_TRACER=y
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index 6033566bd..8ec1d0bca 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -5239,11 +5239,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACK_TRACER=y
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index 90c5fca02..7d0b8f8c7 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -5212,11 +5212,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACK_TRACER=y
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index 19464877c..1048152ae 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -5631,11 +5631,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_STACKPROTECTOR=y
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index 7b0702bd2..283802eef 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -5606,11 +5606,11 @@ CONFIG_SQUASHFS_ZSTD=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_HOST_SOC=y
+CONFIG_SSB=m
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
-CONFIG_SSB=y
# CONFIG_SSFDC is not set
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_STACKPROTECTOR=y
diff --git a/kernel.spec b/kernel.spec
index d02f760e1..6589b5f29 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -607,8 +607,6 @@ Patch305: qcom-msm89xx-fixes.patch
# https://patchwork.kernel.org/project/linux-mmc/list/?submitter=71861
Patch306: arm-sdhci-esdhc-imx-fixes.patch
-Patch307: arm-tegra-fix-nouveau-crash.patch
-
# https://patchwork.kernel.org/patch/10539291/
Patch308: mmc-sunxi-allow-3.3V-DDR-when-DDR-is-available.patch
# https://patchwork.kernel.org/patch/10540521/
@@ -648,6 +646,9 @@ Patch507: 0001-random-make-CPU-trust-a-boot-parameter.patch
# CVE-2018-14633 rhbz 1626035 1632185
Patch508: CVE-2018-14633.patch
+# rhbz 1628394
+Patch509: powerpc-ipv6.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1900,6 +1901,12 @@ fi
#
#
%changelog
+* Wed Sep 26 2018 Laura Abbott <labbott@redhat.com> - 4.18.10-100
+- Linux v4.18.10
+
+* Wed Sep 26 2018 Laura Abbott <labbott@redhat.com>
+- Fix powerpc IPv6 (rhbz 1628394)
+
* Mon Sep 24 2018 Justin M. Forbes <jforbes@fedoraproject.org>
- Fix CVE-2018-14633 (rhbz 1626035 1632185)
diff --git a/powerpc-ipv6.patch b/powerpc-ipv6.patch
new file mode 100644
index 000000000..44988bd43
--- /dev/null
+++ b/powerpc-ipv6.patch
@@ -0,0 +1,44 @@
+From 85682a7e3b9c664995ad477520f917039afdc330 Mon Sep 17 00:00:00 2001
+From: Christophe Leroy <christophe.leroy@c-s.fr>
+Date: Mon, 10 Sep 2018 06:09:04 +0000
+Subject: powerpc: fix csum_ipv6_magic() on little endian platforms
+
+On little endian platforms, csum_ipv6_magic() keeps len and proto in
+CPU byte order. This generates a bad results leading to ICMPv6 packets
+from other hosts being dropped by powerpc64le platforms.
+
+In order to fix this, len and proto should be converted to network
+byte order ie bigendian byte order. However checksumming 0x12345678
+and 0x56341278 provide the exact same result so it is enough to
+rotate the sum of len and proto by 1 byte.
+
+PPC32 only support bigendian so the fix is needed for PPC64 only
+
+Fixes: e9c4943a107b ("powerpc: Implement csum_ipv6_magic in assembly")
+Reported-by: Jianlin Shi <jishi@redhat.com>
+Reported-by: Xin Long <lucien.xin@gmail.com>
+Cc: <stable@vger.kernel.org> # 4.18+
+Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
+Tested-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+---
+ arch/powerpc/lib/checksum_64.S | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/arch/powerpc/lib/checksum_64.S b/arch/powerpc/lib/checksum_64.S
+index 886ed94b9c13..d05c8af4ac51 100644
+--- a/arch/powerpc/lib/checksum_64.S
++++ b/arch/powerpc/lib/checksum_64.S
+@@ -443,6 +443,9 @@ _GLOBAL(csum_ipv6_magic)
+ addc r0, r8, r9
+ ld r10, 0(r4)
+ ld r11, 8(r4)
++#ifdef CONFIG_CPU_LITTLE_ENDIAN
++ rotldi r5, r5, 8
++#endif
+ adde r0, r0, r10
+ add r5, r5, r7
+ adde r0, r0, r11
+--
+cgit 1.2-0.3.lf.el7
+