diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index a8364cf18f6f..7719c2a9fac5 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -2604,7 +2604,7 @@ static struct sk_buff *manage_oob(struct sk_buff *skb, struct sock *sk, spin_lock(&sk->sk_receive_queue.lock); - if (copied) { + if (copied && (!u->oob_skb || skb == u->oob_skb)) { skb = NULL; } else if (flags & MSG_PEEK) { skb = skb_peek_next(skb, &sk->sk_receive_queue);