[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 2 Feb 2012 12:56:12 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: pawel.moll@....com
Cc: linux-kernel@...r.kernel.org
Subject: re: 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists