Message ID | 20240605022916.247882-1-dqfext@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [4.19.y] neighbour: fix unaligned access to pneigh_entry | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
On Wed, Jun 05, 2024 at 10:29:16AM +0800, Qingfang Deng wrote: > From: Qingfang Deng <qingfang.deng@siflower.com.cn> > > [ Upstream commit ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7 ] > > 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> > --- > include/net/neighbour.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/net/neighbour.h b/include/net/neighbour.h > index e58ef9e338de..4c53e51f0799 100644 > --- 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]; > }; > > /* > -- > 2.34.1 > > Now queued up, thanks. greg k-h
diff --git a/include/net/neighbour.h b/include/net/neighbour.h index e58ef9e338de..4c53e51f0799 100644 --- 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]; }; /*