On Fri, Jun 18, 2010 at 04:33,  <[email protected]> wrote:
> [#6034], fix argv and envp pointer while using L1 stack
>
> Modified: trunk/fs/binfmt_flat.c (8925 => 8926)
>
>       put_user(argc, sp);
>       current->mm->arg_start = (unsigned long) p;
>       while (argc-->0) {
> +#ifndef CONFIG_APP_STACK_L1
>               put_user((unsigned long) p, argv++);
> +#else
> +             put_user((unsigned long) p + l1_ram_offset, argv++);
> +#endif
> ...
>       while (envc-->0) {
> -             put_user((unsigned long)p, envp); envp++;
> +#ifndef CONFIG_APP_STACK_L1
> +             put_user((unsigned long)p, envp++);
> +#else
> +             put_user((unsigned long)p + l1_ram_offset, envp++);
> +#endif

i dont think we want this behavior.  the argv/envp can easily exceed
the tiny 4k scratchpad, not to mention the app itself exceeding it.
-mike
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to