]> Git Repo - linux.git/blobdiff - net/unix/af_unix.c
Merge tag 'net-next-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev...
[linux.git] / net / unix / af_unix.c
index e71a312faa1e2ef856c027e1f55f4b79a34246ae..654dcef7cfb3849463be9d905ae625319fbae406 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)
@@ -1808,11 +1809,9 @@ static int maybe_init_creds(struct scm_cookie *scm,
 static bool unix_skb_scm_eq(struct sk_buff *skb,
                            struct scm_cookie *scm)
 {
-       const struct unix_skb_parms *u = &UNIXCB(skb);
-
-       return u->pid == scm->pid &&
-              uid_eq(u->uid, scm->creds.uid) &&
-              gid_eq(u->gid, scm->creds.gid) &&
+       return UNIXCB(skb).pid == scm->pid &&
+              uid_eq(UNIXCB(skb).uid, scm->creds.uid) &&
+              gid_eq(UNIXCB(skb).gid, scm->creds.gid) &&
               unix_secdata_eq(scm, skb);
 }
 
@@ -2483,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);
 }
@@ -2500,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;
@@ -2916,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);
 }
This page took 0.039283 seconds and 4 git commands to generate.