From 74fb1142cc1da5b0a7536a761ede89a79edd24ea Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Thu, 18 Oct 2007 05:15:57 -0700 Subject: [PATCH] --- yaml --- r: 71300 b: refs/heads/master c: bd0bf57700cb0eaa92f3d2ee040a69743cdd99d0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ipv6/ip6_flowlabel.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2e7c3744df2a..78e505bd1ca0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 04028045a12ba941c579d0f3238489333ac18ea4 +refs/heads/master: bd0bf57700cb0eaa92f3d2ee040a69743cdd99d0 diff --git a/trunk/net/ipv6/ip6_flowlabel.c b/trunk/net/ipv6/ip6_flowlabel.c index 8550df20f984..f40a08669db0 100644 --- a/trunk/net/ipv6/ip6_flowlabel.c +++ b/trunk/net/ipv6/ip6_flowlabel.c @@ -190,14 +190,17 @@ struct ip6_flowlabel * fl6_sock_lookup(struct sock *sk, __be32 label) label &= IPV6_FLOWLABEL_MASK; + read_lock_bh(&ip6_sk_fl_lock); for (sfl=np->ipv6_fl_list; sfl; sfl = sfl->next) { struct ip6_flowlabel *fl = sfl->fl; if (fl->label == label) { + read_unlock_bh(&ip6_sk_fl_lock); fl->lastuse = jiffies; atomic_inc(&fl->users); return fl; } } + read_unlock_bh(&ip6_sk_fl_lock); return NULL; }