From: Navid Emamdoost Date: Fri, 22 Nov 2019 22:17:56 +0000 (-0600) Subject: sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook X-Git-Tag: android-x86-9.0-r1~4^2~67^2~38 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=681e08498e5e7e051ba1fedf815509f56ef31c4f;p=android-x86%2Fkernel.git sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook [ Upstream commit b6631c6031c746ed004c4221ec0616d7a520f441 ] In the implementation of sctp_sf_do_5_2_4_dupcook() the allocated new_asoc is leaked if security_sctp_assoc_request() fails. Release it via sctp_association_free(). Fixes: 2277c7cd75e3 ("sctp: Add LSM hooks") Signed-off-by: Navid Emamdoost Acked-by: Marcelo Ricardo Leitner Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index 713a669d2058..559f09ac0b22 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c @@ -2175,8 +2175,10 @@ enum sctp_disposition sctp_sf_do_5_2_4_dupcook( /* Update socket peer label if first association. */ if (security_sctp_assoc_request((struct sctp_endpoint *)ep, - chunk->skb)) + chunk->skb)) { + sctp_association_free(new_asoc); return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); + } /* Set temp so that it won't be added into hashtable */ new_asoc->temp = 1;