netfilter: nf_ct_reasm: fix conntrack reassembly expire code
authorHaibo Xi <haibbo@gmail.com>
Thu, 6 Dec 2012 23:42:17 +0000 (23:42 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Feb 2013 00:27:06 +0000 (18:27 -0600)
commit950d73bf1b0da05186948457cdc4b957d5dbdc7c
treea754f88bbd125b86f4a78ee2f868043cbed137f3
parent93beec7f7bba67a025f4038ebfadaa8d14c9042e
netfilter: nf_ct_reasm: fix conntrack reassembly expire code

commit 97cf00e93cc24898493e7a058105e3215257ee04 upstream.

Commit b836c99fd6c9 (ipv6: unify conntrack reassembly expire
code with standard one) use the standard IPv6 reassembly
code(ip6_expire_frag_queue) to handle conntrack reassembly expire.

In ip6_expire_frag_queue, it invoke dev_get_by_index_rcu to get
which device received this expired packet.so we must save ifindex
when NF_conntrack get this packet.

With this patch applied, I can see ICMP Time Exceeded sent
from the receiver when the sender sent out 1/2 fragmented
IPv6 packet.

Signed-off-by: Haibo Xi <haibbo@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/netfilter/nf_conntrack_reasm.c