Re: [patch 03/26] Dynamic kernel command-line - arm

From: Alon Bar-Lev
Date: Thu Jan 18 2007 - 09:48:33 EST


On 1/18/07, Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:
On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote:
> 2. Set command_line as __initdata.

You can't.

> -static char command_line[COMMAND_LINE_SIZE];
> +static char __initdata command_line[COMMAND_LINE_SIZE];

Uninitialised data is placed in the BSS. Adding __initdata to BSS
data causes grief.

Thanks for the reply!

There are many places in kernel that uses __initdata for uninitialized
variables.

For example:

./drivers/ide/ide.c:static int __initdata probe_ali14xx;
./drivers/ide/ide.c:static int __initdata probe_umc8672;
./drivers/ide/ide.c:static int __initdata probe_dtc2278;
./drivers/ide/ide.c:static int __initdata probe_ht6560b;
./drivers/ide/ide.c:static int __initdata probe_qd65xx;
static int __initdata is_chipset_set[MAX_HWIFS];

So all these current places are wrong?
If I initialize the data will it be OK.

Best Regards,
Alon Bar-Lev.
-
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/