From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Subject: [PATCH 2/2] mISDN: One function call less in mISDN_sock_sendmsg() after error detection Date: Mon, 16 Nov 2015 10:47:37 +0100 Message-ID: <5649A639.2040503@users.sourceforge.net> References: <5307CAA2.8060406@users.sourceforge.net> <530A086E.8010901@users.sourceforge.net> <530A72AA.3000601@users.sourceforge.net> <530B5FB6.6010207@users.sourceforge.net> <530C5E18.1020800@users.sourceforge.net> <530CD2C4.4050903@users.sourceforge.net> <530CF8FF.8080600@users.sourceforge.net> <530DD06F.4090703@users.sourceforge.net> <5317A59D.4@users.sourceforge.net> <5649A524.6030407@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall To: Karsten Keil , netdev@vger.kernel.org Return-path: In-Reply-To: <5649A524.6030407@users.sourceforge.net> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Markus Elfring Date: Mon, 16 Nov 2015 10:30:29 +0100 The kfree_skb() function was called in one case by the mISDN_sock_sendmsg() function during error handling even if a call of the _l2_alloc_skb() function returned a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring --- drivers/isdn/mISDN/socket.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c index edd16ef..430ac8c 100644 --- a/drivers/isdn/mISDN/socket.c +++ b/drivers/isdn/mISDN/socket.c @@ -200,7 +200,7 @@ mISDN_sock_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) skb = _l2_alloc_skb(len, GFP_KERNEL); if (!skb) - goto done; + goto release_socket; if (memcpy_from_msg(skb_put(skb, len), msg, len)) { err = -EFAULT; @@ -237,6 +237,7 @@ mISDN_sock_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) done: kfree_skb(skb); +release_socket: release_sock(sk); return err; } -- 2.6.2