]> www.infradead.org Git - linux.git/commit
af_unix: Don't call skb_get() for OOB skb.
authorKuniyuki Iwashima <kuniyu@amazon.com>
Fri, 16 Aug 2024 23:39:21 +0000 (16:39 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 20 Aug 2024 22:48:00 +0000 (15:48 -0700)
commit8594d9b85c07f05e431bd07e895c2a3ad9b85d6f
tree57b946461ef2896b053703d6106a200e7b33970e
parent2862c9349d5d8667d897aa5cecf0f3886979ecb1
af_unix: Don't call skb_get() for OOB skb.

Since introduced, OOB skb holds an additional reference count with no
special reason and caused many issues.

Also, kfree_skb() and consume_skb() are used to decrement the count,
which is confusing.

Let's drop the unnecessary skb_get() in queue_oob() and corresponding
kfree_skb(), consume_skb(), and skb_unref().

Now unix_sk(sk)->oob_skb is just a pointer to skb in the receive queue,
so special handing is no longer needed in GC.

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