sctp: drop the old assoc hashtable of sctp
[cascardo/linux.git] / net / sctp / protocol.c
index 631cfb3..ab0d538 100644 (file)
@@ -1416,24 +1416,6 @@ static __init int sctp_init(void)
        for (order = 0; (1UL << order) < goal; order++)
                ;
 
-       do {
-               sctp_assoc_hashsize = (1UL << order) * PAGE_SIZE /
-                                       sizeof(struct sctp_hashbucket);
-               if ((sctp_assoc_hashsize > (64 * 1024)) && order > 0)
-                       continue;
-               sctp_assoc_hashtable = (struct sctp_hashbucket *)
-                       __get_free_pages(GFP_KERNEL | __GFP_NOWARN, order);
-       } while (!sctp_assoc_hashtable && --order > 0);
-       if (!sctp_assoc_hashtable) {
-               pr_err("Failed association hash alloc\n");
-               status = -ENOMEM;
-               goto err_ahash_alloc;
-       }
-       for (i = 0; i < sctp_assoc_hashsize; i++) {
-               rwlock_init(&sctp_assoc_hashtable[i].lock);
-               INIT_HLIST_HEAD(&sctp_assoc_hashtable[i].chain);
-       }
-
        /* Allocate and initialize the endpoint hash table.  */
        sctp_ep_hashsize = 64;
        sctp_ep_hashtable =
@@ -1470,8 +1452,7 @@ static __init int sctp_init(void)
        if (sctp_transport_hashtable_init())
                goto err_thash_alloc;
 
-       pr_info("Hash tables configured (established %d bind %d)\n",
-               sctp_assoc_hashsize, sctp_port_hashsize);
+       pr_info("Hash tables configured (bind %d)\n", sctp_port_hashsize);
 
        sctp_sysctl_register();
 
@@ -1528,10 +1509,6 @@ err_bhash_alloc:
 err_thash_alloc:
        kfree(sctp_ep_hashtable);
 err_ehash_alloc:
-       free_pages((unsigned long)sctp_assoc_hashtable,
-                  get_order(sctp_assoc_hashsize *
-                            sizeof(struct sctp_hashbucket)));
-err_ahash_alloc:
        percpu_counter_destroy(&sctp_sockets_allocated);
 err_percpu_counter_init:
        kmem_cache_destroy(sctp_chunk_cachep);
@@ -1565,13 +1542,10 @@ static __exit void sctp_exit(void)
 
        sctp_sysctl_unregister();
 
-       free_pages((unsigned long)sctp_assoc_hashtable,
-                  get_order(sctp_assoc_hashsize *
-                            sizeof(struct sctp_hashbucket)));
-       kfree(sctp_ep_hashtable);
        free_pages((unsigned long)sctp_port_hashtable,
                   get_order(sctp_port_hashsize *
                             sizeof(struct sctp_bind_hashbucket)));
+       kfree(sctp_ep_hashtable);
        sctp_transport_hashtable_destroy();
 
        percpu_counter_destroy(&sctp_sockets_allocated);