]> git.dujemihanovic.xyz Git - linux.git/commit
af_unix: Move spin_lock() in manage_oob().
authorKuniyuki Iwashima <kuniyu@amazon.com>
Thu, 5 Sep 2024 19:32:39 +0000 (12:32 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 10 Sep 2024 00:14:26 +0000 (17:14 -0700)
commita0264a9f51fe0d196f22efd7538eb749e3448c2d
tree7995268cd33323d98330f6b4ca81662234468cd9
parentbeb2c5f19b6ab033b187e770a659c730c3bd05ca
af_unix: Move spin_lock() in manage_oob().

When OOB skb has been already consumed, manage_oob() returns the next
skb if exists.  In such a case, we need to fall back to the else branch
below.

Then, we want to keep holding spin_lock(&sk->sk_receive_queue.lock).

Let's move it out of if-else branch and add lightweight check before
spin_lock() for major use cases without OOB skb.

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20240905193240.17565-4-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/unix/af_unix.c