Re: [PATCH] kallsyms: Use bounded strnchr() when parsing string

From: Masami Hiramatsu
Date: Sun Apr 23 2017 - 22:12:32 EST


On Sun, 23 Apr 2017 22:53:43 +0530
"Naveen N. Rao" <naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote:

> When parsing for the <module:name> format, we use strchr() to look for
> the separator, when we know that the module name can't be longer than
> MODULE_NAME_LEN. Enforce the same using strnchr().

Looks good to me :)

Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thanks,

>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
> ---
> kernel/module.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/module.c b/kernel/module.c
> index 7eba6dea4f41..d3bd56ed3541 100644
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -4017,7 +4017,7 @@ unsigned long module_kallsyms_lookup_name(const char *name)
>
> /* Don't lock: we're in enough trouble already. */
> preempt_disable();
> - if ((colon = strchr(name, ':')) != NULL) {
> + if ((colon = strnchr(name, MODULE_NAME_LEN, ':')) != NULL) {
> if ((mod = find_module_all(name, colon - name, false)) != NULL)
> ret = mod_find_symname(mod, colon+1);
> } else {
> --
> 2.12.1
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>