|
@@ -322,8 +322,8 @@ static int fl6_renew(struct ip6_flowlabel *fl, unsigned long linger, unsigned lo
|
|
|
}
|
|
|
|
|
|
static struct ip6_flowlabel *
|
|
|
-fl_create(struct net *net, struct in6_flowlabel_req *freq, char __user *optval,
|
|
|
- int optlen, int *err_p)
|
|
|
+fl_create(struct net *net, struct sock *sk, struct in6_flowlabel_req *freq,
|
|
|
+ char __user *optval, int optlen, int *err_p)
|
|
|
{
|
|
|
struct ip6_flowlabel *fl = NULL;
|
|
|
int olen;
|
|
@@ -360,7 +360,7 @@ fl_create(struct net *net, struct in6_flowlabel_req *freq, char __user *optval,
|
|
|
msg.msg_control = (void*)(fl->opt+1);
|
|
|
memset(&flowi6, 0, sizeof(flowi6));
|
|
|
|
|
|
- err = datagram_send_ctl(net, &msg, &flowi6, fl->opt, &junk,
|
|
|
+ err = datagram_send_ctl(net, sk, &msg, &flowi6, fl->opt, &junk,
|
|
|
&junk, &junk);
|
|
|
if (err)
|
|
|
goto done;
|
|
@@ -528,7 +528,7 @@ int ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen)
|
|
|
if (freq.flr_label & ~IPV6_FLOWLABEL_MASK)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- fl = fl_create(net, &freq, optval, optlen, &err);
|
|
|
+ fl = fl_create(net, sk, &freq, optval, optlen, &err);
|
|
|
if (fl == NULL)
|
|
|
return err;
|
|
|
sfl1 = kmalloc(sizeof(*sfl1), GFP_KERNEL);
|