Commit c5dab094 authored by Julian Wiedmann's avatar Julian Wiedmann Committed by Jakub Kicinski

net/af_iucv: set correct sk_protocol for child sockets

Child sockets erroneously inherit their parent's sk_type (ie. SOCK_*),
instead of the PF_IUCV protocol that the parent was created with in
iucv_sock_create().

We're currently not using sk->sk_protocol ourselves, so this shouldn't
have much impact (except eg. getting the output in skb_dump() right).

Fixes: eac3731b ("[S390]: Add AF_IUCV socket support")
Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
Link: https://lore.kernel.org/r/20201120100657.34407-1-jwi@linux.ibm.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f33d9e2b
...@@ -1645,7 +1645,7 @@ static int iucv_callback_connreq(struct iucv_path *path, ...@@ -1645,7 +1645,7 @@ static int iucv_callback_connreq(struct iucv_path *path,
} }
/* Create the new socket */ /* Create the new socket */
nsk = iucv_sock_alloc(NULL, sk->sk_type, GFP_ATOMIC, 0); nsk = iucv_sock_alloc(NULL, sk->sk_protocol, GFP_ATOMIC, 0);
if (!nsk) { if (!nsk) {
err = pr_iucv->path_sever(path, user_data); err = pr_iucv->path_sever(path, user_data);
iucv_path_free(path); iucv_path_free(path);
...@@ -1851,7 +1851,7 @@ static int afiucv_hs_callback_syn(struct sock *sk, struct sk_buff *skb) ...@@ -1851,7 +1851,7 @@ static int afiucv_hs_callback_syn(struct sock *sk, struct sk_buff *skb)
goto out; goto out;
} }
nsk = iucv_sock_alloc(NULL, sk->sk_type, GFP_ATOMIC, 0); nsk = iucv_sock_alloc(NULL, sk->sk_protocol, GFP_ATOMIC, 0);
bh_lock_sock(sk); bh_lock_sock(sk);
if ((sk->sk_state != IUCV_LISTEN) || if ((sk->sk_state != IUCV_LISTEN) ||
sk_acceptq_is_full(sk) || sk_acceptq_is_full(sk) ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment