Re: [PATCH] x86/stacktrace: Do not access user space memory unnecessarily

From: Thomas Gleixner
Date: Sat Jul 20 2019 - 04:45:34 EST


On Sat, 20 Jul 2019, Thomas Gleixner wrote:
> On Sat, 20 Jul 2019, Thomas Gleixner wrote:
> > On Fri, 19 Jul 2019, Sean Christopherson wrote:
> > > [ 0.680477] Run /sbin/init as init process
> > > [ 0.682116] init[1]: segfault at 2926a7ef ip 00007f98a49d9c30 sp 00007fffd83e6af0 error 14 in ld-2.23.so[7f98a49d9000+26000]
> >
> > That's because the call into the context tracking muck clobbers RDX which
> > contains the CR2 value on pagefault. So the pagefault resolves to crap and
> > kills init.
> >
> > Brute force fix below. That needs to be conditional on read_cr2 but for now
> > it does the job.
>
> But it does it just for the context tracking case. TRACE_IRQS_OFF* will do
> the same damage.

Hmm, should not becasue that calls through the thunk which preserves RDX.