Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71299
b: refs/heads/master
c: 0402804
h: refs/heads/master
i:
  71297: 3b94f4c
  71295: c6f116d
v: v3
  • Loading branch information
Pavel Emelyanov authored and David S. Miller committed Oct 18, 2007
1 parent 8784d04 commit a9a4eb5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 009e8c965fd72a78636b9a96c7015109c5c70176
refs/heads/master: 04028045a12ba941c579d0f3238489333ac18ea4
20 changes: 12 additions & 8 deletions trunk/net/ipv6/ip6_flowlabel.c
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,16 @@ static int ipv6_opt_cmp(struct ipv6_txoptions *o1, struct ipv6_txoptions *o2)
return 0;
}

static inline void fl_link(struct ipv6_pinfo *np, struct ipv6_fl_socklist *sfl,
struct ip6_flowlabel *fl)
{
write_lock_bh(&ip6_sk_fl_lock);
sfl->fl = fl;
sfl->next = np->ipv6_fl_list;
np->ipv6_fl_list = sfl;
write_unlock_bh(&ip6_sk_fl_lock);
}

int ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen)
{
int err;
Expand Down Expand Up @@ -513,11 +523,7 @@ int ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen)
fl1->linger = fl->linger;
if ((long)(fl->expires - fl1->expires) > 0)
fl1->expires = fl->expires;
write_lock_bh(&ip6_sk_fl_lock);
sfl1->fl = fl1;
sfl1->next = np->ipv6_fl_list;
np->ipv6_fl_list = sfl1;
write_unlock_bh(&ip6_sk_fl_lock);
fl_link(np, sfl1, fl1);
fl_free(fl);
return 0;

Expand Down Expand Up @@ -545,9 +551,7 @@ int ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen)
}
}

sfl1->fl = fl;
sfl1->next = np->ipv6_fl_list;
np->ipv6_fl_list = sfl1;
fl_link(np, sfl1, fl);
return 0;

default:
Expand Down

0 comments on commit a9a4eb5

Please sign in to comment.