Hi,

On Wed, 2020-10-07 at 01:42 -0700, Eric Dumazet wrote:
> @@ -1232,9 +1233,10 @@ static rx_handler_result_t macsec_handle_frame(struct 
> sk_buff **pskb)
>       macsec_rxsc_put(rx_sc);
>  
>       skb_orphan(skb);
> +     len = skb->len;
>       ret = gro_cells_receive(&macsec->gro_cells, skb);
>       if (ret == NET_RX_SUCCESS)
> -             count_rx(dev, skb->len);
> +             count_rx(dev, len);
>       else
>               macsec->secy.netdev->stats.rx_dropped++;

I'm sorry I'm low on coffee, but I can't see the race?!? here we are in
a BH section, and the above code dereference the skb only if it's has
been enqueued into the gro_cells napi. It could be dequeued/dropped
only after we leave this section ?!?

Thanks,

Paolo

Reply via email to