diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-04-15 03:27:17 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-15 14:11:37 -0400 |
commit | ff2266cddd69f5e0c9d5121ed9218d2f694406cc (patch) | |
tree | f8d3a419ff1413613a1f05d790cac7dffc75dbc4 /net/sctp/endpointola.c | |
parent | 1e8edc2ab35da30b08b008c26822ec956052bf4b (diff) |
net: sctp: remove sctp_ep_common struct member 'malloced'
There is actually no need to keep this member in the structure, because
after init it's always 1 anyway, thus always kfree called. This seems to
be an ancient leftover from the very initial implementation from 2.5
times. Only in case the initialization of an association fails, we leave
base.malloced as 0, but we nevertheless kfree it in the error path in
sctp_association_new().
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/endpointola.c')
-rw-r--r-- | net/sctp/endpointola.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c index 12ed45dbe75d..46bbfc266efc 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c @@ -122,7 +122,6 @@ static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep, /* Initialize the basic object fields. */ atomic_set(&ep->base.refcnt, 1); ep->base.dead = 0; - ep->base.malloced = 1; /* Create an input queue. */ sctp_inq_init(&ep->base.inqueue); @@ -198,7 +197,7 @@ struct sctp_endpoint *sctp_endpoint_new(struct sock *sk, gfp_t gfp) goto fail; if (!sctp_endpoint_init(ep, sk, gfp)) goto fail_init; - ep->base.malloced = 1; + SCTP_DBG_OBJCNT_INC(ep); return ep; @@ -279,11 +278,8 @@ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) if (ep->base.sk) sock_put(ep->base.sk); - /* Finally, free up our memory. */ - if (ep->base.malloced) { - kfree(ep); - SCTP_DBG_OBJCNT_DEC(ep); - } + kfree(ep); + SCTP_DBG_OBJCNT_DEC(ep); } /* Hold a reference to an endpoint. */ |