On Tue, Nov 28, 2017 at 11:41:08AM -0800, Andi Kleen wrote:
> [email protected] writes:
> 
> > From: Joonsoo Kim <[email protected]>
> 
> 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.

Reply via email to