diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-11-07 05:21:47 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-11-07 07:15:03 -0500 |
commit | 4999f3621f4da622e77931b3d33ada6c7083c705 (patch) | |
tree | ffa9bb7dca58a314303fa6f3bc33c60fb92204ff /net/ipv6/ipcomp6.c | |
parent | fffe470a803e7f7b74c016291e542a0162761209 (diff) |
[IPSEC]: Fix crypto_alloc_comp error checking
The function crypto_alloc_comp returns an errno instead of NULL
to indicate error. So it needs to be tested with IS_ERR.
This is based on a patch by Vicenç Beltran Querol.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ipcomp6.c')
-rw-r--r-- | net/ipv6/ipcomp6.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/ipcomp6.c b/net/ipv6/ipcomp6.c index 85eb4798d8d2..0cd4056f9127 100644 --- a/net/ipv6/ipcomp6.c +++ b/net/ipv6/ipcomp6.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <net/ipcomp.h> | 36 | #include <net/ipcomp.h> |
37 | #include <asm/semaphore.h> | 37 | #include <asm/semaphore.h> |
38 | #include <linux/crypto.h> | 38 | #include <linux/crypto.h> |
39 | #include <linux/err.h> | ||
39 | #include <linux/pfkeyv2.h> | 40 | #include <linux/pfkeyv2.h> |
40 | #include <linux/random.h> | 41 | #include <linux/random.h> |
41 | #include <linux/percpu.h> | 42 | #include <linux/percpu.h> |
@@ -358,7 +359,7 @@ static struct crypto_comp **ipcomp6_alloc_tfms(const char *alg_name) | |||
358 | for_each_possible_cpu(cpu) { | 359 | for_each_possible_cpu(cpu) { |
359 | struct crypto_comp *tfm = crypto_alloc_comp(alg_name, 0, | 360 | struct crypto_comp *tfm = crypto_alloc_comp(alg_name, 0, |
360 | CRYPTO_ALG_ASYNC); | 361 | CRYPTO_ALG_ASYNC); |
361 | if (!tfm) | 362 | if (IS_ERR(tfm)) |
362 | goto error; | 363 | goto error; |
363 | *per_cpu_ptr(tfms, cpu) = tfm; | 364 | *per_cpu_ptr(tfms, cpu) = tfm; |
364 | } | 365 | } |