[Bug 1202727] New: Upstream kernel commit 30de14b1884ba makes s390 to stop working on qemu
https://bugzilla.suse.com/show_bug.cgi?id=1202727
Bug ID: 1202727
Summary: Upstream kernel commit 30de14b1884ba makes s390 to
stop working on qemu
Classification: openSUSE
Product: openSUSE Tumbleweed
Version: Current
Hardware: S/390-64
OS: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Kernel
Assignee: kernel-bugs@opensuse.org
Reporter: mpdesouza@suse.com
QA Contact: qa-bugs@suse.de
Found By: ---
Blocker: ---
If the following commit is reverted
commit 30de14b1884ba609fc1acfba5b40309e3a6ccefe
Author: Sven Schnelle
https://bugzilla.suse.com/show_bug.cgi?id=1202727
Takashi Iwai
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c1
--- Comment #1 from Marcos de Souza
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c2
Marcos de Souza
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c3
--- Comment #3 from Claudio Fontana
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c4
--- Comment #4 from Marcos de Souza
Hi Marcos,
does this problem affect bare metal also, or does this only show up with QEMU/kvm?
Unfortunately, I couldn't test on bare metal. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c5
--- Comment #5 from Marcos de Souza
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c6
--- Comment #6 from Marcos de Souza
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c7
--- Comment #7 from Marcos de Souza
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c8
--- Comment #8 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c9
Marcos de Souza
Let me think...
One difference between the inline function and a global register value is that the function contained an "asm volatile", so the compiler was not allowed to re-order execution. Is KLP using the value of "current_stack_pointer" in a context that might change %r15 by any chance?
If that's the case, you may have to save the stack pointer into another variable like this:
const unsigned long current_sp = current_stack_pointer
The "const" qualifier may be needed to tell the compiler that the value is initialized once and never changed.
But do you see a reason for that commit to make the boot process stuck? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c10
Petr Tesa����k
But do you see a reason for that commit to make the boot process stuck?
Of course, something similar might also be in the boot path. However, I misunderstood this bug. I saw "livepatch" in the log dump, so I thought it was affecting only KLP. If normal boot is also broken, then let me debug it there. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c11
Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c12
--- Comment #12 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c13
--- Comment #13 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c14
--- Comment #14 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c15
--- Comment #15 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c16
--- Comment #16 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c17
--- Comment #17 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c18
--- Comment #18 from Miroslav Bene��
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c19
--- Comment #19 from Petr Tesa����k
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c20
--- Comment #20 from Marcos de Souza
There is commit e3c11025bcd2 ("s390: avoid using global register for current_stack_pointer") now.
When building with this commit applied, it works. I can boot the built kernel. My env: SLE15-SP1 gcc 7.5 I can sucessfully boot kernel v6.1-rc6, which has the commit applied. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1202727
https://bugzilla.suse.com/show_bug.cgi?id=1202727#c21
--- Comment #21 from Petr Tesa����k
(In reply to Miroslav Bene�� from comment #18)
There is commit e3c11025bcd2 ("s390: avoid using global register for current_stack_pointer") now.
When building with this commit applied, it works. I can boot the built kernel.
My env: SLE15-SP1 gcc 7.5
I can sucessfully boot kernel v6.1-rc6, which has the commit applied.
This is expected, because it effectively reverts the commit that you bisected earlier. However, the root cause must be different from what the explanation given in the upstream commit: Unfortunately on s390 it uncovers old gcc bug which is fixed only since gcc-9.1 [gcc commit 3ad7fed1cc87]. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1202727
Ihno Krumreich
https://bugzilla.suse.com/show_bug.cgi?id=1202727
Ihno Krumreich
https://bugzilla.suse.com/show_bug.cgi?id=1202727
Ihno Krumreich
participants (1)
-
bugzilla_noreply@suse.com