aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/net/neighbour.h
diff options
context:
space:
mode:
authorQingfang DENG <qingfang.deng@siflower.com.cn>2023-06-01 09:54:32 +0800
committerJakub Kicinski <kuba@kernel.org>2023-06-01 21:36:37 -0700
commited779fe4c9b5a20b4ab4fd6f3e19807445bb78c7 (patch)
treed6178e5b69f33cb40877139dc97c889f1ec8a7fd /include/net/neighbour.h
parentMerge tag 'net-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (diff)
downloadwireguard-linux-ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7.tar.xz
wireguard-linux-ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7.zip
neighbour: fix unaligned access to pneigh_entry
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>
Diffstat (limited to 'include/net/neighbour.h')
-rw-r--r--include/net/neighbour.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 3fa5774bddac..f6a8ecc6b1fa 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -180,7 +180,7 @@ struct pneigh_entry {
netdevice_tracker dev_tracker;
u32 flags;
u8 protocol;
- u8 key[];
+ u32 key[];
};
/*