Nikolay Aleksandrov <[email protected]> writes:

> Currently neigh ha address is read directly, but that can result in
> torn/partial reads if the neigh is being updated. Use neigh_ha_snapshot
> to take a stable snapshot of the address.
>
> Fixes: 057658cb33fb ("bridge: suppress arp pkts on BR_NEIGH_SUPPRESS ports")
> Fixes: ed842faeb2bd ("bridge: suppress nd pkts on BR_NEIGH_SUPPRESS ports")
> Signed-off-by: Nikolay Aleksandrov <[email protected]>

Reviewed-by: Petr Machata <[email protected]>

> @@ -252,7 +254,7 @@ struct nd_msg *br_is_nd_neigh_msg(const struct sk_buff 
> *skb, struct nd_msg *msg)
>  }
>  
>  static void br_nd_send(struct net_bridge *br, struct net_bridge_port *p,
> -                    struct sk_buff *request, struct neighbour *n,
> +                    struct sk_buff *request, struct neighbour *n, u8 *ha,

(This looks like it could be const u8 *ha though.)

>                      __be16 vlan_proto, u16 vlan_tci)
>  {
>       struct net_device *dev = request->dev;

Reply via email to