[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210527143729.GL24442@kadam>
Date: Thu, 27 May 2021 17:37:30 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: David Laight <David.Laight@...LAB.COM>
Cc: "'Chen Huang'" <chenhuang5@...wei.com>,
Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Juergen Gross <jgross@...e.com>,
Stefano Stabellini <sstabellini@...nel.org>,
Mark Fasheh <mark@...heh.com>,
Joel Becker <jlbec@...lplan.org>,
Joseph Qi <joseph.qi@...ux.alibaba.com>,
Nathan Lynch <nathanl@...ux.ibm.com>,
Andrew Donnellan <ajd@...ux.ibm.com>,
Alexey Kardashevskiy <aik@...abs.ru>,
Andrew Morton <akpm@...ux-foundation.org>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Jens Axboe <axboe@...nel.dk>,
Yang Yingliang <yangyingliang@...wei.com>,
Masahiro Yamada <masahiroy@...nel.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"xen-devel@...ts.xenproject.org" <xen-devel@...ts.xenproject.org>,
"ocfs2-devel@....oracle.com" <ocfs2-devel@....oracle.com>
Subject: Re: [PATCH -next 2/3] xen: balloon: Replaced simple_strtoull() with
kstrtoull()
On Thu, May 27, 2021 at 02:10:21PM +0000, David Laight wrote:
> From: Chen Huang
> > Sent: 26 May 2021 10:20
> >
> > The simple_strtoull() function is deprecated in some situation, since
> > it does not check for the range overflow, use kstrtoull() instead.
> >
> ...
> > - target_bytes = simple_strtoull(buf, &endchar, 0) * 1024;
> > + ret = kstrtoull(buf, 0, &target_bytes);
> > + if (ret)
> > + return ret;
> > + target_bytes *= 1024;
>
> I'd have thought it was more important to check *endchar
> than overflow.
That's one of the differences between simple_strtoull() and kstrtoull().
The simple_strtoull() will accept a string like "123ABC", but kstrtoull()
will only accept NUL terminated numbers or a newline followed by a NUL
terminator. Which is fine in this context because users will be doing
"echo 1234 > /sys/foo".
> If you are worried about overflow you need a range check
> before the multiply.
This is probably a case where if the users cause an integer overflow
then they get what they deserve.
regards,
dan carpenter
Powered by blists - more mailing lists