diff options
Diffstat (limited to 'net/ipv4/ipcomp.c')
-rw-r--r-- | net/ipv4/ipcomp.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index a0c28b2b756e..5bb9c9f03fb6 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
@@ -32,7 +32,7 @@ | |||
32 | 32 | ||
33 | struct ipcomp_tfms { | 33 | struct ipcomp_tfms { |
34 | struct list_head list; | 34 | struct list_head list; |
35 | struct crypto_tfm **tfms; | 35 | struct crypto_comp **tfms; |
36 | int users; | 36 | int users; |
37 | }; | 37 | }; |
38 | 38 | ||
@@ -46,7 +46,7 @@ static int ipcomp_decompress(struct xfrm_state *x, struct sk_buff *skb) | |||
46 | int err, plen, dlen; | 46 | int err, plen, dlen; |
47 | struct ipcomp_data *ipcd = x->data; | 47 | struct ipcomp_data *ipcd = x->data; |
48 | u8 *start, *scratch; | 48 | u8 *start, *scratch; |
49 | struct crypto_tfm *tfm; | 49 | struct crypto_comp *tfm; |
50 | int cpu; | 50 | int cpu; |
51 | 51 | ||
52 | plen = skb->len; | 52 | plen = skb->len; |
@@ -107,7 +107,7 @@ static int ipcomp_compress(struct xfrm_state *x, struct sk_buff *skb) | |||
107 | struct iphdr *iph = skb->nh.iph; | 107 | struct iphdr *iph = skb->nh.iph; |
108 | struct ipcomp_data *ipcd = x->data; | 108 | struct ipcomp_data *ipcd = x->data; |
109 | u8 *start, *scratch; | 109 | u8 *start, *scratch; |
110 | struct crypto_tfm *tfm; | 110 | struct crypto_comp *tfm; |
111 | int cpu; | 111 | int cpu; |
112 | 112 | ||
113 | ihlen = iph->ihl * 4; | 113 | ihlen = iph->ihl * 4; |
@@ -302,7 +302,7 @@ static void **ipcomp_alloc_scratches(void) | |||
302 | return scratches; | 302 | return scratches; |
303 | } | 303 | } |
304 | 304 | ||
305 | static void ipcomp_free_tfms(struct crypto_tfm **tfms) | 305 | static void ipcomp_free_tfms(struct crypto_comp **tfms) |
306 | { | 306 | { |
307 | struct ipcomp_tfms *pos; | 307 | struct ipcomp_tfms *pos; |
308 | int cpu; | 308 | int cpu; |
@@ -324,28 +324,28 @@ static void ipcomp_free_tfms(struct crypto_tfm **tfms) | |||
324 | return; | 324 | return; |
325 | 325 | ||
326 | for_each_possible_cpu(cpu) { | 326 | for_each_possible_cpu(cpu) { |
327 | struct crypto_tfm *tfm = *per_cpu_ptr(tfms, cpu); | 327 | struct crypto_comp *tfm = *per_cpu_ptr(tfms, cpu); |
328 | crypto_free_tfm(tfm); | 328 | crypto_free_comp(tfm); |
329 | } | 329 | } |
330 | free_percpu(tfms); | 330 | free_percpu(tfms); |
331 | } | 331 | } |
332 | 332 | ||
333 | static struct crypto_tfm **ipcomp_alloc_tfms(const char *alg_name) | 333 | static struct crypto_comp **ipcomp_alloc_tfms(const char *alg_name) |
334 | { | 334 | { |
335 | struct ipcomp_tfms *pos; | 335 | struct ipcomp_tfms *pos; |
336 | struct crypto_tfm **tfms; | 336 | struct crypto_comp **tfms; |
337 | int cpu; | 337 | int cpu; |
338 | 338 | ||
339 | /* This can be any valid CPU ID so we don't need locking. */ | 339 | /* This can be any valid CPU ID so we don't need locking. */ |
340 | cpu = raw_smp_processor_id(); | 340 | cpu = raw_smp_processor_id(); |
341 | 341 | ||
342 | list_for_each_entry(pos, &ipcomp_tfms_list, list) { | 342 | list_for_each_entry(pos, &ipcomp_tfms_list, list) { |
343 | struct crypto_tfm *tfm; | 343 | struct crypto_comp *tfm; |
344 | 344 | ||
345 | tfms = pos->tfms; | 345 | tfms = pos->tfms; |
346 | tfm = *per_cpu_ptr(tfms, cpu); | 346 | tfm = *per_cpu_ptr(tfms, cpu); |
347 | 347 | ||
348 | if (!strcmp(crypto_tfm_alg_name(tfm), alg_name)) { | 348 | if (!strcmp(crypto_comp_name(tfm), alg_name)) { |
349 | pos->users++; | 349 | pos->users++; |
350 | return tfms; | 350 | return tfms; |
351 | } | 351 | } |
@@ -359,12 +359,13 @@ static struct crypto_tfm **ipcomp_alloc_tfms(const char *alg_name) | |||
359 | INIT_LIST_HEAD(&pos->list); | 359 | INIT_LIST_HEAD(&pos->list); |
360 | list_add(&pos->list, &ipcomp_tfms_list); | 360 | list_add(&pos->list, &ipcomp_tfms_list); |
361 | 361 | ||
362 | pos->tfms = tfms = alloc_percpu(struct crypto_tfm *); | 362 | pos->tfms = tfms = alloc_percpu(struct crypto_comp *); |
363 | if (!tfms) | 363 | if (!tfms) |
364 | goto error; | 364 | goto error; |
365 | 365 | ||
366 | for_each_possible_cpu(cpu) { | 366 | for_each_possible_cpu(cpu) { |
367 | struct crypto_tfm *tfm = crypto_alloc_tfm(alg_name, 0); | 367 | struct crypto_comp *tfm = crypto_alloc_comp(alg_name, 0, |
368 | CRYPTO_ALG_ASYNC); | ||
368 | if (!tfm) | 369 | if (!tfm) |
369 | goto error; | 370 | goto error; |
370 | *per_cpu_ptr(tfms, cpu) = tfm; | 371 | *per_cpu_ptr(tfms, cpu) = tfm; |