2013-07-12 07:02:16

by Dragos Foianu

[permalink] [raw]
Subject: [PATCH] staging/lustre/libcfs: replaced string duplication code with kstrdup

Modified cfs_strdup function to use kstrdup instead of duplicating its
implementation.

Found using Coccinelle.

Signed-off-by: Dragos Foianu <[email protected]>
---
drivers/staging/lustre/lustre/libcfs/libcfs_string.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/staging/lustre/lustre/libcfs/libcfs_string.c b/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
index 9edccc9..4dba304 100644
--- a/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
+++ b/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
@@ -135,18 +135,7 @@ EXPORT_SYMBOL(cfs_str2mask);
/* Duplicate a string in a platform-independent way */
char *cfs_strdup(const char *str, u_int32_t flags)
{
- size_t lenz; /* length of str + zero byte */
- char *dup_str;
-
- lenz = strlen(str) + 1;
-
- dup_str = kmalloc(lenz, flags);
- if (dup_str == NULL)
- return NULL;
-
- memcpy(dup_str, str, lenz);
-
- return dup_str;
+ return kstrdup(str, flags);
}
EXPORT_SYMBOL(cfs_strdup);

--
1.7.10.4


2013-07-14 00:20:15

by Dilger, Andreas

[permalink] [raw]
Subject: Re: [PATCH] staging/lustre/libcfs: replaced string duplication code with kstrdup

On 2013/12/07 1:02 AM, "Dragos Foianu" <[email protected]> wrote:

>Modified cfs_strdup function to use kstrdup instead of duplicating its
>implementation.
>
>Found using Coccinelle.

Thanks for the patch, but in fact this function doesn't appear to be used
in the code anymore and could be removed entirely. Seems that
cfs_vsnprintf() and cfs_snprintf() could also be deleted at the same time.

Cheers, Andreas

>Signed-off-by: Dragos Foianu <[email protected]>
>---
> drivers/staging/lustre/lustre/libcfs/libcfs_string.c | 13 +------------
> 1 file changed, 1 insertion(+), 12 deletions(-)
>
>diff --git a/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
>b/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
>index 9edccc9..4dba304 100644
>--- a/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
>+++ b/drivers/staging/lustre/lustre/libcfs/libcfs_string.c
>@@ -135,18 +135,7 @@ EXPORT_SYMBOL(cfs_str2mask);
> /* Duplicate a string in a platform-independent way */
> char *cfs_strdup(const char *str, u_int32_t flags)
> {
>- size_t lenz; /* length of str + zero byte */
>- char *dup_str;
>-
>- lenz = strlen(str) + 1;
>-
>- dup_str = kmalloc(lenz, flags);
>- if (dup_str == NULL)
>- return NULL;
>-
>- memcpy(dup_str, str, lenz);
>-
>- return dup_str;
>+ return kstrdup(str, flags);
> }
> EXPORT_SYMBOL(cfs_strdup);


Cheers, Andreas
--
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division