[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHHWPbfxGxJ6_N=rx1ZFW-DnTTAui0qYcbCjrY=ke3mGJF_kkA@mail.gmail.com>
Date: Sun, 9 Jul 2017 17:56:15 +0530
From: hari prasath <gehariprasath@...il.com>
To: Sakari Ailus <sakari.ailus@....fi>
Cc: mchehab@...nel.org,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
Alan Cox <alan@...ux.intel.com>, rvarsha016@...il.com,
Julia Lawall <julia.lawall@...6.fr>,
SIMRAN SINGHAL <singhalsimran0@...il.com>,
linux-media@...r.kernel.org, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] staging: atomisp: use kstrdup to replace kmalloc and memcpy
On 8 July 2017 at 16:31, Sakari Ailus <sakari.ailus@....fi> wrote:
> Hi Hari,
>
> On Fri, Jul 07, 2017 at 08:15:21PM +0530, Hari Prasath wrote:
>> kstrdup kernel primitive can be used to replace kmalloc followed by
>> string copy. This was reported by coccinelle tool
>>
>> Signed-off-by: Hari Prasath <gehariprasath@...il.com>
>> ---
>> .../media/atomisp/pci/atomisp2/css2400/sh_css_firmware.c | 10 +++-------
>> 1 file changed, 3 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_firmware.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_firmware.c
>> index 34cc56f..68db87b 100644
>> --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_firmware.c
>> +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_firmware.c
>> @@ -144,14 +144,10 @@ sh_css_load_blob_info(const char *fw, const struct ia_css_fw_info *bi, struct ia
>> )
>> {
>> char *namebuffer;
>> - int namelength = (int)strlen(name);
>> -
>> - namebuffer = (char *) kmalloc(namelength + 1, GFP_KERNEL);
>> - if (namebuffer == NULL)
>> - return IA_CSS_ERR_CANNOT_ALLOCATE_MEMORY;
>> -
>> - memcpy(namebuffer, name, namelength + 1);
>>
>> + namebuffer = kstrdup(name, GFP_KERNEL);
>> + if (!namebuffer)
>> + return -ENOMEM;
>
> The patch also changes the return value in error cases. I believe the
> caller(s) expect to get errors in the IA_CCS_ERR_* range.
Hi,
In this particular case, the calling function just checks if it's not
success defined by a enum. I think returning -ENOMEM would not effect,
at least in this case.
- Hari Prasath
>
>> bd->name = fw_minibuffer[index].name = namebuffer;
>> } else {
>> bd->name = name;
>
> --
> Regards,
>
> Sakari Ailus
> e-mail: sakari.ailus@....fi XMPP: sailus@...iisi.org.uk
--
Regards,
G.E.Hari Prasath
Powered by blists - more mailing lists