[PATCH 62/81] net: sctp: sctp_endpoint_free: zero out secret key data
3.5.7.6 -stable review patch. If anyone has any objections, please let me know. -- From: Daniel Borkmann commit b5c37fe6e24eec194bb29d22fdd55d73bcc709bf upstream. On sctp_endpoint_destroy, previously used sensitive keying material should be zeroed out before the memory is returned, as we already do with e.g. auth keys when released. Signed-off-by: Daniel Borkmann Acked-by: Vlad Yasevich Signed-off-by: David S. Miller Signed-off-by: Herton Ronaldo Krzesinski --- net/sctp/endpointola.c |5 + 1 file changed, 5 insertions(+) diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c index 68a385d..58cd035 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c @@ -248,6 +248,8 @@ void sctp_endpoint_free(struct sctp_endpoint *ep) /* Final destructor for endpoint. */ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) { + int i; + SCTP_ASSERT(ep->base.dead, "Endpoint is not dead", return); /* Free up the HMAC transform. */ @@ -270,6 +272,9 @@ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) sctp_inq_free(>base.inqueue); sctp_bind_addr_free(>base.bind_addr); + for (i = 0; i < SCTP_HOW_MANY_SECRETS; ++i) + memset(>secret_key[i], 0, SCTP_SECRET_SIZE); + /* Remove and free the port */ if (sctp_sk(ep->base.sk)->bind_hash) sctp_put_port(ep->base.sk); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 62/81] net: sctp: sctp_endpoint_free: zero out secret key data
3.5.7.6 -stable review patch. If anyone has any objections, please let me know. -- From: Daniel Borkmann dbork...@redhat.com commit b5c37fe6e24eec194bb29d22fdd55d73bcc709bf upstream. On sctp_endpoint_destroy, previously used sensitive keying material should be zeroed out before the memory is returned, as we already do with e.g. auth keys when released. Signed-off-by: Daniel Borkmann dbork...@redhat.com Acked-by: Vlad Yasevich vyase...@redhat.com Signed-off-by: David S. Miller da...@davemloft.net Signed-off-by: Herton Ronaldo Krzesinski herton.krzesin...@canonical.com --- net/sctp/endpointola.c |5 + 1 file changed, 5 insertions(+) diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c index 68a385d..58cd035 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c @@ -248,6 +248,8 @@ void sctp_endpoint_free(struct sctp_endpoint *ep) /* Final destructor for endpoint. */ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) { + int i; + SCTP_ASSERT(ep-base.dead, Endpoint is not dead, return); /* Free up the HMAC transform. */ @@ -270,6 +272,9 @@ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) sctp_inq_free(ep-base.inqueue); sctp_bind_addr_free(ep-base.bind_addr); + for (i = 0; i SCTP_HOW_MANY_SECRETS; ++i) + memset(ep-secret_key[i], 0, SCTP_SECRET_SIZE); + /* Remove and free the port */ if (sctp_sk(ep-base.sk)-bind_hash) sctp_put_port(ep-base.sk); -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/