]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/core/flow.c
[NET]: Use SLAB_PANIC
[net-next-2.6.git] / net / core / flow.c
index 2191af5f26acbfe61f6e1633de7d40cfbd83c27c..f23e7e38654319682cd2f92d8feadf5c172615f1 100644 (file)
@@ -32,7 +32,6 @@ struct flow_cache_entry {
        u8                      dir;
        struct flowi            key;
        u32                     genid;
-       u32                     sk_sid;
        void                    *object;
        atomic_t                *object_ref;
 };
@@ -165,7 +164,7 @@ static int flow_key_compare(struct flowi *key1, struct flowi *key2)
        return 0;
 }
 
-void *flow_cache_lookup(struct flowi *key, u32 sk_sid, u16 family, u8 dir,
+void *flow_cache_lookup(struct flowi *key, u16 family, u8 dir,
                        flow_resolve_t resolver)
 {
        struct flow_cache_entry *fle, **head;
@@ -189,7 +188,6 @@ void *flow_cache_lookup(struct flowi *key, u32 sk_sid, u16 family, u8 dir,
        for (fle = *head; fle; fle = fle->next) {
                if (fle->family == family &&
                    fle->dir == dir &&
-                   fle->sk_sid == sk_sid &&
                    flow_key_compare(key, &fle->key) == 0) {
                        if (fle->genid == atomic_read(&flow_cache_genid)) {
                                void *ret = fle->object;
@@ -214,7 +212,6 @@ void *flow_cache_lookup(struct flowi *key, u32 sk_sid, u16 family, u8 dir,
                        *head = fle;
                        fle->family = family;
                        fle->dir = dir;
-                       fle->sk_sid = sk_sid;
                        memcpy(&fle->key, key, sizeof(*key));
                        fle->object = NULL;
                        flow_count(cpu)++;
@@ -226,7 +223,7 @@ nocache:
                void *obj;
                atomic_t *obj_ref;
 
-               resolver(key, sk_sid, family, dir, &obj, &obj_ref);
+               resolver(key, family, dir, &obj, &obj_ref);
 
                if (fle) {
                        fle->genid = atomic_read(&flow_cache_genid);
@@ -346,12 +343,8 @@ static int __init flow_cache_init(void)
 
        flow_cachep = kmem_cache_create("flow_cache",
                                        sizeof(struct flow_cache_entry),
-                                       0, SLAB_HWCACHE_ALIGN,
+                                       0, SLAB_HWCACHE_ALIGN|SLAB_PANIC,
                                        NULL, NULL);
-
-       if (!flow_cachep)
-               panic("NET: failed to allocate flow cache slab\n");
-
        flow_hash_shift = 10;
        flow_lwm = 2 * flow_hash_size;
        flow_hwm = 4 * flow_hash_size;