Re: Regression in kernel 4.12-rc1 for Powerpc 32 - bisected to commit 3448890c32c3

From: Larry Finger
Date: Wed Jun 21 2017 - 11:11:10 EST

On 06/01/2017 11:39 AM, Larry Finger wrote:
On my Powerbook G4 aluminum, kernel 4.12-rc1 fails to boot. I cannot save a copy of the early printk messages and I will need to summarize.

The kernel finds the hard driver and recognizes the various partitions. All seems normal until after the "unused kernel memory is freed" and that "This architecture does not have kernel memory protection", which are both normal. The next batch of logged messages are

Loading, please wait...
udevd[64]: starting version 175
udevd[64]: Unable to receive ctrl message: Bad address.
modprobe: chdir(4.12-rc1): No such file or directory
udevd[64]: Unable to receive ctrl message: Bad address.
Begin: Loading essential drivers ... modprobe: chdir: chdir(4.12.0-rc1): No such file or directory
Begin: Running /scripts/init-premount ... done.
udevd[64]: Begin: Waiting for root file system ... [ 11.651175] random: faast init done
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (Did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/<UUID> does not exist. Dropping to a shell!
modprobe: chdir(4.12-rc1): No such file or directory <listed 6 times>

BusyBox v1.20.2 (Debian 1:1.20.0-7) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty: Job control turned off

At that point, the system is dead. I have tried bisecting this issue; however, I run into a second problem that crashes the bootstrap.

I finally finished the bisection by patching each commit that was affected by the bootstrap crash. The faulty change is commit 3448890c32c32c482c3ec20baa8fdd2ab4f94cc0 ("powerpc: get rid of zeroing, switch to RAW_COPY_USER"). I am very confident in the bisection.

As I know nothing of assembly for ppc32, I have not been able to attempt to find the problem with these patches.