On Wed, 6 Feb 2019 15:52:43 -0500 Steven Rostedt <[email protected]> wrote:
> On Fri, 18 Jan 2019 13:44:25 +0900 > Masami Hiramatsu <[email protected]> wrote: > > > @@ -180,7 +183,12 @@ fetch_store_strlen(unsigned long addr) > > int len; > > void __user *vaddr = (void __force __user *) addr; > > > > - len = strnlen_user(vaddr, MAX_STRING_SIZE); > > + if (addr == (unsigned long)current->comm) { > > + len = strlen(current->comm); > > + if (len) > > + len++; > > Why only add 1 if len is non zero? Why not always do it. > > One thing, len should always be greater than 0, and the other is that > this makes it inconsistent with the NULL case of reading the address in > userspace. Agreed, it should not 0, so it should be; len = strlen(current->comm) + 1; Thank you! > > -- Steve > > > > + } else > > + len = strnlen_user(vaddr, MAX_STRING_SIZE); > > > > return (len > MAX_STRING_SIZE) ? 0 : len; -- Masami Hiramatsu <[email protected]>

