On Fri, Sep 27, 2013 at 10:47 PM, Russell King - ARM Linux <li...@arm.linux.org.uk> wrote: > On Fri, Sep 27, 2013 at 10:25:45PM +0200, Vojtech Bocek wrote: >> I want to ask something about atags_proc.c implementation. Currently, >> it uses a buffer to temporarily store atags. The buffer size is set to >> 1.5kb for some reason, but as far as I know, atag list's size is not >> limited in any way. I've got a device (HTC One) which uses about 12kb >> of tags, that means it panics during boot if CONFIG_ATAGS_PROC is >> enabled, because the buffer contains only part of the tag list without >> an end tag. > > The tags are supposed to be a short-lived structure which gets used to > pass barest minimum of details to the kernel, and the data stored in > them almost certainly gets overwritten before the kernels memory > allocators are up and running. > > So, we need to statically allocate some space to save these things - > it can't be done dynamically. > > The problem is this: for the vast majority of platforms, they pass no > more than 1.5kB (lower case b is *bits* not *bytes*) to the kernel in > their tagged list. Having a static allocation of 12k would be wasteful > for the majority of users.
It's __initdata memory, right? So it would waste this 12 KiB only temporarily. Stll, it enlarges the kernel image by 12 KiB, as there's no such thing as __initbss. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/