Messages in this thread | | | Date | Wed, 26 Feb 2014 09:43:04 +0100 | From | Peter Zijlstra <> | Subject | Re: mm: OS boot failed when set command-line kmemcheck=1 |
| |
On Wed, Feb 19, 2014 at 02:24:41PM -0800, David Rientjes wrote: > On Wed, 19 Feb 2014, Xishi Qiu wrote: > > > Here is a warning, I don't whether it is relative to my hardware. > > If set "kmemcheck=1 nowatchdog", it can boot. > > > > code: > > ... > > pte = kmemcheck_pte_lookup(address); > > if (!pte) > > return false; > > > > WARN_ON_ONCE(in_nmi()); > > > > if (error_code & 2) > > ...
That code seems to assume NMI context cannot fault; this is false since a while back (v3.9 or thereabouts).
> > [ 10.920757] [<ffffffff810452c1>] kmemcheck_fault+0xb1/0xc0 > > [ 10.920760] [<ffffffff814d262b>] __do_page_fault+0x39b/0x4c0 > > [ 10.920763] [<ffffffff814d2829>] do_page_fault+0x9/0x10 > > [ 10.920765] [<ffffffff814cf222>] page_fault+0x22/0x30 > > [ 10.920774] [<ffffffff8101eb02>] intel_pmu_handle_irq+0x142/0x3a0 > > [ 10.920777] [<ffffffff814d0655>] perf_event_nmi_handler+0x35/0x60 > > [ 10.920779] [<ffffffff814cfe83>] nmi_handle+0x63/0x150 > > [ 10.920782] [<ffffffff814cffd3>] default_do_nmi+0x63/0x290 > > [ 10.920784] [<ffffffff814d02a8>] do_nmi+0xa8/0xe0 > > [ 10.920786] [<ffffffff814cf527>] end_repeat_nmi+0x1e/0x2e
And this does indeed show a fault from NMI context; which is totally expected.
kmemcheck needs to be fixed; but I've no clue how any of that works.
| |