]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
tipc: increase timeout in tipc_sk_enqueue()
authorHoang Le <hoang.h.le@dektech.com.au>
Mon, 13 Sep 2021 09:28:52 +0000 (16:28 +0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 09:48:11 +0000 (11:48 +0200)
commitdf957462980e7a68ccc389ccee9c2de72e973c43
tree1c03e36a1c078cc8f7224f9dc76f01ff4065c3d0
parenta86e6a43f3a734ccc1416a4304e03d85db320b5d
tipc: increase timeout in tipc_sk_enqueue()

commit f4bb62e64c88c93060c051195d3bbba804e56945 upstream.

In tipc_sk_enqueue() we use hardcoded 2 jiffies to extract
socket buffer from generic queue to particular socket.
The 2 jiffies is too short in case there are other high priority
tasks get CPU cycles for multiple jiffies update. As result, no
buffer could be enqueued to particular socket.

To solve this, we switch to use constant timeout 20msecs.
Then, the function will be expired between 2 jiffies (CONFIG_100HZ)
and 20 jiffies (CONFIG_1000HZ).

Fixes: c637c1035534 ("tipc: resolve race problem at unicast message reception")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/tipc/socket.c