Commit 37740dda authored by Pietro Borrello's avatar Pietro Borrello Committed by sanglipeng
Browse files

inet: fix fast path in __inet_hash_connect()

stable inclusion
from stable-v5.10.173
commit b33091fc28963deed329ccfce0d53f5323acf663
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8BFR3

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b33091fc28963deed329ccfce0d53f5323acf663



--------------------------------

[ Upstream commit 21cbd90a ]

__inet_hash_connect() has a fast path taken if sk_head(&tb->owners) is
equal to the sk parameter.
sk_head() returns the hlist_entry() with respect to the sk_node field.
However entries in the tb->owners list are inserted with respect to the
sk_bind_node field with sk_add_bind_node().
Thus the check would never pass and the fast path never execute.

This fast path has never been executed or tested as this bug seems
to be present since commit 1da177e4 ("Linux-2.6.12-rc2"), thus
remove it to reduce code complexity.

Signed-off-by: default avatarPietro Borrello <borrello@diag.uniroma1.it>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20230112-inet_hash_connect_bind_head-v3-1-b591fd212b93@diag.uniroma1.it


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
parent 67b8e342
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment