Merge tag 'net-next-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev...
[linux-2.6-microblaze.git] / net / unix / af_unix.c
index 36367e7..654dcef 100644 (file)
@@ -1643,7 +1643,8 @@ static int unix_accept(struct socket *sock, struct socket *newsock, int flags,
         * so that no locks are necessary.
         */
 
-       skb = skb_recv_datagram(sk, 0, flags&O_NONBLOCK, &err);
+       skb = skb_recv_datagram(sk, (flags & O_NONBLOCK) ? MSG_DONTWAIT : 0,
+                               &err);
        if (!skb) {
                /* This means receive shutdown. */
                if (err == 0)
@@ -2481,8 +2482,7 @@ static int unix_dgram_recvmsg(struct socket *sock, struct msghdr *msg, size_t si
        const struct proto *prot = READ_ONCE(sk->sk_prot);
 
        if (prot != &unix_dgram_proto)
-               return prot->recvmsg(sk, msg, size, flags & MSG_DONTWAIT,
-                                           flags & ~MSG_DONTWAIT, NULL);
+               return prot->recvmsg(sk, msg, size, flags, NULL);
 #endif
        return __unix_dgram_recvmsg(sk, msg, size, flags);
 }
@@ -2498,7 +2498,7 @@ static int unix_read_sock(struct sock *sk, read_descriptor_t *desc,
                int used, err;
 
                mutex_lock(&u->iolock);
-               skb = skb_recv_datagram(sk, 0, 1, &err);
+               skb = skb_recv_datagram(sk, MSG_DONTWAIT, &err);
                mutex_unlock(&u->iolock);
                if (!skb)
                        return err;
@@ -2914,8 +2914,7 @@ static int unix_stream_recvmsg(struct socket *sock, struct msghdr *msg,
        const struct proto *prot = READ_ONCE(sk->sk_prot);
 
        if (prot != &unix_stream_proto)
-               return prot->recvmsg(sk, msg, size, flags & MSG_DONTWAIT,
-                                           flags & ~MSG_DONTWAIT, NULL);
+               return prot->recvmsg(sk, msg, size, flags, NULL);
 #endif
        return unix_stream_read_generic(&state, true);
 }