1
linux/net/ipv6
Eric Dumazet 035320d547 ipmr: dont corrupt lists
ipmr_rules_exit() and ip6mr_rules_exit() free a list of items, but
forget to properly remove these items from list. List head is not
changed and still points to freed memory.

This can trigger a fault later when icmpv6_sk_exit() is called.

Fix is to either reinit list, or use list_del() to properly remove items
from list before freeing them.

bugzilla report : https://bugzilla.kernel.org/show_bug.cgi?id=16120

Introduced by commit d1db275dd3 (ipv6: ip6mr: support multiple
tables) and commit f0ad0860d0 (ipv4: ipmr: support multiple tables)

Reported-by: Alex Zhavnerchik <alex.vizor@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-06-07 02:57:14 -07:00
..
netfilter netfilter: xtables: stackptr should be percpu 2010-05-31 16:41:35 +02:00
addrconf_core.c
addrconf.c ipv6: Never schedule DAD timer on dead address 2010-05-18 15:56:06 -07:00
addrlabel.c ipv6 addrlabel: permit deletion of labels assigned to removed dev 2010-05-17 17:08:08 -07:00
af_inet6.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-05-12 00:05:35 -07:00
ah6.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
anycast.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
datagram.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-05-12 00:05:35 -07:00
esp6.c
exthdrs_core.c
exthdrs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fib6_rules.c net: rtnetlink: decouple rtnetlink address families from real address families 2010-04-26 16:13:54 +02:00
icmp.c IPv6: Add dontfrag argument to relevant functions 2010-04-23 23:35:28 -07:00
inet6_connection_sock.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-05-02 22:02:06 -07:00
inet6_hashtables.c
ip6_fib.c net: Fix various endianness glitches 2010-04-20 19:06:52 -07:00
ip6_flowlabel.c IPv6: Add dontfrag argument to relevant functions 2010-04-23 23:35:28 -07:00
ip6_input.c Merge branch 'master' of /repos/git/net-next-2.6 2010-04-20 16:02:01 +02:00
ip6_output.c ipv6: Add GSO support on forwarding path 2010-05-28 01:57:17 -07:00
ip6_tunnel.c net: Introduce skb_tunnel_rx() helper 2010-05-17 22:36:55 -07:00
ip6mr.c ipmr: dont corrupt lists 2010-06-07 02:57:14 -07:00
ipcomp6.c
ipv6_sockglue.c IPv6: Add dontfrag argument to relevant functions 2010-04-23 23:35:28 -07:00
Kconfig ipv6: ip6mr: support multiple tables 2010-05-11 14:40:55 +02:00
Makefile
mcast.c ipv6: avoid high order allocations 2010-06-05 03:03:30 -07:00
mip6.c
ndisc.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
netfilter.c netfilter: ipv6: move xfrm_lookup at end of ip6_route_me_harder 2010-04-15 12:37:18 +02:00
proc.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
protocol.c
raw.c Merge branch 'master' of /repos/git/net-next-2.6 2010-05-10 18:39:28 +02:00
reassembly.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
route.c IPv6: fix Mobile IPv6 regression 2010-05-28 23:02:35 -07:00
sit.c net: Introduce skb_tunnel_rx() helper 2010-05-17 22:36:55 -07:00
syncookies.c
sysctl_net_ipv6.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tcp_ipv6.c net: Introduce sk_route_nocaps 2010-05-16 00:36:33 -07:00
tunnel6.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
udp_impl.h
udp.c net: sock_queue_err_skb() dont mess with sk_forward_alloc 2010-05-31 23:44:05 -07:00
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
xfrm6_output.c
xfrm6_policy.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-27 12:49:13 -07:00
xfrm6_state.c
xfrm6_tunnel.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00