Messages in this thread | | | Date | Fri, 21 Feb 2014 01:43:20 -0500 | From | Sasha Levin <> | Subject | Re: [PATCH 01/11] pagewalk: update page table walker core |
| |
On 02/20/2014 10:20 PM, Naoya Horiguchi wrote: > Hi Sasha, > > On Thu, Feb 20, 2014 at 06:47:56PM -0500, Sasha Levin wrote: >> Hi Naoya, >> >> This patch seems to trigger a NULL ptr deref here. I didn't have a change to look into it yet >> but here's the spew: > > Thanks for reporting. > I'm not sure what caused this bug from the kernel message. But in my guessing, > it seems that the NULL pointer is deep inside lockdep routine __lock_acquire(), > so if we find out which pointer was NULL, it might be useful to bisect which > the proble is (page table walker or lockdep, or both.)
This actually points to walk_pte_range() trying to lock a NULL spinlock. It happens when we call pte_offset_map_lock() and get a NULL ptl out of pte_lockptr().
> BTW, just from curiousity, in my build environment many of kernel functions > are inlined, so should not be shown in kernel message. But in your report > we can see the symbols like walk_pte_range() and __lock_acquire() which never > appear in my kernel. How did you do it? I turned off CONFIG_OPTIMIZE_INLINING, > but didn't make it.
I'm really not sure. I've got a bunch of debug options enabled and it just seems to do the trick.
Try CONFIG_READABLE_ASM maybe?
Thanks, Sasha
| |