On 5/29/19 11:08 PM, Stephen Suryaputra wrote:
> diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
> index 1a832f5e190b..9b365c345c34 100644
> --- a/net/ipv6/reassembly.c
> +++ b/net/ipv6/reassembly.c
> @@ -260,6 +260,9 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct 
> sk_buff *skb,
>       int payload_len;
>       u8 ecn;
>  
> +     if (netif_is_l3_master(dev))
> +             dev = dev_get_by_index_rcu(net, inet6_iif(skb));
> +
>       inet_frag_kill(&fq->q);
>  
>       ecn = ip_frag_ecn_table[fq->ecn];
> 

this part changes skb->dev. Seems like it has an unintended effect if
the packet is delivered locally.

Reply via email to