diff options
Diffstat (limited to 'net/unix/garbage.c')
| -rw-r--r-- | net/unix/garbage.c | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/net/unix/garbage.c b/net/unix/garbage.c index 2405f0f9af31..8f63f0b4bf01 100644 --- a/net/unix/garbage.c +++ b/net/unix/garbage.c @@ -314,6 +314,17 @@ void unix_gc(void)  	/* Here we are. Hitlist is filled. Die. */  	__skb_queue_purge(&hitlist); +#if IS_ENABLED(CONFIG_AF_UNIX_OOB) +	list_for_each_entry_safe(u, next, &gc_candidates, link) { +		struct sk_buff *skb = u->oob_skb; + +		if (skb) { +			u->oob_skb = NULL; +			kfree_skb(skb); +		} +	} +#endif +  	spin_lock(&unix_gc_lock);  	/* There could be io_uring registered files, just push them back to  | 
