On 10/14/21 9:21 PM, Stan Johnson wrote: > ... > Debian's 5.10.0-8 config file works (as expected) with Debian's 5.10.0-8 > kernel source. > ... > X works with 5.14 using a tuned config file derived from 5.13 testing. > ...
Update: The issue originally reported by Riccardo Mottola was that X wasn't working on a PowerBook G4 using Debian's default vmlinux-5.14.0-2-powerpc kernel. I was able to confirm that the X failure also occurs on a G4 Cube. My G4 Cube has Debian SID, sysvinit-core, Xfce and wdm installed. To test whether X works, I disabled wdm, then I log in at the text console and run "startx". When X fails, the screen goes blank and the backlight stays on; when X works, the normal desktop comes up. X works in mainline v5.12 built using a config file based on Debian's config-5.10.0-8-powerpc. X fails in mainline v5.13 built using a config file based on Debian's config-5.10.0-8-powerpc. With much help and advice from Finn Thain, I was able to run a bisect using a config file based on Debian's config-5.10.0-8-powerpc, with v5.12 "good" and v5.13 "bad". $ git reset --hard HEAD is now at 62fb9874f5da Linux 5.13 $ git bisect start v5.13 Updating files: 100% (12992/12992), done. Previous HEAD position was 62fb9874f5da Linux 5.13 HEAD is now at 9f4ad9e425a1 Linux 5.12 $ git bisect bad v5.13 $ git bisect good v5.12 Bisecting: 8739 revisions left to test after this (roughly 13 steps) >85f3f17b5db2dd9f8a094a0ddc665555135afd22] Merge branch 'md-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into block-5.13 After the bisect, git reports this: ---------- d3ccc9781560af051554017c702631560bdc0811 is the first bad commit commit d3ccc9781560af051554017c702631560bdc0811 Author: Christopher M. Riedl <[email protected]> Date: Fri Feb 26 19:12:59 2021 -0600 powerpc/signal: Use __get_user() to copy sigset_t Usually sigset_t is exactly 8B which is a "trivial" size and does not warrant using __copy_from_user(). Use __get_user() directly in anticipation of future work to remove the trivial size optimizations from __copy_from_user(). The ppc32 implementation of get_sigset_t() previously called copy_from_user() which, unlike __copy_from_user(), calls access_ok(). Replacing this w/ __get_user() (no access_ok()) is fine here since both callsites in signal_32.c are preceded by an earlier access_ok(). Signed-off-by: Christopher M. Riedl <[email protected]> Signed-off-by: Michael Ellerman <[email protected]> Link: https://lore.kernel.org/r/[email protected] arch/powerpc/kernel/signal.h | 7 +++++++ arch/powerpc/kernel/signal_32.c | 2 +- arch/powerpc/kernel/signal_64.c | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-)

