Kuniyuki Iwashima 8647ece481 af_unix: Define locking order for U_RECVQ_LOCK_EMBRYO in unix_collect_skb().
While GC is cleaning up cyclic references by SCM_RIGHTS,
unix_collect_skb() collects skb in the socket's recvq.

If the socket is TCP_LISTEN, we need to collect skb in the
embryo's queue.  Then, both the listener's recvq lock and
the embroy's one are held.

The locking is always done in the listener -> embryo order.

Let's define it as unix_recvq_lock_cmp_fn() instead of using
spin_lock_nested().

Note that the reverse order is defined for consistency.

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-06-25 11:10:18 +02:00
..
2024-05-29 09:25:15 -07:00
2024-06-14 19:08:50 -07:00
2024-06-05 10:18:06 +01:00
2024-06-10 11:54:18 +01:00
2024-05-28 07:27:29 -07:00
2024-06-17 13:14:09 +01:00
2024-06-13 11:07:32 -07:00