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/ipv4/ipcomp.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/ipv4/ipcomp.c')
-rw-r--r-- | net/ipv4/ipcomp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index ca1b5fdb8d31..2c44a94c2135 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <asm/semaphore.h> | 17 | #include <asm/semaphore.h> |
18 | #include <linux/crypto.h> | 18 | #include <linux/crypto.h> |
19 | #include <linux/err.h> | ||
19 | #include <linux/pfkeyv2.h> | 20 | #include <linux/pfkeyv2.h> |
20 | #include <linux/percpu.h> | 21 | #include <linux/percpu.h> |
21 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
@@ -344,7 +345,7 @@ static struct crypto_comp **ipcomp_alloc_tfms(const char *alg_name) | |||
344 | for_each_possible_cpu(cpu) { | 345 | for_each_possible_cpu(cpu) { |
345 | struct crypto_comp *tfm = crypto_alloc_comp(alg_name, 0, | 346 | struct crypto_comp *tfm = crypto_alloc_comp(alg_name, 0, |
346 | CRYPTO_ALG_ASYNC); | 347 | CRYPTO_ALG_ASYNC); |
347 | if (!tfm) | 348 | if (IS_ERR(tfm)) |
348 | goto error; | 349 | goto error; |
349 | *per_cpu_ptr(tfms, cpu) = tfm; | 350 | *per_cpu_ptr(tfms, cpu) = tfm; |
350 | } | 351 | } |