Re: [PATCH] PREEMPT_RT_FULL: arm coredump fails for cpu >= 4

From: Frank Rowand
Date: Wed Sep 28 2011 - 14:34:28 EST


On 09/28/11 06:03, Peter Zijlstra wrote:
> On Tue, 2011-09-27 at 20:02 -0700, Frank Rowand wrote:
>>
>> ARM can not use SPLIT_PTLOCK_CPUS if PREEMPT_RT_FULL because
>> vectors_user_mapping() creates a VM_ALWAYSDUMP mapping of the vector page,
>> but no ptl->lock has been allocated for the page. An attempt to coredump
>> that page will result in a kernel NULL pointer dereference when
>> follow_page() attempts to lock the page.
>
>
>>
>> This patch is needed only if mm-shrink-the-page-frame-to-rt-size.patch is
>> applied.
>
> Yeah, vile hackery that is.. why isn't pgtable_page_ctor() called on
> those pages?

Yep, that is the question. I started fixing that yesterday, but realized
I was going about it the wrong way, so I sent a first version of the
patch that simply avoids the problem.

I'll be looking at whether I can fix it cleanly.

>
> Not that I care too much about split_pte_lock on ARM, they're mostly all
> tiny machines anyway so the gain is marginal, but it would be good to
> find out why the pgtable constructor isn't called properly.
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/