Loading net/qrtr/qrtr.c +12 −6 Original line number Diff line number Diff line Loading @@ -1741,16 +1741,20 @@ static int qrtr_recvmsg(struct socket *sock, struct msghdr *msg, struct qrtr_cb *cb; int copied, rc; lock_sock(sk); if (sock_flag(sk, SOCK_ZAPPED)) if (sock_flag(sk, SOCK_ZAPPED)) { release_sock(sk); pr_err("%s: Invalid addr error\n", __func__); return -EADDRNOTAVAIL; } skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, flags & MSG_DONTWAIT, &rc); if (!skb) if (!skb) { release_sock(sk); pr_err("%s: Failed to get skb rc[%d]\n", __func__, rc); return rc; lock_sock(sk); } cb = (struct qrtr_cb *)skb->cb; copied = skb->len; Loading @@ -1760,8 +1764,10 @@ static int qrtr_recvmsg(struct socket *sock, struct msghdr *msg, } rc = skb_copy_datagram_msg(skb, 0, msg, copied); if (rc < 0) if (rc < 0) { pr_err("%s: Failed to copy skb rc[%d]\n", __func__, rc); goto out; } rc = copied; if (addr) { Loading Loading
net/qrtr/qrtr.c +12 −6 Original line number Diff line number Diff line Loading @@ -1741,16 +1741,20 @@ static int qrtr_recvmsg(struct socket *sock, struct msghdr *msg, struct qrtr_cb *cb; int copied, rc; lock_sock(sk); if (sock_flag(sk, SOCK_ZAPPED)) if (sock_flag(sk, SOCK_ZAPPED)) { release_sock(sk); pr_err("%s: Invalid addr error\n", __func__); return -EADDRNOTAVAIL; } skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, flags & MSG_DONTWAIT, &rc); if (!skb) if (!skb) { release_sock(sk); pr_err("%s: Failed to get skb rc[%d]\n", __func__, rc); return rc; lock_sock(sk); } cb = (struct qrtr_cb *)skb->cb; copied = skb->len; Loading @@ -1760,8 +1764,10 @@ static int qrtr_recvmsg(struct socket *sock, struct msghdr *msg, } rc = skb_copy_datagram_msg(skb, 0, msg, copied); if (rc < 0) if (rc < 0) { pr_err("%s: Failed to copy skb rc[%d]\n", __func__, rc); goto out; } rc = copied; if (addr) { Loading