2015-11-09 18:54:49

by Shivani Bhardwaj

[permalink] [raw]
Subject: [PATCH] staging: lustre: acl: Remove lustre_posix_acl_xattr_free wrapper

Remove the wrapper function lustre_posix_acl_xattr_free() and replace its
call in the file xattr with the function kfree() that it wrapped. Also,
its prototype from the header lustre_eacl is removed as it is no longer
of any use.

Signed-off-by: Shivani Bhardwaj <[email protected]>
---
drivers/staging/lustre/lustre/include/lustre_eacl.h | 2 --
drivers/staging/lustre/lustre/llite/xattr.c | 5 ++++-
drivers/staging/lustre/lustre/obdclass/acl.c | 9 ---------
3 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/lustre/lustre/include/lustre_eacl.h b/drivers/staging/lustre/lustre/include/lustre_eacl.h
index fee4d2c..0b66593 100644
--- a/drivers/staging/lustre/lustre/include/lustre_eacl.h
+++ b/drivers/staging/lustre/lustre/include/lustre_eacl.h
@@ -76,8 +76,6 @@ extern int
lustre_posix_acl_xattr_filter(posix_acl_xattr_header *header, size_t size,
posix_acl_xattr_header **out);
extern void
-lustre_posix_acl_xattr_free(posix_acl_xattr_header *header, int size);
-extern void
lustre_ext_acl_xattr_free(ext_acl_xattr_header *header);
extern ext_acl_xattr_header *
lustre_acl_xattr_merge2ext(posix_acl_xattr_header *posix_header, int size,
diff --git a/drivers/staging/lustre/lustre/llite/xattr.c b/drivers/staging/lustre/lustre/llite/xattr.c
index 4b7eb33..f9b1dee 100644
--- a/drivers/staging/lustre/lustre/llite/xattr.c
+++ b/drivers/staging/lustre/lustre/llite/xattr.c
@@ -193,7 +193,10 @@ int ll_setxattr_common(struct inode *inode, const char *name,
ll_i2suppgid(inode), &req);
#ifdef CONFIG_FS_POSIX_ACL
if (new_value != NULL)
- lustre_posix_acl_xattr_free(new_value, size);
+ /*
+ * Release the posix ACL space.
+ */
+ kfree(new_value);
if (acl != NULL)
lustre_ext_acl_xattr_free(acl);
#endif
diff --git a/drivers/staging/lustre/lustre/obdclass/acl.c b/drivers/staging/lustre/lustre/obdclass/acl.c
index 2e20cf6..49ba885 100644
--- a/drivers/staging/lustre/lustre/obdclass/acl.c
+++ b/drivers/staging/lustre/lustre/obdclass/acl.c
@@ -236,15 +236,6 @@ _out:
EXPORT_SYMBOL(lustre_posix_acl_xattr_filter);

/*
- * Release the posix ACL space.
- */
-void lustre_posix_acl_xattr_free(posix_acl_xattr_header *header, int size)
-{
- kfree(header);
-}
-EXPORT_SYMBOL(lustre_posix_acl_xattr_free);
-
-/*
* Release the extended ACL space.
*/
void lustre_ext_acl_xattr_free(ext_acl_xattr_header *header)
--
2.1.0


2015-11-09 19:45:16

by kernel test robot

[permalink] [raw]
Subject: [PATCH] staging: lustre: acl: fix ifnullfree.cocci warnings

drivers/staging/lustre/lustre/llite/xattr.c:199:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.

NULL check before some freeing functions is not needed.

Based on checkpatch warning
"kfree(NULL) is safe this check is probably not required"
and kfreeaddr.cocci by Julia Lawall.

Generated by: scripts/coccinelle/free/ifnullfree.cocci

CC: Shivani Bhardwaj <[email protected]>
Signed-off-by: Fengguang Wu <[email protected]>
---

xattr.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/staging/lustre/lustre/llite/xattr.c
+++ b/drivers/staging/lustre/lustre/llite/xattr.c
@@ -192,11 +192,10 @@ int ll_setxattr_common(struct inode *ino
valid, name, pv, size, 0, flags,
ll_i2suppgid(inode), &req);
#ifdef CONFIG_FS_POSIX_ACL
- if (new_value != NULL)
/*
* Release the posix ACL space.
*/
- kfree(new_value);
+ kfree(new_value);
if (acl != NULL)
lustre_ext_acl_xattr_free(acl);
#endif

2015-11-09 19:45:31

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: acl: Remove lustre_posix_acl_xattr_free wrapper

Hi Shivani,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on v4.3 next-20151109]

url: https://github.com/0day-ci/linux/commits/Shivani-Bhardwaj/staging-lustre-acl-Remove-lustre_posix_acl_xattr_free-wrapper/20151110-025757


coccinelle warnings: (new ones prefixed by >>)

>> drivers/staging/lustre/lustre/llite/xattr.c:199:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

2015-11-09 19:59:05

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: acl: fix ifnullfree.cocci warnings

On Tue, Nov 10, 2015 at 03:43:50AM +0800, kbuild test robot wrote:
> drivers/staging/lustre/lustre/llite/xattr.c:199:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.
>
> NULL check before some freeing functions is not needed.
>
> Based on checkpatch warning
> "kfree(NULL) is safe this check is probably not required"
> and kfreeaddr.cocci by Julia Lawall.
>
> Generated by: scripts/coccinelle/free/ifnullfree.cocci
>
> CC: Shivani Bhardwaj <[email protected]>
> Signed-off-by: Fengguang Wu <[email protected]>
> ---
>
> xattr.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> --- a/drivers/staging/lustre/lustre/llite/xattr.c
> +++ b/drivers/staging/lustre/lustre/llite/xattr.c
> @@ -192,11 +192,10 @@ int ll_setxattr_common(struct inode *ino
> valid, name, pv, size, 0, flags,
> ll_i2suppgid(inode), &req);
> #ifdef CONFIG_FS_POSIX_ACL
> - if (new_value != NULL)
> /*
> * Release the posix ACL space.
> */
> - kfree(new_value);
> + kfree(new_value);

Looks like a bug in coccinelle, the comment line should also be indented
to the left.

Julia, any ideas?

thanks,

greg k-h

2015-11-09 22:04:44

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: acl: fix ifnullfree.cocci warnings



On Mon, 9 Nov 2015, Greg KH wrote:

> On Tue, Nov 10, 2015 at 03:43:50AM +0800, kbuild test robot wrote:
> > drivers/staging/lustre/lustre/llite/xattr.c:199:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.
> >
> > NULL check before some freeing functions is not needed.
> >
> > Based on checkpatch warning
> > "kfree(NULL) is safe this check is probably not required"
> > and kfreeaddr.cocci by Julia Lawall.
> >
> > Generated by: scripts/coccinelle/free/ifnullfree.cocci
> >
> > CC: Shivani Bhardwaj <[email protected]>
> > Signed-off-by: Fengguang Wu <[email protected]>
> > ---
> >
> > xattr.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > --- a/drivers/staging/lustre/lustre/llite/xattr.c
> > +++ b/drivers/staging/lustre/lustre/llite/xattr.c
> > @@ -192,11 +192,10 @@ int ll_setxattr_common(struct inode *ino
> > valid, name, pv, size, 0, flags,
> > ll_i2suppgid(inode), &req);
> > #ifdef CONFIG_FS_POSIX_ACL
> > - if (new_value != NULL)
> > /*
> > * Release the posix ACL space.
> > */
> > - kfree(new_value);
> > + kfree(new_value);
>
> Looks like a bug in coccinelle, the comment line should also be indented
> to the left.
>
> Julia, any ideas?

I think it's on the border of what the person is going to have to resign
themselves to doing by hand. I'm not sure which side of the border it is
on, but I try to focus more on getting the code printed in the right place
than on the comments. I can check on it, though, and maybe an easy fix is
possible.

thanks,
julia