From: Jia-Ju Bai Date: Mon, 8 Mar 2021 09:13:55 +0000 (-0800) Subject: net: qrtr: fix error return code of qrtr_sendmsg() X-Git-Tag: v4.19.181~92 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e8c9b54ff89e3d379a42fa4b5e37e56a96ea0cab;p=thirdparty%2Fkernel%2Fstable.git net: qrtr: fix error return code of qrtr_sendmsg() commit 179d0ba0c454057a65929c46af0d6ad986754781 upstream. When sock_alloc_send_skb() returns NULL to skb, no error return code of qrtr_sendmsg() is assigned. To fix this bug, rc is assigned with -ENOMEM in this case. Fixes: 194ccc88297a ("net: qrtr: Support decoding incoming v2 packets") Reported-by: TOTE Robot Signed-off-by: Jia-Ju Bai Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index 69cf9cbbb05f6..8f3e1f0a1781d 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -797,8 +797,10 @@ static int qrtr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) plen = (len + 3) & ~3; skb = sock_alloc_send_skb(sk, plen + QRTR_HDR_MAX_SIZE, msg->msg_flags & MSG_DONTWAIT, &rc); - if (!skb) + if (!skb) { + rc = -ENOMEM; goto out_node; + } skb_reserve(skb, QRTR_HDR_MAX_SIZE);