Subject: Re: [PATCH v2 1/1] atm: solos-pci: Replace simple_strtol by kstrtoint

From: Sergei Shtylyov <[email-masked]>
Date: Thu, 3 Dec 2015 14:41:14 +0300

Hello.

On 12/3/2015 10:52 AM, LABBE Corentin wrote:

>>> The simple_strtol function is obsolete.
>>> This patch replace it by kstrtoint.
>>> This will simplify code, since some error case not handled by
>>> simple_strtol are handled by kstrtoint.
>>>
>>> Signed-off-by: LABBE Corentin <[email-masked]>
>>> ---
>>>    drivers/atm/solos-pci.c | 28 +++++++++++++++-------------
>>>    1 file changed, 15 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
>>> index 3d7fb65..f944d75 100644
>>> --- a/drivers/atm/solos-pci.c
>>> +++ b/drivers/atm/solos-pci.c
>>> @@ -347,8 +347,8 @@ static char *next_string(struct sk_buff *skb)
>>>     */
>>>    static int process_status(struct solos_card *card, int port, struct sk_buff *skb)
>>>    {
>>> -	char *str, *end, *state_str, *snr, *attn;
>>> -	int ver, rate_up, rate_down;
>>> +	char *str, *state_str, *snr, *attn;
>>> +	int ver, rate_up, rate_down, err;
>>>
>>>    	if (!card->atmdev[port])
>>>    		return -ENODEV;
>>> @@ -357,11 +357,11 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb
>>>    	if (!str)
>>>    		return -EIO;
>>>
>>> -	ver = simple_strtol(str, NULL, 10);
>>> -	if (ver < 1) {
>>> +	err = kstrtoint(str, 10, &ver);
>>> +	if (ver < 1 || err) {
>>
>>      Is 'ver' initialized in case of error? If not, you have to check 'err' first.
>
> Hello
>
> Whatever if ver is initialized,

    I meant initialized by kstrtoint().

> since the conditional is an or, the test will always be true with the err value.

    I don't understand you. If you test 'ver' first, you risk testing 
uninitialized variable.

> Anyway I will send an updated version.

    Let's see...

> Regards

MBR, Sergei