Jonathan Lemon
9c69a13205
route: Avoid crash from dereferencing NULL rt->from
When __ip6_rt_update_pmtu() is called, rt->from is RCU dereferenced, but is
never checked for null - rt6_flush_exceptions() may have removed the entry.
[ 1913.989004] RIP: 0010:ip6_rt_cache_alloc+0x13/0x170
[ 1914.209410] Call Trace:
[ 1914.214798] <IRQ>
[ 1914.219226] __ip6_rt_update_pmtu+0xb0/0x190
[ 1914.228649] ip6_tnl_xmit+0x2c2/0x970 [ip6_tunnel]
[ 1914.239223] ? ip6_tnl_parse_tlv_enc_lim+0x32/0x1a0 [ip6_tunnel]
[ 1914.252489] ? __gre6_xmit+0x148/0x530 [ip6_gre]
[ 1914.262678] ip6gre_tunnel_xmit+0x17e/0x3c7 [ip6_gre]
[ 1914.273831] dev_hard_start_xmit+0x8d/0x1f0
[ 1914.283061] sch_direct_xmit+0xfa/0x230
[ 1914.291521] __qdisc_run+0x154/0x4b0
[ 1914.299407] net_tx_action+0x10e/0x1f0
[ 1914.307678] __do_softirq+0xca/0x297
[ 1914.315567] irq_exit+0x96/0xa0
[ 1914.322494] smp_apic_timer_interrupt+0x68/0x130
[ 1914.332683] apic_timer_interrupt+0xf/0x20
[ 1914.341721] </IRQ>
Fixes: a68886a69180 ("net/ipv6: Make from in rt6_info rcu protected")
Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Reviewed-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-04-15 13:31:59 -07:00
..
2019-03-27 22:46:16 -07:00
2019-03-18 16:22:48 +01:00
2019-02-13 18:27:55 -08:00
2019-03-04 13:14:34 -08:00
2019-01-19 10:09:59 -08:00
2019-02-13 18:27:55 -08:00
2017-11-15 11:56:19 -08:00
2018-11-08 17:04:43 -08:00
2018-07-05 20:15:26 +09:00
2019-01-10 09:36:41 -05:00
2018-12-19 11:21:37 -08:00
2019-01-28 11:20:58 +01:00
2018-05-07 23:50:27 -04:00
2015-09-02 15:31:00 -07:00
2018-07-05 20:15:26 +09:00
2017-09-01 20:33:42 -07:00
2018-05-11 00:10:56 +02:00
2019-03-08 15:19:53 -08:00
2019-02-24 21:57:26 -08:00
2017-01-28 10:33:06 -05:00
2018-12-14 15:55:20 -08:00
2018-10-24 14:18:16 -07:00
2019-01-02 20:15:43 -08:00
2018-07-07 10:58:49 +09:00
2019-04-08 16:16:47 -07:00
2017-11-02 11:10:55 +01:00
2018-12-09 21:43:31 -08:00
2019-02-20 11:24:27 -08:00
2016-04-07 16:53:29 -04:00
2019-04-03 21:42:20 -07:00
2019-04-02 13:19:34 -07:00
2019-01-17 14:55:52 -08:00
2019-01-01 12:05:02 -08:00
2019-03-04 10:55:48 -08:00
2016-11-04 14:45:23 -04:00
2019-03-03 21:05:10 -08:00
2018-07-24 14:10:43 -07:00
2017-11-02 11:10:55 +01:00
2019-02-21 13:48:00 -08:00
2019-01-22 17:18:08 -08:00
2016-12-25 17:21:23 +01:00
2018-10-26 15:58:06 -07:00
2019-02-18 11:38:30 -08:00
2017-11-24 01:37:35 +09:00
2018-07-07 10:58:49 +09:00
2018-05-16 07:24:30 +02:00
2017-03-24 13:17:07 -07:00
2018-12-20 11:53:36 -08:00
2019-02-26 08:27:05 -08:00
2019-04-15 13:31:59 -07:00
2018-07-03 10:29:26 +09:00
2019-01-30 14:06:12 -08:00
2018-07-31 09:22:48 +02:00
2019-02-12 12:36:02 -05:00
2019-04-04 18:34:23 -07:00
2018-03-25 20:53:54 -04:00
2018-04-25 13:02:15 -04:00
2019-03-19 14:00:27 -07:00
2018-12-15 13:23:02 -08:00
2018-11-08 17:13:08 -08:00
2019-01-17 15:01:08 -08:00
2018-12-15 13:23:02 -08:00
2019-04-12 10:25:03 -07:00
2019-01-17 15:01:08 -08:00
2018-12-19 11:21:37 -08:00
2017-06-16 11:48:39 -04:00
2018-07-11 15:26:35 +02:00
2018-09-04 10:26:30 +02:00
2018-03-07 10:54:29 +01:00
2018-09-03 07:37:57 +02:00
2018-11-22 07:55:48 +01:00
2018-11-08 17:13:08 -08:00
2018-04-26 07:51:48 +02:00
2019-02-05 06:29:20 +01:00