diff mbox series

crypto: user - fix memory leak in crypto_reportstat

Message ID 20191004193455.18348-1-navid.emamdoost@gmail.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series crypto: user - fix memory leak in crypto_reportstat | expand

Commit Message

Navid Emamdoost Oct. 4, 2019, 7:34 p.m. UTC
In crypto_reportstat, a new skb is created by nlmsg_new(). This skb is
leaked if crypto_reportstat_alg() fails. Required release for skb is
added.

Fixes: cac5818c25d0 ("crypto: user - Implement a generic crypto statistics")
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
---
 crypto/crypto_user_stat.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Markus Elfring Oct. 5, 2019, 3:27 p.m. UTC | #1
> In crypto_reportstat, a new skb is created by nlmsg_new(). This skb is
> leaked if crypto_reportstat_alg() fails. Required release for skb is
> added.

Please improve this change description.

Regards,
Markus
Herbert Xu Oct. 10, 2019, 12:58 p.m. UTC | #2
On Fri, Oct 04, 2019 at 02:34:54PM -0500, Navid Emamdoost wrote:
> In crypto_reportstat, a new skb is created by nlmsg_new(). This skb is
> leaked if crypto_reportstat_alg() fails. Required release for skb is
> added.
> 
> Fixes: cac5818c25d0 ("crypto: user - Implement a generic crypto statistics")
> Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
> ---
>  crypto/crypto_user_stat.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/crypto/crypto_user_stat.c b/crypto/crypto_user_stat.c
index 8bad88413de1..1be95432fa23 100644
--- a/crypto/crypto_user_stat.c
+++ b/crypto/crypto_user_stat.c
@@ -328,8 +328,10 @@  int crypto_reportstat(struct sk_buff *in_skb, struct nlmsghdr *in_nlh,
 drop_alg:
 	crypto_mod_put(alg);
 
-	if (err)
+	if (err) {
+		kfree_skb(skb);
 		return err;
+	}
 
 	return nlmsg_unicast(net->crypto_nlsk, skb, NETLINK_CB(in_skb).portid);
 }