diff options
Diffstat (limited to 'net/ipv4/inet_fragment.c')
-rw-r--r-- | net/ipv4/inet_fragment.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c index 15054eb3d4b9..57e15fa307dc 100644 --- a/net/ipv4/inet_fragment.c +++ b/net/ipv4/inet_fragment.c | |||
@@ -209,3 +209,20 @@ struct inet_frag_queue *inet_frag_intern(struct inet_frag_queue *qp_in, | |||
209 | return qp; | 209 | return qp; |
210 | } | 210 | } |
211 | EXPORT_SYMBOL(inet_frag_intern); | 211 | EXPORT_SYMBOL(inet_frag_intern); |
212 | |||
213 | struct inet_frag_queue *inet_frag_alloc(struct inet_frags *f) | ||
214 | { | ||
215 | struct inet_frag_queue *q; | ||
216 | |||
217 | q = kzalloc(f->qsize, GFP_ATOMIC); | ||
218 | if (q == NULL) | ||
219 | return NULL; | ||
220 | |||
221 | atomic_add(f->qsize, &f->mem); | ||
222 | setup_timer(&q->timer, f->frag_expire, (unsigned long)q); | ||
223 | spin_lock_init(&q->lock); | ||
224 | atomic_set(&q->refcnt, 1); | ||
225 | |||
226 | return q; | ||
227 | } | ||
228 | EXPORT_SYMBOL(inet_frag_alloc); | ||