summaryrefslogtreecommitdiffstats
path: root/powerpc-ipv6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'powerpc-ipv6.patch')
-rw-r--r--powerpc-ipv6.patch44
1 files changed, 0 insertions, 44 deletions
diff --git a/powerpc-ipv6.patch b/powerpc-ipv6.patch
deleted file mode 100644
index 44988bd43..000000000
--- a/powerpc-ipv6.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-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
-