aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/associola.c
diff options
context:
space:
mode:
authorDaniel Borkmann <dborkman@redhat.com>2013-04-14 23:27:17 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-15 14:11:37 -0400
commitff2266cddd69f5e0c9d5121ed9218d2f694406cc (patch)
treef8d3a419ff1413613a1f05d790cac7dffc75dbc4 /net/sctp/associola.c
parent1e8edc2ab35da30b08b008c26822ec956052bf4b (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/associola.c')
-rw-r--r--net/sctp/associola.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index d2709e2b7be6..b893aa6862f4 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -105,7 +105,6 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a
105 /* Initialize the object handling fields. */ 105 /* Initialize the object handling fields. */
106 atomic_set(&asoc->base.refcnt, 1); 106 atomic_set(&asoc->base.refcnt, 1);
107 asoc->base.dead = 0; 107 asoc->base.dead = 0;
108 asoc->base.malloced = 0;
109 108
110 /* Initialize the bind addr area. */ 109 /* Initialize the bind addr area. */
111 sctp_bind_addr_init(&asoc->base.bind_addr, ep->base.bind_addr.port); 110 sctp_bind_addr_init(&asoc->base.bind_addr, ep->base.bind_addr.port);
@@ -371,7 +370,6 @@ struct sctp_association *sctp_association_new(const struct sctp_endpoint *ep,
371 if (!sctp_association_init(asoc, ep, sk, scope, gfp)) 370 if (!sctp_association_init(asoc, ep, sk, scope, gfp))
372 goto fail_init; 371 goto fail_init;
373 372
374 asoc->base.malloced = 1;
375 SCTP_DBG_OBJCNT_INC(assoc); 373 SCTP_DBG_OBJCNT_INC(assoc);
376 SCTP_DEBUG_PRINTK("Created asoc %p\n", asoc); 374 SCTP_DEBUG_PRINTK("Created asoc %p\n", asoc);
377 375
@@ -484,10 +482,8 @@ static void sctp_association_destroy(struct sctp_association *asoc)
484 482
485 WARN_ON(atomic_read(&asoc->rmem_alloc)); 483 WARN_ON(atomic_read(&asoc->rmem_alloc));
486 484
487 if (asoc->base.malloced) { 485 kfree(asoc);
488 kfree(asoc); 486 SCTP_DBG_OBJCNT_DEC(assoc);
489 SCTP_DBG_OBJCNT_DEC(assoc);
490 }
491} 487}
492 488
493/* Change the primary destination address for the peer. */ 489/* Change the primary destination address for the peer. */