[PATCH] powerpc/64e: Don't place the stack beyond TASK_SIZE
Michael Ellerman
mpe at ellerman.id.au
Wed May 10 07:13:08 AEST 2017
Scott Wood <oss at buserror.net> writes:
> On Tue, 2017-05-09 at 00:09 +1000, Michael Ellerman wrote:
>> Scott Wood <oss at buserror.net> writes:
>>
>> > Commit f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") increased
>> > the task size on book3s, and introduced a mechanism to dynamically
>> > control whether a task uses these larger addresses. While the change to
>> > the task size itself was ifdef-protected to only apply on book3s, the
>> > change to STACK_TOP_USER64 was not. On book3e, this had the effect of
>> > trying to use addresses up to 128TiB for the stack despite a 64TiB task
>> > size limit -- which broke 64-bit userspace producing the following errors:
>> >
>> > Starting init: /sbin/init exists but couldn't execute it (error -14)
>> > Starting init: /bin/sh exists but couldn't execute it (error -14)
>> > Kernel panic - not syncing: No working init found. Try passing init=
>> > option to kernel. See Linux Documentation/admin-guide/init.rst for
>> > guidance.
>>
>> For some reason I am not seeing this on my p5020ds?
>>
>> I just checked, it's definitely booting:
>>
>> [ 0.000000] Linux version 4.11.0-gcc5-g13e0988 (kerkins at alpine1-p1)
>> (gcc version 5.2.1 20151001 (GCC) ) #1 SMP Mon May 8 05:33:22 AEST 2017
>> [ 0.000000] Using CoreNet Generic machine description
>> ...
>> [ 3.216940] systemd[1]: Detected architecture ppc64.
>> ...
>> Debian GNU/Linux stretch/sid p5020ds ttyS0
>>
>> p5020ds login:
>>
>>
>> Anyway patch looks good, I'll pull it in with the rest of your tree.
>
> Are you using a 64-bit userspace?
Ah of course. It's debian so it's mostly 32-bit. I'd forgotten 32-bit
userspace was a thing! :)
I'll fix my tests to run some 64-bit binaries.
cheers
More information about the Linuxppc-dev
mailing list