X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=net%2Fipv6%2Fip6_flowlabel.c;h=a3340f2b4714483dc9644df038a10f5994347976;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=15f341adc74ce6bd14e3ce3386f81bbd584dec45;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c index 15f341adc..a3340f2b4 100644 --- a/net/ipv6/ip6_flowlabel.c +++ b/net/ipv6/ip6_flowlabel.c @@ -54,11 +54,11 @@ static struct timer_list ip6_fl_gc_timer = TIMER_INITIALIZER(ip6_fl_gc, 0, 0); /* FL hash table lock: it protects only of GC */ -static rwlock_t ip6_fl_lock = RW_LOCK_UNLOCKED; +static DEFINE_RWLOCK(ip6_fl_lock); /* Big socket sock */ -static rwlock_t ip6_sk_fl_lock = RW_LOCK_UNLOCKED; +static DEFINE_RWLOCK(ip6_sk_fl_lock); static __inline__ struct ip6_flowlabel * __fl_lookup(u32 label) @@ -500,7 +500,7 @@ int ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen) goto release; err = -EINVAL; - if (ipv6_addr_cmp(&fl1->dst, &fl->dst) || + if (!ipv6_addr_equal(&fl1->dst, &fl->dst) || ipv6_opt_cmp(fl1->opt, fl->opt)) goto release;