linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/39] drop null test before destroy functions
@ 2015-09-13 12:14 Julia Lawall
  2015-09-13 12:15 ` [PATCH 14/39] SUNRPC: " Julia Lawall
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Julia Lawall @ 2015-09-13 12:14 UTC (permalink / raw)
  To: iommu, dccp, dri-devel, intel-gfx, ecryptfs, dmaengine
  Cc: sergey.senozhatsky, kernel-janitors, Dan Williams, cluster-devel,
	intel-wired-lan, Mitch Williams, John Ronciak, Matthew Vick,
	Don Skidmore, Carolyn Wyborny, Shannon Nelson, Jesse Brandeburg,
	linux-nfs, linux-raid, netdev, linux-atm-general, linux-btrfs,
	linux-nilfs, linux-kernel, linux-mtd, linux-usb, linux-ext4,
	linux-rdma, devel, HPDD-discuss, linux-bcache, drbd-user,
	ocfs2-devel, kvm, ceph-devel, Chao Yu, linux-f2fs-devel

Recent commits to kernel/git/torvalds/linux.git have made the following
functions able to tolerate NULL arguments:

kmem_cache_destroy (commit 3942d29918522)
mempool_destroy (commit 4e3ca3e033d1)
dma_pool_destroy (commit 44d7175da6ea)

These patches remove the associated NULL tests for the files that I found
easy to compile test.  If these changes are OK, I will address the
remainder later.

---

 arch/x86/kvm/mmu.c                                 |    6 --
 block/bio-integrity.c                              |    7 --
 block/bio.c                                        |    7 --
 block/blk-core.c                                   |    3 -
 block/elevator.c                                   |    3 -
 drivers/atm/he.c                                   |    7 --
 drivers/block/aoe/aoedev.c                         |    3 -
 drivers/block/drbd/drbd_main.c                     |   21 ++-----
 drivers/block/pktcdvd.c                            |    3 -
 drivers/block/rbd.c                                |    6 --
 drivers/dma/dmaengine.c                            |    6 --
 drivers/firmware/google/gsmi.c                     |    3 -
 drivers/gpu/drm/i915/i915_dma.c                    |   19 ++----
 drivers/iommu/amd_iommu_init.c                     |    7 --
 drivers/md/bcache/bset.c                           |    3 -
 drivers/md/bcache/request.c                        |    3 -
 drivers/md/bcache/super.c                          |    9 +--
 drivers/md/dm-bufio.c                              |    3 -
 drivers/md/dm-cache-target.c                       |    3 -
 drivers/md/dm-crypt.c                              |    6 --
 drivers/md/dm-io.c                                 |    3 -
 drivers/md/dm-log-userspace-base.c                 |    3 -
 drivers/md/dm-region-hash.c                        |    4 -
 drivers/md/dm.c                                    |   13 +---
 drivers/md/multipath.c                             |    3 -
 drivers/md/raid1.c                                 |    6 --
 drivers/md/raid10.c                                |    9 +--
 drivers/md/raid5.c                                 |    3 -
 drivers/mtd/nand/nandsim.c                         |    3 -
 drivers/mtd/ubi/attach.c                           |    4 -
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c      |    3 -
 drivers/staging/lustre/lustre/llite/super25.c      |   16 +----
 drivers/staging/lustre/lustre/obdclass/genops.c    |   24 ++------
 drivers/staging/lustre/lustre/obdclass/lu_object.c |    6 --
 drivers/staging/rdma/hfi1/user_sdma.c              |    3 -
 drivers/thunderbolt/ctl.c                          |    3 -
 drivers/usb/gadget/udc/bdc/bdc_core.c              |    3 -
 drivers/usb/gadget/udc/gr_udc.c                    |    3 -
 drivers/usb/gadget/udc/mv_u3d_core.c               |    3 -
 drivers/usb/gadget/udc/mv_udc_core.c               |    3 -
 drivers/usb/host/fotg210-hcd.c                     |   12 +---
 drivers/usb/host/fusbh200-hcd.c                    |   12 +---
 drivers/usb/host/whci/init.c                       |    3 -
 drivers/usb/host/xhci-mem.c                        |   12 +---
 fs/btrfs/backref.c                                 |    3 -
 fs/btrfs/delayed-inode.c                           |    3 -
 fs/btrfs/delayed-ref.c                             |   12 +---
 fs/btrfs/disk-io.c                                 |    3 -
 fs/btrfs/extent_io.c                               |    6 --
 fs/btrfs/extent_map.c                              |    3 -
 fs/btrfs/file.c                                    |    3 -
 fs/btrfs/inode.c                                   |   18 ++----
 fs/btrfs/ordered-data.c                            |    3 -
 fs/dlm/memory.c                                    |    6 --
 fs/ecryptfs/main.c                                 |    3 -
 fs/ext4/crypto.c                                   |    9 +--
 fs/ext4/extents_status.c                           |    3 -
 fs/ext4/mballoc.c                                  |    3 -
 fs/f2fs/crypto.c                                   |    9 +--
 fs/gfs2/main.c                                     |   29 ++--------
 fs/jbd2/journal.c                                  |   15 +----
 fs/jbd2/revoke.c                                   |   12 +---
 fs/jbd2/transaction.c                              |    6 --
 fs/jffs2/malloc.c                                  |   27 +++------
 fs/nfsd/nfscache.c                                 |    6 --
 fs/nilfs2/super.c                                  |   12 +---
 fs/ocfs2/dlm/dlmlock.c                             |    3 -
 fs/ocfs2/dlm/dlmmaster.c                           |   16 +----
 fs/ocfs2/super.c                                   |   18 ++----
 fs/ocfs2/uptodate.c                                |    3 -
 lib/debugobjects.c                                 |    3 -
 net/core/sock.c                                    |   12 +---
 net/dccp/ackvec.c                                  |   12 +---
 net/dccp/ccid.c                                    |    3 -
 net/sunrpc/sched.c                                 |   12 +---
 75 files changed, 180 insertions(+), 381 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 14/39] SUNRPC: drop null test before destroy functions
  2015-09-13 12:14 [PATCH 00/39] drop null test before destroy functions Julia Lawall
@ 2015-09-13 12:15 ` Julia Lawall
  2015-09-14 16:07   ` J. Bruce Fields
  2015-09-13 12:15 ` [PATCH 22/39] nfsd: " Julia Lawall
  2015-09-14 11:55 ` [PATCH 00/39] " SF Markus Elfring
  2 siblings, 1 reply; 7+ messages in thread
From: Julia Lawall @ 2015-09-13 12:15 UTC (permalink / raw)
  To: J. Bruce Fields
  Cc: sergey.senozhatsky, kernel-janitors, Jeff Layton, Trond Myklebust,
	Anna Schumaker, David S. Miller, linux-nfs, netdev, linux-kernel

Remove unneeded NULL test.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@ expression x; @@
-if (x != NULL)
  \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
 net/sunrpc/sched.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index b140c09..425ca2f 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -1092,14 +1092,10 @@ void
 rpc_destroy_mempool(void)
 {
 	rpciod_stop();
-	if (rpc_buffer_mempool)
-		mempool_destroy(rpc_buffer_mempool);
-	if (rpc_task_mempool)
-		mempool_destroy(rpc_task_mempool);
-	if (rpc_task_slabp)
-		kmem_cache_destroy(rpc_task_slabp);
-	if (rpc_buffer_slabp)
-		kmem_cache_destroy(rpc_buffer_slabp);
+	mempool_destroy(rpc_buffer_mempool);
+	mempool_destroy(rpc_task_mempool);
+	kmem_cache_destroy(rpc_task_slabp);
+	kmem_cache_destroy(rpc_buffer_slabp);
 	rpc_destroy_wait_queue(&delay_queue);
 }
 


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 22/39] nfsd: drop null test before destroy functions
  2015-09-13 12:14 [PATCH 00/39] drop null test before destroy functions Julia Lawall
  2015-09-13 12:15 ` [PATCH 14/39] SUNRPC: " Julia Lawall
@ 2015-09-13 12:15 ` Julia Lawall
  2015-09-14 16:06   ` J. Bruce Fields
  2015-09-14 11:55 ` [PATCH 00/39] " SF Markus Elfring
  2 siblings, 1 reply; 7+ messages in thread
From: Julia Lawall @ 2015-09-13 12:15 UTC (permalink / raw)
  To: J. Bruce Fields
  Cc: sergey.senozhatsky, kernel-janitors, Jeff Layton, linux-nfs,
	linux-kernel

Remove unneeded NULL test.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@ expression x; @@
-if (x != NULL) {
  \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
  x = NULL;
-}
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
 fs/nfsd/nfscache.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
index 46ec934..116940c 100644
--- a/fs/nfsd/nfscache.c
+++ b/fs/nfsd/nfscache.c
@@ -217,10 +217,8 @@ void nfsd_reply_cache_shutdown(void)
 	drc_hashtbl = NULL;
 	drc_hashsize = 0;
 
-	if (drc_slab) {
-		kmem_cache_destroy(drc_slab);
-		drc_slab = NULL;
-	}
+	kmem_cache_destroy(drc_slab);
+	drc_slab = NULL;
 }
 
 /*


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 00/39] drop null test before destroy functions
  2015-09-13 12:14 [PATCH 00/39] drop null test before destroy functions Julia Lawall
  2015-09-13 12:15 ` [PATCH 14/39] SUNRPC: " Julia Lawall
  2015-09-13 12:15 ` [PATCH 22/39] nfsd: " Julia Lawall
@ 2015-09-14 11:55 ` SF Markus Elfring
  2 siblings, 0 replies; 7+ messages in thread
From: SF Markus Elfring @ 2015-09-14 11:55 UTC (permalink / raw)
  To: Julia Lawall, kernel-janitors
  Cc: iommu, dccp, dri-devel, intel-gfx, ecryptfs, dmaengine,
	sergey.senozhatsky, Dan Williams, cluster-devel, intel-wired-lan,
	Mitch Williams, John Ronciak, Matthew Vick, Don Skidmore,
	Carolyn Wyborny, Shannon Nelson, Jesse Brandeburg, linux-nfs,
	linux-raid, netdev, linux-atm-general, linux-btrfs, linux-nilfs,
	linux-kernel, linux-mtd, linux-usb, linux-ext4, linux-rdma, devel,
	HPDD-discuss, linux-bcache, drbd-user, ocfs2-devel, kvm,
	ceph-devel, Chao Yu, linux-f2fs-devel

> Recent commits to kernel/git/torvalds/linux.git have made the following
> functions able to tolerate NULL arguments:
>
> kmem_cache_destroy (commit 3942d29918522)
> mempool_destroy (commit 4e3ca3e033d1)
> dma_pool_destroy (commit 44d7175da6ea)

How do you think about to extend an other SmPL script?

Related topic:
scripts/coccinelle/free: Delete NULL test before freeing functions
https://systeme.lip6.fr/pipermail/cocci/2015-May/001960.html
https://www.mail-archive.com/cocci@systeme.lip6.fr/msg01855.html


> If these changes are OK, I will address the remainder later.

Would anybody like to reuse my general SmPL approach for similar source
code clean-up?

Regards,
Markus

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 22/39] nfsd: drop null test before destroy functions
  2015-09-13 12:15 ` [PATCH 22/39] nfsd: " Julia Lawall
@ 2015-09-14 16:06   ` J. Bruce Fields
  0 siblings, 0 replies; 7+ messages in thread
From: J. Bruce Fields @ 2015-09-14 16:06 UTC (permalink / raw)
  To: Julia Lawall
  Cc: sergey.senozhatsky, kernel-janitors, Jeff Layton, linux-nfs,
	linux-kernel

Thanks, applying.--b.

On Sun, Sep 13, 2015 at 02:15:15PM +0200, Julia Lawall wrote:
> Remove unneeded NULL test.
> 
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @@ expression x; @@
> -if (x != NULL) {
>   \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
>   x = NULL;
> -}
> // </smpl>
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> ---
>  fs/nfsd/nfscache.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
> index 46ec934..116940c 100644
> --- a/fs/nfsd/nfscache.c
> +++ b/fs/nfsd/nfscache.c
> @@ -217,10 +217,8 @@ void nfsd_reply_cache_shutdown(void)
>  	drc_hashtbl = NULL;
>  	drc_hashsize = 0;
>  
> -	if (drc_slab) {
> -		kmem_cache_destroy(drc_slab);
> -		drc_slab = NULL;
> -	}
> +	kmem_cache_destroy(drc_slab);
> +	drc_slab = NULL;
>  }
>  
>  /*

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 14/39] SUNRPC: drop null test before destroy functions
  2015-09-13 12:15 ` [PATCH 14/39] SUNRPC: " Julia Lawall
@ 2015-09-14 16:07   ` J. Bruce Fields
  2015-09-14 16:25     ` Trond Myklebust
  0 siblings, 1 reply; 7+ messages in thread
From: J. Bruce Fields @ 2015-09-14 16:07 UTC (permalink / raw)
  To: Julia Lawall
  Cc: sergey.senozhatsky, kernel-janitors, Jeff Layton, Trond Myklebust,
	Anna Schumaker, David S. Miller, linux-nfs, netdev, linux-kernel

ACK, but assuming Trond takes this one.--b.

On Sun, Sep 13, 2015 at 02:15:07PM +0200, Julia Lawall wrote:
> Remove unneeded NULL test.
> 
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @@ expression x; @@
> -if (x != NULL)
>   \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
> // </smpl>
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> ---
>  net/sunrpc/sched.c |   12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
> index b140c09..425ca2f 100644
> --- a/net/sunrpc/sched.c
> +++ b/net/sunrpc/sched.c
> @@ -1092,14 +1092,10 @@ void
>  rpc_destroy_mempool(void)
>  {
>  	rpciod_stop();
> -	if (rpc_buffer_mempool)
> -		mempool_destroy(rpc_buffer_mempool);
> -	if (rpc_task_mempool)
> -		mempool_destroy(rpc_task_mempool);
> -	if (rpc_task_slabp)
> -		kmem_cache_destroy(rpc_task_slabp);
> -	if (rpc_buffer_slabp)
> -		kmem_cache_destroy(rpc_buffer_slabp);
> +	mempool_destroy(rpc_buffer_mempool);
> +	mempool_destroy(rpc_task_mempool);
> +	kmem_cache_destroy(rpc_task_slabp);
> +	kmem_cache_destroy(rpc_buffer_slabp);
>  	rpc_destroy_wait_queue(&delay_queue);
>  }
>  

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 14/39] SUNRPC: drop null test before destroy functions
  2015-09-14 16:07   ` J. Bruce Fields
@ 2015-09-14 16:25     ` Trond Myklebust
  0 siblings, 0 replies; 7+ messages in thread
From: Trond Myklebust @ 2015-09-14 16:25 UTC (permalink / raw)
  To: J. Bruce Fields
  Cc: Julia Lawall, sergey.senozhatsky, Kernel Janitors Mailing List,
	Jeff Layton, Anna Schumaker, David S. Miller,
	Linux NFS Mailing List, Linux Network Devel Mailing List,
	Linux Kernel Mailing List

On Mon, Sep 14, 2015 at 12:07 PM, J. Bruce Fields <bfields@fieldses.org> wrote:
> ACK, but assuming Trond takes this one.--b.

No problem. I'll pick it up...

Cheers
  Trond

> On Sun, Sep 13, 2015 at 02:15:07PM +0200, Julia Lawall wrote:
>> Remove unneeded NULL test.
>>
>> The semantic patch that makes this change is as follows:
>> (http://coccinelle.lip6.fr/)
>>
>> // <smpl>
>> @@ expression x; @@
>> -if (x != NULL)
>>   \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
>> // </smpl>
>>
>> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
>>
>> ---
>>  net/sunrpc/sched.c |   12 ++++--------
>>  1 file changed, 4 insertions(+), 8 deletions(-)
>>
>> diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
>> index b140c09..425ca2f 100644
>> --- a/net/sunrpc/sched.c
>> +++ b/net/sunrpc/sched.c
>> @@ -1092,14 +1092,10 @@ void
>>  rpc_destroy_mempool(void)
>>  {
>>       rpciod_stop();
>> -     if (rpc_buffer_mempool)
>> -             mempool_destroy(rpc_buffer_mempool);
>> -     if (rpc_task_mempool)
>> -             mempool_destroy(rpc_task_mempool);
>> -     if (rpc_task_slabp)
>> -             kmem_cache_destroy(rpc_task_slabp);
>> -     if (rpc_buffer_slabp)
>> -             kmem_cache_destroy(rpc_buffer_slabp);
>> +     mempool_destroy(rpc_buffer_mempool);
>> +     mempool_destroy(rpc_task_mempool);
>> +     kmem_cache_destroy(rpc_task_slabp);
>> +     kmem_cache_destroy(rpc_buffer_slabp);
>>       rpc_destroy_wait_queue(&delay_queue);
>>  }
>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-09-14 16:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-13 12:14 [PATCH 00/39] drop null test before destroy functions Julia Lawall
2015-09-13 12:15 ` [PATCH 14/39] SUNRPC: " Julia Lawall
2015-09-14 16:07   ` J. Bruce Fields
2015-09-14 16:25     ` Trond Myklebust
2015-09-13 12:15 ` [PATCH 22/39] nfsd: " Julia Lawall
2015-09-14 16:06   ` J. Bruce Fields
2015-09-14 11:55 ` [PATCH 00/39] " SF Markus Elfring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).