[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1329819437.2293.382.camel@twins>
Date: Tue, 21 Feb 2012 11:17:17 +0100
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Li Zhong <zhong@...ux.vnet.ibm.com>
Cc: LKML <linux-kernel@...r.kernel.org>, tglx@...utronix.de,
mingo@...hat.com, hpa@...or.com, x86@...nel.org, paulus@...ba.org,
mingo@...e.hu, acme@...stprotocols.net
Subject: Re: [PATCH 0/2 x86] fix some page faults in nmi if kmemcheck is
enabled
On Tue, 2012-02-21 at 09:42 +0800, Li Zhong wrote:
> > Hell no, these are some of the ugliest patches I've seen in a while. Not
> > to mention that their changelogs are utter crap since they don't even
> > explain why they're doing what they're doing.
> >
> Hi Peter,
>
> I agree that the fix is ugly. I'm willing to change if there are some
> better ways.
There are always better ways..
> The problem here is:
> 1. It seems x86 doesn't allow page faults in nmi, and there are checks
> in the code, like WARN_ON_ONCE(in_nmi()).
I bet that's not x86 only..
> 2. If CONFIG_KMEMCHECK is enabled, the pages allocated through slab will
> be marked as non-present, to capture uninitialized memory access. More
> information in Documentation/kmemcheck.txt .
So then kmemcheck is buggy, since the nmiaction structure is initialized
in register_nmi_handler(), so it should most definitely not be marked
non-present.
> 3. From the log, there are some memories accessed in nmi, which are in
> pages marked as non-present by kmemcheck, as they are allocated by
> something like kmalloc().
So figure out why and fix that instead of writing ugly ass patches that
seemingly work around the problem without actually thinking about it.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists