Re: personality(ADDR_LIMIT_3GB) results in EFAULT

From: Andi Kleen
Date: Thu May 27 2010 - 14:38:25 EST


Michael Tokarev <mjt@xxxxxxxxxx> writes:

> I noticed an.. interesting issue here.
>
> Running a 32bit executable on a 64bit kernel,
> and doing
>
> personality(ADDR_LIMIT_3GB);
>
> That call succedes, but any further execve()
> and friends results in EFAULT, unless whole
> argv[] and envp[] are copied to a malloc'ed
> space. alloca sometimes helps and sometimes
> not.

It worked when I wrote it originally.

Sounds like a regression, perhaps related to
b6a2fea39318e43fee84fa7b0b90d68bed92d2ba


-Andi
--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/