On Tuesday 10 January 2012 17:28:05 Wolfgang Denk wrote:
> Doug Anderson wrote:
> > This makes fixup_silent_linux() use malloc() to allocate its
> > working space, meaning that our maximum kernel command line
> > should only be limited by malloc().  Previously it was silently
> > overflowing the stack.
> 
> ...
> 
> >  static void fixup_silent_linux(void)
> >  {
> > 
> > -   char buf[256], *start, *end;
> 
> Are you sure that the kernel's buffer is long enough?
> 
> For example on PowerPC, there is a current hard limit on 512
> characters:
> 
>       arch/powerpc/boot/ops.h:#define COMMAND_LINE_SIZE       512
>       arch/powerpc/kernel/setup-common.c:char cmd_line[COMMAND_LINE_SIZE];
> 
> On SPARC, we have 256 bytes hard limit, see arch/sparc/prom/bootstr_64.c:
> 
>       #define BARG_LEN  256
>       ...
>       prom_getstring(prom_chosen_node, "bootargs",
>                       bootstr_info.bootstr_buf, BARG_LEN);

i think this does len checking ...

> I think your patch is likely to break all these architectures?

i don't know about others, but on Blackfin, we don't care.  we just copy the 
first COMMAND_LINE_SIZE bytes out and ignore the rest.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to