Peter Zijlstra
2017-Jul-14 15:50 UTC
[Nouveau] [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
On Fri, Jul 14, 2017 at 03:36:08PM +0200, Mike Galbraith wrote:> Ok, a network outage gave me time to go hunting. Indeed it is a bad > interaction with the tree DRM merged into. All DRM did was to slip a > WARN_ON_ONCE() that nouveau triggers into a kernel module where such > things no longer warn, they blow the box out of the water. I made a > dinky testcase module (attached), and bisected to the real root.... > > 19d436268dde95389c616bb3819da73f0a8b28a8 is the first bad commit > commit 19d436268dde95389c616bb3819da73f0a8b28a8 > Author: Peter Zijlstra <peterz at infradead.org> > Date: Sat Feb 25 08:56:53 2017 +0100 > > debug: Add _ONCE() logic to report_bug()Urgh, is for some mysterious reason the __bug_table section of modules ending up in RO memory? I forever get lost in that link magic :/
Peter Zijlstra
2017-Jul-14 16:10 UTC
[Nouveau] [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
On Fri, Jul 14, 2017 at 05:58:18PM +0200, Mike Galbraith wrote:> On Fri, 2017-07-14 at 17:50 +0200, Peter Zijlstra wrote:> > Urgh, is for some mysterious reason the __bug_table section of modules > > ending up in RO memory? > > > > I forever get lost in that link magic :/ > > +1 > > drm.ko > 20 __bug_table 00000630 0000000000000000 0000000000000000 0004bff3 2**0 > CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA > vmlinux > 15 __bug_table 0000ba84 ffffffff81af26c0 0000000001af26c0 00cf26c0 2**0 > CONTENTS, ALLOC, LOAD, READONLY, DATA > > Danged if I know... um um RELOC business mucks things up?Argh, it shouldn't be READONLY for vmlinux either, but apparently that is working for mysterious reasons. Some architectures were in fact complaining that I broke that, and hence patch: b5effd3815cc ("debug: Fix __bug_table[] in arch linker scripts") I think we need professional help with this linking stuff, but who to ask?
Reasonably Related Threads
- [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
- [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
- [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
- [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
- [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335