lkml.org 
[lkml]   [2012]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subjectre: params: <level>_initcall-like kernel parameters
From
Date
Morning,

On Thu, 2012-02-02 at 09:56 +0000, Dan Carpenter wrote:
> The patch b41c2e271944: "params: <level>_initcall-like kernel
> parameters" from Dec 12, 2011, leads to the following warning:
> init/main.c:749 do_initcall_level()
> error: buffer overflow 'initcall_level_names' 7 <= 7
>
> 743 static void __init do_initcall_level(int level)
> 744 {
> 745 extern const struct kernel_param __start___param[], __stop___param[];
> 746 initcall_t *fn;
> 747
> 748 strcpy(static_command_line, saved_command_line);
> 749 parse_args(initcall_level_names[level],
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> initcall_level_names[] has 7 elements so initcall_level_names[7] is past
> the end of the array.
>
> 750 static_command_line, __start___param,
> 751 __stop___param - __start___param,
> 752 level, level,
> 753 ignore_unknown_bootoption);
> 754
> 755 for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
> 756 do_one_initcall(*fn);
> 757 }
> 758
> 759 static void __init do_initcalls(void)
> 760 {
> 761 int level;
> 762
> 763 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> initcall_levels[] has 9 elements so level is 0-7 here.
>
> 764 do_initcall_level(level);
> 765 }

You're right, of course! The initcall_level_names is missing "early
parameters" string as the first element of the array. Well spotted - may
I asked what tool did you use to get this message?

Rusty, do you want me to re-send the patch with this string fixed? I
think you have rebased it on top of your bool-param series?

Thanks for your time!

Paweł



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

\
 
 \ /
  Last update: 2012-02-02 12:11    [W:0.334 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site