mirror of https://gitee.com/openkylin/linux.git
tipc: fix a potential oops
Commit 6c9808ce09
("tipc: remove port_lock") accidentally involves
a potential bug: when tipc socket instance(tsk) is not got with given
reference number in tipc_sk_get(), tsk is set to NULL. Subsequently
we jump to exit label where to decrease socket reference counter
pointed by tsk pointer in tipc_sk_put(). However, As now tsk is NULL,
oops may happen because of touching a NULL pointer.
Signed-off-by: Ying Xue <ying.xue@windriver.com>
Acked-by: Erik Hugne <erik.hugne@ericsson.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
574746ddec
commit
cc086fcf92
|
@ -2118,9 +2118,9 @@ static void tipc_sk_timeout(unsigned long ref)
|
|||
|
||||
tsk = tipc_sk_get(ref);
|
||||
if (!tsk)
|
||||
goto exit;
|
||||
sk = &tsk->sk;
|
||||
return;
|
||||
|
||||
sk = &tsk->sk;
|
||||
bh_lock_sock(sk);
|
||||
if (!tsk->connected) {
|
||||
bh_unlock_sock(sk);
|
||||
|
|
Loading…
Reference in New Issue