Re: [PATCH v2] panic: setup panic_timeout early

From: Ingo Molnar
Date: Fri Nov 15 2013 - 06:27:48 EST



* Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote:

> On Tue, Nov 12, 2013 at 6:03 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> >> +static int __init set_panic_timeout(char *val)
> >> +{
> >> + long timeout;
> >> + int ret;
> >> +
> >> + ret = kstrtol(val, 0, &timeout);
> >> + if (ret < 0)
> >> + return ret;
> >> +
> >> + panic_timeout = timeout;
> >> + return 0;
> >> +}
> >
> > I think the type of the 'timeout' local variable should match the type of
> > 'panic_timeout' (which is 'int', not 'long').
>
> So you would rather have this?
>
> kstrtol(val, 0, (long *)&timeout);
>
> Couldn't that potentially write the value beyond the memory
> allocated to 'timeout'?

No, casting that to 'long *' is actively wrong, I'd use a
string -> integer conversion method that deals with ints,
not longs, such as kstrtoint().

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/