Messages in this thread | | | Date | Wed, 28 Sep 2011 11:33:33 -0700 | From | Frank Rowand <> | Subject | Re: [PATCH] PREEMPT_RT_FULL: arm coredump fails for cpu >= 4 |
| |
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. >
| |