Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1448707 > unrolled thread

[PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"

Started bySF Markus Elfring <elfring@users.sourceforge.net>
First post2016-07-22 20:10 +0200
Last post2016-07-25 11:10 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH] zsmalloc: Delete an unnecessary check before the function  call "iput" SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-22 20:10 +0200
    Re: [PATCH] zsmalloc: Delete an unnecessary check before the  function call "iput" Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-07-25 03:00 +0200
    Re: [PATCH] zsmalloc: Delete an unnecessary check before the  function call "iput" Minchan Kim <minchan@kernel.org> - 2016-07-25 11:10 +0200

#1448707 — [PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-07-22 20:10 +0200
Subject[PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"
Message-ID<rXN3A-Qn-23@gated-at.bofh.it>
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 22 Jul 2016 19:54:20 +0200

The iput() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 mm/zsmalloc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 5e5237c..7b5fd2b 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -2181,8 +2181,7 @@ static int zs_register_migration(struct zs_pool *pool)
 static void zs_unregister_migration(struct zs_pool *pool)
 {
 	flush_work(&pool->free_work);
-	if (pool->inode)
-		iput(pool->inode);
+	iput(pool->inode);
 }
 
 /*
-- 
2.9.2

[toc] | [next] | [standalone]


#1449232 — Re: [PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"

FromSergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Date2016-07-25 03:00 +0200
SubjectRe: [PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"
Message-ID<rYCps-6fV-3@gated-at.bofh.it>
In reply to#1448707
On (07/22/16 20:02), SF Markus Elfring wrote:
> The iput() function tests whether its argument is NULL and then
> returns immediately. Thus the test around the call is not needed.
> 
> This issue was detected by using the Coccinelle software.

there is no issue; the change is just cosmetic.


> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>

Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>



alloc_anon_inode() returns ERR_PTR, so I'd probably rather
change iput() to do IS_ERR_OR_NULL instead of !NULL.

	inode = alloc_anon_inode();
	if (IS_ERR(inode)) {
		inode = NULL;
		^^^^^^^^^^^^^
	}
	...
	iput(inode);

this NULL assignment on error path is a bit fragile.

IOW, something like this

---

diff --git a/fs/inode.c b/fs/inode.c
index 559a9da..f1b7bd2 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1497,7 +1497,7 @@ static void iput_final(struct inode *inode)
  */
 void iput(struct inode *inode)
 {
-       if (!inode)
+       if (IS_ERR_OR_NULL(inode))
                return;
        BUG_ON(inode->i_state & I_CLEAR);
 retry:


---

	-ss

> ---
>  mm/zsmalloc.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
> index 5e5237c..7b5fd2b 100644
> --- a/mm/zsmalloc.c
> +++ b/mm/zsmalloc.c
> @@ -2181,8 +2181,7 @@ static int zs_register_migration(struct zs_pool *pool)
>  static void zs_unregister_migration(struct zs_pool *pool)
>  {
>  	flush_work(&pool->free_work);
> -	if (pool->inode)
> -		iput(pool->inode);
> +	iput(pool->inode);
>  }
>  
>  /*
> -- 
> 2.9.2
> 

[toc] | [prev] | [next] | [standalone]


#1449385 — Re: [PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"

FromMinchan Kim <minchan@kernel.org>
Date2016-07-25 11:10 +0200
SubjectRe: [PATCH] zsmalloc: Delete an unnecessary check before the function call "iput"
Message-ID<rYK3D-2IR-1@gated-at.bofh.it>
In reply to#1448707
On Fri, Jul 22, 2016 at 08:02:08PM +0200, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Fri, 22 Jul 2016 19:54:20 +0200
> 
> The iput() function tests whether its argument is NULL and then
> returns immediately. Thus the test around the call is not needed.
> 
> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Acked-by: Minchan Kim <minchan@kernel.org>

Thanks!

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web