From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by kanga.kvack.org (Postfix) with ESMTP id 1344C6B006E for ; Mon, 22 Jun 2015 07:39:22 -0400 (EDT) Received: by wiwl6 with SMTP id l6so34284709wiw.0 for ; Mon, 22 Jun 2015 04:39:21 -0700 (PDT) Received: from eu-smtp-delivery-143.mimecast.com (eu-smtp-delivery-143.mimecast.com. [146.101.78.143]) by mx.google.com with ESMTP id b14si34553779wjz.87.2015.06.22.04.39.20 for ; Mon, 22 Jun 2015 04:39:20 -0700 (PDT) Message-ID: <5587F3E6.1070609@arm.com> Date: Mon, 22 Jun 2015 12:39:18 +0100 From: Vladimir Murzin MIME-Version: 1.0 Subject: Re: [PATCH 1/3] memtest: use kstrtouint instead of simple_strtoul References: <1434725914-14300-1-git-send-email-vladimir.murzin@arm.com> <1434725914-14300-2-git-send-email-vladimir.murzin@arm.com> <5587C9DA.7090909@arm.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Sender: owner-linux-mm@kvack.org List-ID: To: Leon Romanovsky Cc: Linux-MM , Andrew Morton On 22/06/15 11:43, Leon Romanovsky wrote: > On Mon, Jun 22, 2015 at 11:39 AM, Vladimir Murzin > wrote: >> On 20/06/15 07:55, Leon Romanovsky wrote: >>> On Fri, Jun 19, 2015 at 5:58 PM, Vladimir Murzin >>> wrote: >>>> Since simple_strtoul is obsolete and memtest_pattern is type of int, u= se >>>> kstrtouint instead. >>>> >>>> Signed-off-by: Vladimir Murzin >>>> --- >>>> mm/memtest.c | 14 +++++++++----- >>>> 1 file changed, 9 insertions(+), 5 deletions(-) >>>> >>>> diff --git a/mm/memtest.c b/mm/memtest.c >>>> index 1997d93..895a43c 100644 >>>> --- a/mm/memtest.c >>>> +++ b/mm/memtest.c >>>> @@ -88,14 +88,18 @@ static void __init do_one_pass(u64 pattern, phys_a= ddr_t start, phys_addr_t end) >>>> } >>>> >>>> /* default is disabled */ >>>> -static int memtest_pattern __initdata; >>>> +static unsigned int memtest_pattern __initdata; >>>> >>>> static int __init parse_memtest(char *arg) >>>> { >>>> - if (arg) >>>> - memtest_pattern =3D simple_strtoul(arg, NULL, 0); >>>> - else >>>> - memtest_pattern =3D ARRAY_SIZE(patterns); >>>> + if (arg) { >>>> + int err =3D kstrtouint(arg, 0, &memtest_pattern); >>>> + >>>> + if (!err) >>>> + return 0; >>> kstrtouint returns 0 for success, in case of error you will fallback >>> and execute following line. It is definetely change of behaviour. >> >> I'd be glad if you can elaborate more on use cases dependent on this >> change? I can only imagine providing garbage to the memtest option with >> only intention to shut it up... but it looks like the interface abuse >> since "memtest=3D0" does exactly the same. >> >> Since memtest is debugging option and numeric parameter is optional I >> thought it was not harmful to fallback to default in case something is >> wrong with the parameter. > I would like to suggest you, in case of error, print warning and set > memtest_pattern to be zero and return back to if(arg)..else > construction. In case of kstrtouint() failure memtest_pattern is not altered, so I won't need extra assignment here... and I'm not sure I get your point with returning back to if(arg)...else Anyway, I'd wait for other comments on what should be done here if anything= . Thanks Vladimir >=20 >> >> Thanks >> Vladimir >> >>>> + } >>>> + >>>> + memtest_pattern =3D ARRAY_SIZE(patterns); >>>> >>>> return 0; >>>> } >>>> -- >>>> 1.7.9.5 >>>> >>>> -- >>>> To unsubscribe, send a message with 'unsubscribe linux-mm' in >>>> the body to majordomo@kvack.org. For more info on Linux MM, >>>> see: http://www.linux-mm.org/ . >>>> Don't email: email@kvack.org >>> >>> >>> >> >=20 >=20 >=20 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org