Re: [PATCH 02/18] vchecker: introduce the valid access checker
From: Joonsoo Kim
Date: Wed Nov 29 2017 - 00:30:42 EST
On Tue, Nov 28, 2017 at 11:41:08AM -0800, Andi Kleen wrote:
> js1304@xxxxxxxxx writes:
>
> > From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
>
> Looks useful. Essentially unlimited hardware break points, combined
> with slab.
Thanks!!!
>
> Didn't do a full review, but noticed some things below.
> > +
> > + buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
> > + if (!buf)
> > + return -ENOMEM;
> > +
> > + if (copy_from_user(buf, ubuf, cnt)) {
> > + kfree(buf);
> > + return -EFAULT;
> > + }
> > +
> > + if (isspace(buf[0]))
> > + remove = true;
>
> and that may be uninitialized.
I will add 'cnt == 0' check above.
> and the space changes the operation? That's a strange syntax.
Intention is to clear the all the previous configuration when user
input is '\n'. Will fix it by checking '\n' directly.
>
> > + buf[cnt - 1] = '\0';
>
> That's an underflow of one byte if cnt is 0.
Will add 'cnt == 0' check above.
String parsing part in this patchset will not work properly when the
last input character is not '\n'. I will fix it on the next spin.
Thanks.