]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Jun 2024 14:00:10 +0000 (16:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Jun 2024 14:00:10 +0000 (16:00 +0200)
added patches:
neighbour-fix-unaligned-access-to-pneigh_entry.patch

queue-4.19/neighbour-fix-unaligned-access-to-pneigh_entry.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/neighbour-fix-unaligned-access-to-pneigh_entry.patch b/queue-4.19/neighbour-fix-unaligned-access-to-pneigh_entry.patch
new file mode 100644 (file)
index 0000000..8466d46
--- /dev/null
@@ -0,0 +1,36 @@
+From ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7 Mon Sep 17 00:00:00 2001
+From: Qingfang DENG <qingfang.deng@siflower.com.cn>
+Date: Thu, 1 Jun 2023 09:54:32 +0800
+Subject: neighbour: fix unaligned access to pneigh_entry
+
+From: Qingfang DENG <qingfang.deng@siflower.com.cn>
+
+commit ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7 upstream.
+
+After the blamed commit, the member key is longer 4-byte aligned. On
+platforms that do not support unaligned access, e.g., MIPS32R2 with
+unaligned_action set to 1, this will trigger a crash when accessing
+an IPv6 pneigh_entry, as the key is cast to an in6_addr pointer.
+
+Change the type of the key to u32 to make it aligned.
+
+Fixes: 62dd93181aaa ("[IPV6] NDISC: Set per-entry is_router flag in Proxy NA.")
+Signed-off-by: Qingfang DENG <qingfang.deng@siflower.com.cn>
+Link: https://lore.kernel.org/r/20230601015432.159066-1-dqfext@gmail.com
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/net/neighbour.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/net/neighbour.h
++++ b/include/net/neighbour.h
+@@ -172,7 +172,7 @@ struct pneigh_entry {
+       possible_net_t          net;
+       struct net_device       *dev;
+       u8                      flags;
+-      u8                      key[0];
++      u32                     key[0];
+ };
+ /*
index 87eab5f1c05997a69771cc1a9021c1151d8335f7..3b2bdfb75925326b0017f11c5500258c75a88602 100644 (file)
@@ -147,3 +147,4 @@ binder-fix-max_thread-type-inconsistency.patch
 mmc-core-do-not-force-a-retune-before-rpmb-switch.patch
 nilfs2-fix-use-after-free-of-timer-for-log-writer-thread.patch
 vxlan-fix-regression-when-dropping-packets-due-to-invalid-src-addresses.patch
+neighbour-fix-unaligned-access-to-pneigh_entry.patch