mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
ax25: Fix possible oops in ax25_make_new
In ax25_make_new, if kmemdup of digipeat returns an error, there would be an oops in sk_free while calling sk_destruct, because sk_protinfo is NULL at the moment; move sk->sk_destruct initialization after this. BTW of reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
81bbb3d404
commit
8c185ab618
@ -901,7 +901,6 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
|
||||
|
||||
sock_init_data(NULL, sk);
|
||||
|
||||
sk->sk_destruct = ax25_free_sock;
|
||||
sk->sk_type = osk->sk_type;
|
||||
sk->sk_priority = osk->sk_priority;
|
||||
sk->sk_protocol = osk->sk_protocol;
|
||||
@ -939,6 +938,7 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
|
||||
}
|
||||
|
||||
sk->sk_protinfo = ax25;
|
||||
sk->sk_destruct = ax25_free_sock;
|
||||
ax25->sk = sk;
|
||||
|
||||
return sk;
|
||||
|
Loading…
Reference in New Issue
Block a user