tipc: use the right skb in tipc_sk_fill_sock_diag()
Commit4b2e6877b8
("tipc: Fix namespace violation in tipc_sk_fill_sock_diag") tried to fix the crash but failed, the crash is still 100% reproducible with it. In tipc_sk_fill_sock_diag(), skb is the diag dump we are filling, it is not correct to retrieve its NETLINK_CB(), instead, like other protocol diag, we should use NETLINK_CB(cb->skb).sk here. Reported-by: <syzbot+326e587eff1074657718@syzkaller.appspotmail.com> Fixes:4b2e6877b8
("tipc: Fix namespace violation in tipc_sk_fill_sock_diag") Fixes:c30b70deb5
(tipc: implement socket diagnostics for AF_TIPC) Cc: GhantaKrishnamurthy MohanKrishna <mohan.krishna.ghanta.krishnamurthy@ericsson.com> Cc: Jon Maloy <jon.maloy@ericsson.com> Cc: Ying Xue <ying.xue@windriver.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
81e9837029
commit
e41f054847
@@ -59,7 +59,7 @@ static int __tipc_add_sock_diag(struct sk_buff *skb,
|
||||
if (!nlh)
|
||||
return -EMSGSIZE;
|
||||
|
||||
err = tipc_sk_fill_sock_diag(skb, tsk, req->tidiag_states,
|
||||
err = tipc_sk_fill_sock_diag(skb, cb, tsk, req->tidiag_states,
|
||||
__tipc_diag_gen_cookie);
|
||||
if (err)
|
||||
return err;
|
||||
|
Reference in New Issue
Block a user