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

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 }
regards,
dan carpenter



\
 
 \ /
  Last update: 2012-02-02 10:59    [from the cache]
©2003-2011 Jasper Spaans