UPSTREAM: neighbour: fix unaligned access to pneigh_entry

[ Upstream commit ed779fe4c9 ]

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: 62dd93181a ("[IPV6] NDISC: Set per-entry is_router flag in Proxy NA.")
Change-Id: I51f20602275108df08d17710c24aad9ee42fc1db
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: Sasha Levin <sashal@kernel.org>
(cherry picked from commit ab0eca3f54)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Qingfang DENG
2023-06-01 09:54:32 +08:00
committed by Carlos Llamas
parent abe4076974
commit e010dc3625

View File

@@ -180,7 +180,7 @@ struct pneigh_entry {
struct net_device *dev;
u8 flags;
u8 protocol;
u8 key[];
u32 key[];
};
/*