File tree Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -77,6 +77,9 @@ enum unix_socket_lock_class {
77
77
U_LOCK_NORMAL ,
78
78
U_LOCK_SECOND , /* for double locking, see unix_state_double_lock(). */
79
79
U_LOCK_DIAG , /* used while dumping icons, see sk_diag_dump_icons(). */
80
+ U_LOCK_GC_LISTENER , /* used for listening socket while determining gc
81
+ * candidates to close a small race window.
82
+ */
80
83
};
81
84
82
85
static inline void unix_state_lock_nested (struct sock * sk ,
Original file line number Diff line number Diff line change @@ -260,7 +260,7 @@ void unix_gc(void)
260
260
__set_bit (UNIX_GC_MAYBE_CYCLE , & u -> gc_flags );
261
261
262
262
if (sk -> sk_state == TCP_LISTEN ) {
263
- unix_state_lock (sk );
263
+ unix_state_lock_nested (sk , U_LOCK_GC_LISTENER );
264
264
unix_state_unlock (sk );
265
265
}
266
266
}
You can’t perform that action at this time.
0 commit comments