Bug #347

Fwd: [PATCH] net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()

Added by David Taht on Mar 27, 2012. Updated on Apr 19, 2012.
Closed High Dave Täht


———- Forwarded message ———-
From: Eric Dumazet eric.dumazet@gmail.com
Date: Tue, Mar 27, 2012 at 12:53 PM
Subject: [PATCH] net: fix a potential rcu_read_lock() imbalance in
To: Ben Greear greearb@candelatech.com
Cc: David Miller davem@davemloft.net, netdev@vger.kernel.org,
gregkh@linuxfoundation.org, “Paul E. McKenney” paulmck@linux.vnet.ibm.com,
Dave Jones davej@redhat.com

Commit f2c31e32b378 (net: fix NULL dereferences in check_peer_redir() )
added a regression in rt6_fill_node(), leading to rcu_read_lock()

Thats because NLA_PUT() can make a jump to nla_put_failure label.

Fix this by using nla_put()

Many thanks to Ben Greear for his help

Reported-by: Ben Greear greearb@candelatech.com
Reported-by: Dave Jones davej@redhat.com
Signed-off-by: Eric Dumazet eric.dumazet@gmail.com

net/ipv6/route.c | 8 **–
1 file changed, 6 insertions(+), 2 deletions(-)

diff –git a/net/ipv6/route.c b/net/ipv6/route.c
index 24c456e..496b627 100644
— a/net/ipv6/route.c
**+ b/net/ipv6/route.c
@ -2474,8 +2474,12@ static int rt6_fill_node(struct net *net,

n = dst_get_neighbour_noref(&rt->dst);
- if (n)
- NLA_PUT(skb, RTA_GATEWAY, 16, &n->primary_key);
+ if (n) {
+ if (nla_put(skb, RTA_GATEWAY, 16, &n->primary_key) < 0) {
+ rcu_read_unlock();
+ goto nla_put_failure;
+ }
+ }

if (rt->dst.dev)


Updated by Dave Täht on Apr 19, 2012.
fixed by 3.3.2

This is a static export of the original bufferbloat.net issue database. As such, no further commenting is possible; the information is solely here for archival purposes.
RSS feed

Recent Updates

Apr 12, 2024 Wiki page
What Can I Do About Bufferbloat?
Dec 3, 2022 Wiki page
Codel Wiki
Jun 11, 2022 Wiki page
More about Bufferbloat
Jun 11, 2022 Wiki page
Tests for Bufferbloat
Dec 7, 2021 Wiki page
Getting SQM Running Right

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine


Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
The Cake shaper
CeroWrt (where it all started)

Network Performance Related Resources

Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".