[tipc-discussion] [PATCH net 1/2] tipc: set con sock in tipc_conn_alloc

2022-11-18 Thread Xin Long
A crash was reported by Wei Chen: BUG: kernel NULL pointer dereference, address: 0018 RIP: 0010:tipc_conn_close+0x12/0x100 Call Trace: tipc_topsrv_exit_net+0x139/0x320 ops_exit_list.isra.9+0x49/0x80 cleanup_net+0x31a/0x540 process_one_work+0x3fa/0x9f0

[tipc-discussion] [PATCH net 0/2] tipc: fix two race issues in tipc_conn_alloc

2022-11-18 Thread Xin Long
The race exists beteen tipc_topsrv_accept() and tipc_conn_close(), one is allocating the con while the other is freeing it and there is no proper lock protecting it. Therefore, a null-pointer-defer and a use-after-free may be triggered, see details on each patch. Xin Long (2): tipc: set con

[tipc-discussion] [PATCH net 2/2] tipc: add an extra conn_get in tipc_conn_alloc

2022-11-18 Thread Xin Long
One extra conn_get() is needed in tipc_conn_alloc(), as after tipc_conn_alloc() is called, tipc_conn_close() may free this con before deferencing it in tipc_topsrv_accept(): tipc_conn_alloc(); newsk = newsock->sk; < tipc_conn_close();