• S
    powerpc/64e: Don't place the stack beyond TASK_SIZE · 61baf155
    Scott Wood 提交于
    Commit f4ea6dcb ("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.
    
    Fixes: f4ea6dcb ("powerpc/mm: Enable mappings above 128TB")
    Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: NScott Wood <oss@buserror.net>
    61baf155
processor.h 14.6 KB