mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-24 07:31:41 +00:00
[NETNS][IPV6] route6 - pass always a valid socket to ip6_dst_lookup
The ip6_dst_lookup receive a socket as parameter. In some part of the code it is called with a NULL socket parameter. We want to rely on the socket to retrieve the network namespace, so we always pass a valid socket in all cases. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: Benjamin Thery <benjamin.thery@bull.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4591db4f37
commit
c20121ae87
2 changed files with 8 additions and 5 deletions
|
@ -913,7 +913,7 @@ static int ip6_dst_lookup_tail(struct sock *sk,
|
|||
int err;
|
||||
|
||||
if (*dst == NULL)
|
||||
*dst = ip6_route_output(&init_net, sk, fl);
|
||||
*dst = ip6_route_output(sk->sk_net, sk, fl);
|
||||
|
||||
if ((err = (*dst)->error))
|
||||
goto out_err_release;
|
||||
|
@ -954,7 +954,7 @@ static int ip6_dst_lookup_tail(struct sock *sk,
|
|||
dst_release(*dst);
|
||||
memcpy(&fl_gw, fl, sizeof(struct flowi));
|
||||
memset(&fl_gw.fl6_dst, 0, sizeof(struct in6_addr));
|
||||
*dst = ip6_route_output(&init_net, sk, &fl_gw);
|
||||
*dst = ip6_route_output(sk->sk_net, sk, &fl_gw);
|
||||
if ((err = (*dst)->error))
|
||||
goto out_err_release;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue