af_unix.c (7782040b950b5d0433f734fb2bba8b8b5ed6ce5a) af_unix.c (e427cad6eee47e2daf207cd7a4156ae72496ee07)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * NET4: Implementation of BSD Unix domain sockets.
4 *
5 * Authors: Alan Cox, <alan@lxorguk.ukuu.org.uk>
6 *
7 * Fixes:
8 * Linus Torvalds : Assorted bug cures.

--- 2092 unchanged lines hidden (view full) ---

2101
2102 timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT);
2103
2104 do {
2105 mutex_lock(&u->iolock);
2106
2107 skip = sk_peek_offset(sk, flags);
2108 skb = __skb_try_recv_datagram(sk, &sk->sk_receive_queue, flags,
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * NET4: Implementation of BSD Unix domain sockets.
4 *
5 * Authors: Alan Cox, <alan@lxorguk.ukuu.org.uk>
6 *
7 * Fixes:
8 * Linus Torvalds : Assorted bug cures.

--- 2092 unchanged lines hidden (view full) ---

2101
2102 timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT);
2103
2104 do {
2105 mutex_lock(&u->iolock);
2106
2107 skip = sk_peek_offset(sk, flags);
2108 skb = __skb_try_recv_datagram(sk, &sk->sk_receive_queue, flags,
2109 scm_stat_del, &skip, &err, &last);
2110 if (skb)
2109 &skip, &err, &last);
2110 if (skb) {
2111 if (!(flags & MSG_PEEK))
2112 scm_stat_del(sk, skb);
2111 break;
2113 break;
2114 }
2112
2113 mutex_unlock(&u->iolock);
2114
2115 if (err != -EAGAIN)
2116 break;
2117 } while (timeo &&
2118 !__skb_wait_for_more_packets(sk, &sk->sk_receive_queue,
2119 &err, &timeo, last));

--- 828 unchanged lines hidden ---
2115
2116 mutex_unlock(&u->iolock);
2117
2118 if (err != -EAGAIN)
2119 break;
2120 } while (timeo &&
2121 !__skb_wait_for_more_packets(sk, &sk->sk_receive_queue,
2122 &err, &timeo, last));

--- 828 unchanged lines hidden ---