Re: [PATCH 4.19.y] neighbour: fix unaligned access to pneigh_entry

From: Greg KH
Date: Wed Jun 12 2024 - 10:02:10 EST


On Wed, Jun 05, 2024 at 10:29:16AM +0800, Qingfang Deng wrote:
> From: Qingfang Deng <qingfang.deng@xxxxxxxxxxxxxxx>
>
> [ 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@xxxxxxxxxxxxxxx>
> ---
> 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