<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/ipv6/ip6_fib.c, branch v4.3</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>ipv6: fix the incorrect return value of throw route</title>
<updated>2015-10-23T09:38:18+00:00</updated>
<author>
<name>lucien</name>
<email>lucien.xin@gmail.com</email>
</author>
<published>2015-10-23T07:36:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=ab997ad408394bcaf7f3015d4c4e38047eaf2ad6'/>
<id>ab997ad408394bcaf7f3015d4c4e38047eaf2ad6</id>
<content type='text'>
The error condition -EAGAIN, which is signaled by throw routes, tells
the rules framework to walk on searching for next matches. If the walk
ends and we stop walking the rules with the result of a throw route we
have to translate the error conditions to -ENETUNREACH.

Signed-off-by: Xin Long &lt;lucien.xin@gmail.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The error condition -EAGAIN, which is signaled by throw routes, tells
the rules framework to walk on searching for next matches. If the walk
ends and we stop walking the rules with the result of a throw route we
have to translate the error conditions to -ENETUNREACH.

Signed-off-by: Xin Long &lt;lucien.xin@gmail.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: include NLM_F_REPLACE in route replace notifications</title>
<updated>2015-09-17T22:00:27+00:00</updated>
<author>
<name>Roopa Prabhu</name>
<email>roopa@cumulusnetworks.com</email>
</author>
<published>2015-09-13T17:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=37a1d3611c126fd9782ce5235791f898f053e763'/>
<id>37a1d3611c126fd9782ce5235791f898f053e763</id>
<content type='text'>
This patch adds NLM_F_REPLACE flag to ipv6 route replace notifications.
This makes nlm_flags in ipv6 replace notifications consistent
with ipv4.

Signed-off-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Acked-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Reviewed-by: Michal Kubecek &lt;mkubecek@suse.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds NLM_F_REPLACE flag to ipv6 route replace notifications.
This makes nlm_flags in ipv6 replace notifications consistent
with ipv4.

Signed-off-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Acked-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Reviewed-by: Michal Kubecek &lt;mkubecek@suse.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Replace spinlock with seqlock and rcu in ip6_tunnel</title>
<updated>2015-09-15T21:53:05+00:00</updated>
<author>
<name>Martin KaFai Lau</name>
<email>kafai@fb.com</email>
</author>
<published>2015-09-15T21:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=70da5b5c532f0ec8aa76b4f46158da5f010f34b3'/>
<id>70da5b5c532f0ec8aa76b4f46158da5f010f34b3</id>
<content type='text'>
This patch uses a seqlock to ensure consistency between idst-&gt;dst and
idst-&gt;cookie.  It also makes dst freeing from fib tree to undergo a
rcu grace period.

Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch uses a seqlock to ensure consistency between idst-&gt;dst and
idst-&gt;cookie.  It also makes dst freeing from fib tree to undergo a
rcu grace period.

Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Avoid double dst_free</title>
<updated>2015-09-15T21:53:05+00:00</updated>
<author>
<name>Martin KaFai Lau</name>
<email>kafai@fb.com</email>
</author>
<published>2015-09-15T21:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=8e3d5be7368107f0c27a1f8126d79b01a47e9567'/>
<id>8e3d5be7368107f0c27a1f8126d79b01a47e9567</id>
<content type='text'>
It is a prep work to get dst freeing from fib tree undergo
a rcu grace period.

The following is a common paradigm:
if (ip6_del_rt(rt))
	dst_free(rt)

which means, if rt cannot be deleted from the fib tree, dst_free(rt) now.
1. We don't know the ip6_del_rt(rt) failure is because it
   was not managed by fib tree (e.g. DST_NOCACHE) or it had already been
   removed from the fib tree.
2. If rt had been managed by the fib tree, ip6_del_rt(rt) failure means
   dst_free(rt) has been called already.  A second
   dst_free(rt) is not always obviously safe.  The rt may have
   been destroyed already.
3. If rt is a DST_NOCACHE, dst_free(rt) should not be called.
4. It is a stopper to make dst freeing from fib tree undergo a
   rcu grace period.

This patch is to use a DST_NOCACHE flag to indicate a rt is
not managed by the fib tree.

Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is a prep work to get dst freeing from fib tree undergo
a rcu grace period.

The following is a common paradigm:
if (ip6_del_rt(rt))
	dst_free(rt)

which means, if rt cannot be deleted from the fib tree, dst_free(rt) now.
1. We don't know the ip6_del_rt(rt) failure is because it
   was not managed by fib tree (e.g. DST_NOCACHE) or it had already been
   removed from the fib tree.
2. If rt had been managed by the fib tree, ip6_del_rt(rt) failure means
   dst_free(rt) has been called already.  A second
   dst_free(rt) is not always obviously safe.  The rt may have
   been destroyed already.
3. If rt is a DST_NOCACHE, dst_free(rt) should not be called.
4. It is a stopper to make dst freeing from fib tree undergo a
   rcu grace period.

This patch is to use a DST_NOCACHE flag to indicate a rt is
not managed by the fib tree.

Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-08-21T18:44:04+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-08-21T18:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=dc25b25897289bad4907f30151ffe5baf75ff369'/>
<id>dc25b25897289bad4907f30151ffe5baf75ff369</id>
<content type='text'>
Conflicts:
	drivers/net/usb/qmi_wwan.c

Overlapping additions of new device IDs to qmi_wwan.c

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/usb/qmi_wwan.c

Overlapping additions of new device IDs to qmi_wwan.c

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>route: move lwtunnel state to dst_entry</title>
<updated>2015-08-20T22:42:36+00:00</updated>
<author>
<name>Jiri Benc</name>
<email>jbenc@redhat.com</email>
</author>
<published>2015-08-20T11:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=61adedf3e3f1d3f032c5a6a299978d91eff6d555'/>
<id>61adedf3e3f1d3f032c5a6a299978d91eff6d555</id>
<content type='text'>
Currently, the lwtunnel state resides in per-protocol data. This is
a problem if we encapsulate ipv6 traffic in an ipv4 tunnel (or vice versa).
The xmit function of the tunnel does not know whether the packet has been
routed to it by ipv4 or ipv6, yet it needs the lwtstate data. Moving the
lwtstate data to dst_entry makes such inter-protocol tunneling possible.

As a bonus, this brings a nice diffstat.

Signed-off-by: Jiri Benc &lt;jbenc@redhat.com&gt;
Acked-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, the lwtunnel state resides in per-protocol data. This is
a problem if we encapsulate ipv6 traffic in an ipv4 tunnel (or vice versa).
The xmit function of the tunnel does not know whether the packet has been
routed to it by ipv4 or ipv6, yet it needs the lwtstate data. Moving the
lwtstate data to dst_entry makes such inter-protocol tunneling possible.

As a bonus, this brings a nice diffstat.

Signed-off-by: Jiri Benc &lt;jbenc@redhat.com&gt;
Acked-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Fix a potential deadlock when creating pcpu rt</title>
<updated>2015-08-17T21:28:03+00:00</updated>
<author>
<name>Martin KaFai Lau</name>
<email>kafai@fb.com</email>
</author>
<published>2015-08-14T18:05:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=9c7370a166b4e157137bfbfe2ad296d57147547c'/>
<id>9c7370a166b4e157137bfbfe2ad296d57147547c</id>
<content type='text'>
rt6_make_pcpu_route() is called under read_lock(&amp;table-&gt;tb6_lock).
rt6_make_pcpu_route() calls ip6_rt_pcpu_alloc(rt) which then
calls dst_alloc().  dst_alloc() _may_ call ip6_dst_gc() which takes
the write_lock(&amp;tabl-&gt;tb6_lock).  A visualized version:

read_lock(&amp;table-&gt;tb6_lock);
rt6_make_pcpu_route();
=&gt; ip6_rt_pcpu_alloc();
=&gt; dst_alloc();
=&gt; ip6_dst_gc();
=&gt; write_lock(&amp;table-&gt;tb6_lock); /* oops */

The fix is to do a read_unlock first before calling ip6_rt_pcpu_alloc().

A reported stack:

[141625.537638] INFO: rcu_sched self-detected stall on CPU { 27}  (t=60000 jiffies g=4159086 c=4159085 q=2139)
[141625.547469] Task dump for CPU 27:
[141625.550881] mtr             R  running task        0 22121  22081 0x00000008
[141625.558069]  0000000000000000 ffff88103f363d98 ffffffff8106e488 000000000000001b
[141625.565641]  ffffffff81684900 ffff88103f363db8 ffffffff810702b0 0000000008000000
[141625.573220]  ffffffff81684900 ffff88103f363de8 ffffffff8108df9f ffff88103f375a00
[141625.580803] Call Trace:
[141625.583345]  &lt;IRQ&gt;  [&lt;ffffffff8106e488&gt;] sched_show_task+0xc1/0xc6
[141625.589650]  [&lt;ffffffff810702b0&gt;] dump_cpu_task+0x35/0x39
[141625.595144]  [&lt;ffffffff8108df9f&gt;] rcu_dump_cpu_stacks+0x6a/0x8c
[141625.601320]  [&lt;ffffffff81090606&gt;] rcu_check_callbacks+0x1f6/0x5d4
[141625.607669]  [&lt;ffffffff810940c8&gt;] update_process_times+0x2a/0x4f
[141625.613925]  [&lt;ffffffff8109fbee&gt;] tick_sched_handle+0x32/0x3e
[141625.619923]  [&lt;ffffffff8109fc2f&gt;] tick_sched_timer+0x35/0x5c
[141625.625830]  [&lt;ffffffff81094a1f&gt;] __hrtimer_run_queues+0x8f/0x18d
[141625.632171]  [&lt;ffffffff81094c9e&gt;] hrtimer_interrupt+0xa0/0x166
[141625.638258]  [&lt;ffffffff8102bf2a&gt;] local_apic_timer_interrupt+0x4e/0x52
[141625.645036]  [&lt;ffffffff8102c36f&gt;] smp_apic_timer_interrupt+0x39/0x4a
[141625.651643]  [&lt;ffffffff8140b9e8&gt;] apic_timer_interrupt+0x68/0x70
[141625.657895]  &lt;EOI&gt;  [&lt;ffffffff81346ee8&gt;] ? dst_destroy+0x7c/0xb5
[141625.664188]  [&lt;ffffffff813d45b5&gt;] ? fib6_flush_trees+0x20/0x20
[141625.670272]  [&lt;ffffffff81082b45&gt;] ? queue_write_lock_slowpath+0x60/0x6f
[141625.677140]  [&lt;ffffffff8140aa33&gt;] _raw_write_lock_bh+0x23/0x25
[141625.683218]  [&lt;ffffffff813d4553&gt;] __fib6_clean_all+0x40/0x82
[141625.689124]  [&lt;ffffffff813d45b5&gt;] ? fib6_flush_trees+0x20/0x20
[141625.695207]  [&lt;ffffffff813d6058&gt;] fib6_clean_all+0xe/0x10
[141625.700854]  [&lt;ffffffff813d60d3&gt;] fib6_run_gc+0x79/0xc8
[141625.706329]  [&lt;ffffffff813d0510&gt;] ip6_dst_gc+0x85/0xf9
[141625.711718]  [&lt;ffffffff81346d68&gt;] dst_alloc+0x55/0x159
[141625.717105]  [&lt;ffffffff813d09b5&gt;] __ip6_dst_alloc.isra.32+0x19/0x63
[141625.723620]  [&lt;ffffffff813d1830&gt;] ip6_pol_route+0x36a/0x3e8
[141625.729441]  [&lt;ffffffff813d18d6&gt;] ip6_pol_route_output+0x11/0x13
[141625.735700]  [&lt;ffffffff813f02c8&gt;] fib6_rule_action+0xa7/0x1bf
[141625.741698]  [&lt;ffffffff813d18c5&gt;] ? ip6_pol_route_input+0x17/0x17
[141625.748043]  [&lt;ffffffff81357c48&gt;] fib_rules_lookup+0xb5/0x12a
[141625.754050]  [&lt;ffffffff81141628&gt;] ? poll_select_copy_remaining+0xf9/0xf9
[141625.761002]  [&lt;ffffffff813f0535&gt;] fib6_rule_lookup+0x37/0x5c
[141625.766914]  [&lt;ffffffff813d18c5&gt;] ? ip6_pol_route_input+0x17/0x17
[141625.773260]  [&lt;ffffffff813d008c&gt;] ip6_route_output+0x7a/0x82
[141625.779177]  [&lt;ffffffff813c44c8&gt;] ip6_dst_lookup_tail+0x53/0x112
[141625.785437]  [&lt;ffffffff813c45c3&gt;] ip6_dst_lookup_flow+0x2a/0x6b
[141625.791604]  [&lt;ffffffff813ddaab&gt;] rawv6_sendmsg+0x407/0x9b6
[141625.797423]  [&lt;ffffffff813d7914&gt;] ? do_ipv6_setsockopt.isra.8+0xd87/0xde2
[141625.804464]  [&lt;ffffffff8139d4b4&gt;] inet_sendmsg+0x57/0x8e
[141625.810028]  [&lt;ffffffff81329ba3&gt;] sock_sendmsg+0x2e/0x3c
[141625.815588]  [&lt;ffffffff8132be57&gt;] SyS_sendto+0xfe/0x143
[141625.821063]  [&lt;ffffffff813dd551&gt;] ? rawv6_setsockopt+0x5e/0x67
[141625.827146]  [&lt;ffffffff8132c9f8&gt;] ? sock_common_setsockopt+0xf/0x11
[141625.833660]  [&lt;ffffffff8132c08c&gt;] ? SyS_setsockopt+0x81/0xa2
[141625.839565]  [&lt;ffffffff8140ac17&gt;] entry_SYSCALL_64_fastpath+0x12/0x6a

Fixes: d52d3997f843 ("pv6: Create percpu rt6_info")
Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
CC: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Reported-by: Steinar H. Gunderson &lt;sgunderson@bigfoot.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rt6_make_pcpu_route() is called under read_lock(&amp;table-&gt;tb6_lock).
rt6_make_pcpu_route() calls ip6_rt_pcpu_alloc(rt) which then
calls dst_alloc().  dst_alloc() _may_ call ip6_dst_gc() which takes
the write_lock(&amp;tabl-&gt;tb6_lock).  A visualized version:

read_lock(&amp;table-&gt;tb6_lock);
rt6_make_pcpu_route();
=&gt; ip6_rt_pcpu_alloc();
=&gt; dst_alloc();
=&gt; ip6_dst_gc();
=&gt; write_lock(&amp;table-&gt;tb6_lock); /* oops */

The fix is to do a read_unlock first before calling ip6_rt_pcpu_alloc().

A reported stack:

[141625.537638] INFO: rcu_sched self-detected stall on CPU { 27}  (t=60000 jiffies g=4159086 c=4159085 q=2139)
[141625.547469] Task dump for CPU 27:
[141625.550881] mtr             R  running task        0 22121  22081 0x00000008
[141625.558069]  0000000000000000 ffff88103f363d98 ffffffff8106e488 000000000000001b
[141625.565641]  ffffffff81684900 ffff88103f363db8 ffffffff810702b0 0000000008000000
[141625.573220]  ffffffff81684900 ffff88103f363de8 ffffffff8108df9f ffff88103f375a00
[141625.580803] Call Trace:
[141625.583345]  &lt;IRQ&gt;  [&lt;ffffffff8106e488&gt;] sched_show_task+0xc1/0xc6
[141625.589650]  [&lt;ffffffff810702b0&gt;] dump_cpu_task+0x35/0x39
[141625.595144]  [&lt;ffffffff8108df9f&gt;] rcu_dump_cpu_stacks+0x6a/0x8c
[141625.601320]  [&lt;ffffffff81090606&gt;] rcu_check_callbacks+0x1f6/0x5d4
[141625.607669]  [&lt;ffffffff810940c8&gt;] update_process_times+0x2a/0x4f
[141625.613925]  [&lt;ffffffff8109fbee&gt;] tick_sched_handle+0x32/0x3e
[141625.619923]  [&lt;ffffffff8109fc2f&gt;] tick_sched_timer+0x35/0x5c
[141625.625830]  [&lt;ffffffff81094a1f&gt;] __hrtimer_run_queues+0x8f/0x18d
[141625.632171]  [&lt;ffffffff81094c9e&gt;] hrtimer_interrupt+0xa0/0x166
[141625.638258]  [&lt;ffffffff8102bf2a&gt;] local_apic_timer_interrupt+0x4e/0x52
[141625.645036]  [&lt;ffffffff8102c36f&gt;] smp_apic_timer_interrupt+0x39/0x4a
[141625.651643]  [&lt;ffffffff8140b9e8&gt;] apic_timer_interrupt+0x68/0x70
[141625.657895]  &lt;EOI&gt;  [&lt;ffffffff81346ee8&gt;] ? dst_destroy+0x7c/0xb5
[141625.664188]  [&lt;ffffffff813d45b5&gt;] ? fib6_flush_trees+0x20/0x20
[141625.670272]  [&lt;ffffffff81082b45&gt;] ? queue_write_lock_slowpath+0x60/0x6f
[141625.677140]  [&lt;ffffffff8140aa33&gt;] _raw_write_lock_bh+0x23/0x25
[141625.683218]  [&lt;ffffffff813d4553&gt;] __fib6_clean_all+0x40/0x82
[141625.689124]  [&lt;ffffffff813d45b5&gt;] ? fib6_flush_trees+0x20/0x20
[141625.695207]  [&lt;ffffffff813d6058&gt;] fib6_clean_all+0xe/0x10
[141625.700854]  [&lt;ffffffff813d60d3&gt;] fib6_run_gc+0x79/0xc8
[141625.706329]  [&lt;ffffffff813d0510&gt;] ip6_dst_gc+0x85/0xf9
[141625.711718]  [&lt;ffffffff81346d68&gt;] dst_alloc+0x55/0x159
[141625.717105]  [&lt;ffffffff813d09b5&gt;] __ip6_dst_alloc.isra.32+0x19/0x63
[141625.723620]  [&lt;ffffffff813d1830&gt;] ip6_pol_route+0x36a/0x3e8
[141625.729441]  [&lt;ffffffff813d18d6&gt;] ip6_pol_route_output+0x11/0x13
[141625.735700]  [&lt;ffffffff813f02c8&gt;] fib6_rule_action+0xa7/0x1bf
[141625.741698]  [&lt;ffffffff813d18c5&gt;] ? ip6_pol_route_input+0x17/0x17
[141625.748043]  [&lt;ffffffff81357c48&gt;] fib_rules_lookup+0xb5/0x12a
[141625.754050]  [&lt;ffffffff81141628&gt;] ? poll_select_copy_remaining+0xf9/0xf9
[141625.761002]  [&lt;ffffffff813f0535&gt;] fib6_rule_lookup+0x37/0x5c
[141625.766914]  [&lt;ffffffff813d18c5&gt;] ? ip6_pol_route_input+0x17/0x17
[141625.773260]  [&lt;ffffffff813d008c&gt;] ip6_route_output+0x7a/0x82
[141625.779177]  [&lt;ffffffff813c44c8&gt;] ip6_dst_lookup_tail+0x53/0x112
[141625.785437]  [&lt;ffffffff813c45c3&gt;] ip6_dst_lookup_flow+0x2a/0x6b
[141625.791604]  [&lt;ffffffff813ddaab&gt;] rawv6_sendmsg+0x407/0x9b6
[141625.797423]  [&lt;ffffffff813d7914&gt;] ? do_ipv6_setsockopt.isra.8+0xd87/0xde2
[141625.804464]  [&lt;ffffffff8139d4b4&gt;] inet_sendmsg+0x57/0x8e
[141625.810028]  [&lt;ffffffff81329ba3&gt;] sock_sendmsg+0x2e/0x3c
[141625.815588]  [&lt;ffffffff8132be57&gt;] SyS_sendto+0xfe/0x143
[141625.821063]  [&lt;ffffffff813dd551&gt;] ? rawv6_setsockopt+0x5e/0x67
[141625.827146]  [&lt;ffffffff8132c9f8&gt;] ? sock_common_setsockopt+0xf/0x11
[141625.833660]  [&lt;ffffffff8132c08c&gt;] ? SyS_setsockopt+0x81/0xa2
[141625.839565]  [&lt;ffffffff8140ac17&gt;] entry_SYSCALL_64_fastpath+0x12/0x6a

Fixes: d52d3997f843 ("pv6: Create percpu rt6_info")
Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
CC: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Reported-by: Steinar H. Gunderson &lt;sgunderson@bigfoot.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lwtunnel: change prototype of lwtunnel_state_get()</title>
<updated>2015-07-27T08:02:49+00:00</updated>
<author>
<name>Nicolas Dichtel</name>
<email>nicolas.dichtel@6wind.com</email>
</author>
<published>2015-07-24T10:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=5a6228a0b472062646434cd2536d109c102b606e'/>
<id>5a6228a0b472062646434cd2536d109c102b606e</id>
<content type='text'>
It saves some lines and simplify a bit the code when the state is returning
by this function. It's also useful to handle a NULL entry.

To avoid too long lines, I've also renamed lwtunnel_state_get() and
lwtunnel_state_put() to lwtstate_get() and lwtstate_put().

CC: Thomas Graf &lt;tgraf@suug.ch&gt;
CC: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It saves some lines and simplify a bit the code when the state is returning
by this function. It's also useful to handle a NULL entry.

To avoid too long lines, I've also renamed lwtunnel_state_get() and
lwtunnel_state_put() to lwtstate_get() and lwtstate_put().

CC: Thomas Graf &lt;tgraf@suug.ch&gt;
CC: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Acked-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: support for fib route lwtunnel encap attributes</title>
<updated>2015-07-21T17:39:04+00:00</updated>
<author>
<name>Roopa Prabhu</name>
<email>roopa@cumulusnetworks.com</email>
</author>
<published>2015-07-21T08:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=19e42e45150672124b6a4341e2bc7982d247f0ac'/>
<id>19e42e45150672124b6a4341e2bc7982d247f0ac</id>
<content type='text'>
This patch adds support in ipv6 fib functions to parse Netlink
RTA encap attributes and attach encap state data to rt6_info.

Signed-off-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support in ipv6 fib functions to parse Netlink
RTA encap attributes and attach encap state data to rt6_info.

Signed-off-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Create percpu rt6_info</title>
<updated>2015-05-25T17:25:35+00:00</updated>
<author>
<name>Martin KaFai Lau</name>
<email>kafai@fb.com</email>
</author>
<published>2015-05-23T03:56:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=d52d3997f843ffefaa8d8462790ffcaca6c74192'/>
<id>d52d3997f843ffefaa8d8462790ffcaca6c74192</id>
<content type='text'>
After the patch
'ipv6: Only create RTF_CACHE routes after encountering pmtu exception',
we need to compensate the performance hit (bouncing dst-&gt;__refcnt).

Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Cc: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Cc: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Cc: Julian Anastasov &lt;ja@ssi.bg&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After the patch
'ipv6: Only create RTF_CACHE routes after encountering pmtu exception',
we need to compensate the performance hit (bouncing dst-&gt;__refcnt).

Signed-off-by: Martin KaFai Lau &lt;kafai@fb.com&gt;
Cc: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Cc: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Cc: Julian Anastasov &lt;ja@ssi.bg&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
