Since the patch to add a NULL short-circuit to crypto_free_tfm() went in,
there's no longer any need for callers of that function to check for NULL.
This patch removes the redundant NULL checks and also a few similar checks
for NULL before calls to kfree() that I ran into while doing the
crypto_free_tfm bits.
I've posted similar patches in the past, but was asked to first until the
short-circuit patch moved from -mm to mainline - and since it is now
firmly there in 2.6.13 I assume there's no problem there anymore.
I was also asked previously to make the patch against mainline and not -mm,
so this patch is against 2.6.13.
Feedback, ACK, NACK, etc welcome.
Sorry about the large Cc list, but I wanted to include everyone involved
with the code I change.
Please keep me on Cc.
Signed-off-by: Jesper Juhl [EMAIL PROTECTED]
---
./drivers/net/wireless/airo.c |3 +--
./fs/nfsd/nfs4recover.c |3 +--
./net/ipv4/ah4.c| 18 ++
./net/ipv4/esp4.c | 24
./net/ipv4/ipcomp.c |3 +--
./net/ipv6/addrconf.c |6 ++
./net/ipv6/ah6.c| 18 ++
./net/ipv6/esp6.c | 24
./net/ipv6/ipcomp6.c|3 +--
./net/sctp/socket.c |3 +--
./net/sunrpc/auth_gss/gss_krb5_crypto.c |3 +--
./net/sunrpc/auth_gss/gss_krb5_mech.c |9 +++--
./net/sunrpc/auth_gss/gss_spkm3_mech.c | 12
13 files changed, 43 insertions(+), 86 deletions(-)
--- linux-2.6.13-orig/./drivers/net/wireless/airo.c 2005-08-29
01:41:01.0 +0200
+++ linux-2.6.13/./drivers/net/wireless/airo.c 2005-08-30 18:08:15.0
+0200
@@ -2403,8 +2403,7 @@ void stop_airo_card( struct net_device *
}
}
#ifdef MICSUPPORT
- if (ai-tfm)
- crypto_free_tfm(ai-tfm);
+ crypto_free_tfm(ai-tfm);
#endif
del_airo_dev( dev );
free_netdev( dev );
--- linux-2.6.13-orig/./fs/nfsd/nfs4recover.c 2005-08-29 01:41:01.0
+0200
+++ linux-2.6.13/./fs/nfsd/nfs4recover.c2005-08-30 18:08:25.0
+0200
@@ -114,8 +114,7 @@ nfs4_make_rec_clidname(char *dname, stru
kfree(cksum.data);
status = nfs_ok;
out:
- if (tfm)
- crypto_free_tfm(tfm);
+ crypto_free_tfm(tfm);
return status;
}
--- linux-2.6.13-orig/./net/ipv4/ah4.c 2005-08-29 01:41:01.0 +0200
+++ linux-2.6.13/./net/ipv4/ah4.c 2005-08-30 18:10:10.0 +0200
@@ -263,10 +263,8 @@ static int ah_init_state(struct xfrm_sta
error:
if (ahp) {
- if (ahp-work_icv)
- kfree(ahp-work_icv);
- if (ahp-tfm)
- crypto_free_tfm(ahp-tfm);
+ kfree(ahp-work_icv);
+ crypto_free_tfm(ahp-tfm);
kfree(ahp);
}
return -EINVAL;
@@ -279,14 +277,10 @@ static void ah_destroy(struct xfrm_state
if (!ahp)
return;
- if (ahp-work_icv) {
- kfree(ahp-work_icv);
- ahp-work_icv = NULL;
- }
- if (ahp-tfm) {
- crypto_free_tfm(ahp-tfm);
- ahp-tfm = NULL;
- }
+ kfree(ahp-work_icv);
+ ahp-work_icv = NULL;
+ crypto_free_tfm(ahp-tfm);
+ ahp-tfm = NULL;
kfree(ahp);
}
--- linux-2.6.13-orig/./net/ipv4/esp4.c 2005-08-29 01:41:01.0 +0200
+++ linux-2.6.13/./net/ipv4/esp4.c 2005-08-30 18:10:49.0 +0200
@@ -343,22 +343,14 @@ static void esp_destroy(struct xfrm_stat
if (!esp)
return;
- if (esp-conf.tfm) {
- crypto_free_tfm(esp-conf.tfm);
- esp-conf.tfm = NULL;
- }
- if (esp-conf.ivec) {
- kfree(esp-conf.ivec);
- esp-conf.ivec = NULL;
- }
- if (esp-auth.tfm) {
- crypto_free_tfm(esp-auth.tfm);
- esp-auth.tfm = NULL;
- }
- if (esp-auth.work_icv) {
- kfree(esp-auth.work_icv);
- esp-auth.work_icv = NULL;
- }
+ crypto_free_tfm(esp-conf.tfm);
+ esp-conf.tfm = NULL;
+ kfree(esp-conf.ivec);
+ esp-conf.ivec = NULL;
+ crypto_free_tfm(esp-auth.tfm);
+ esp-auth.tfm = NULL;
+ kfree(esp-auth.work_icv);
+ esp-auth.work_icv = NULL;
kfree(esp);
}
--- linux-2.6.13-orig/./net/ipv4/ipcomp.c 2005-08-29 01:41:01.0
+0200
+++ linux-2.6.13/./net/ipv4/ipcomp.c2005-08-30 18:11:14.0 +0200
@@ -345,8 +345,7 @@ static void ipcomp_free_tfms(struct cryp
for_each_cpu(cpu) {
struct crypto_tfm *tfm = *per_cpu_ptr(tfms, cpu);
- if (tfm)
- crypto_free_tfm(tfm);
+ crypto_free_tfm(tfm);
}