Created attachment 283505 [details]
Oops message appearing when pressing SHIFT-PgUp
Accessing the VGA console scrollback buffer with SHIFT+PgUp results in a kernel OOPS since 4.19.19.
Steps to reproduce:
1. Boot a system with kernel 4.19.19 and a standard VGA console
2. Press SHIFT-PgUp twice
Expected result: The screen should scroll twice
Actual result: The screen scrolls once, followed by the console freezing
I was able to capture the Oops message on an SSH console (see attachment).
I've reproduced this on two different systems, both x86_64 but otherwise quite different, hardware-wise. The bug exists in all kernels from 4.19.19 onwards, all the way up to and including 5.1.15.
Reverting commit f4abbb16ed9add95be72e85b9b5db8529e736b74 ("vgacon: unconfuse vc_origin when using soft scrollback") fixes the issue. Here's the offending patch on the LKML: https://lkml.org/lkml/2019/1/29/418
Note: Not sure if it's relevant, but the kernel configuration in question is based on the Slackware "huge" kernel, and as such has compiled-in support for speakup (CONFIG_SPEAKUP=y and CONFIG_SPEAKUP_SYNTH_<various>=y). I have not (yet) tried reproducing this bug using non-speakup kernels.
Having done some further testing I can confirm that indeed, the bug does not surface when no speakup support is compiled in or loaded.
However, all it takes is "modprobe speakup" for the bug to be instantly reproducible with shift-PgUp.
The bug is still present in 5.3.1.
followed by on or two Shift-PgUp keypresses triggers an oops.