Re: [PATCH 3.18 04/57] vm: add VM_FAULT_SIGSEGV handling support

Konstantin Khlebnikov
2015-02-11T05:34:48Z

On Wed, Feb 11, 2015 at 6:43 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Tue, Feb 10, 2015 at 12:22:41PM +0400, Konstantin Khlebnikov wrote:
>> I've found regression:
>>
>> [ 257.139907] ================================================
>> [ 257.139909] [ BUG: lock held when returning to user space! ]
>> [ 257.139912] 3.18.6-debug+ #161 Tainted: G U
>> [ 257.139914] ------------------------------------------------
>> [ 257.139916] python/22843 is leaving the kernel with locks still held!
>> [ 257.139918] 1 lock held by python/22843:
>> [ 257.139920] #0: (&mm->mmap_sem){++++++}, at: [<ffffffff8104e4c2>]
>> __do_page_fault+0x162/0x570
>>
>> upstream commit 7fb08eca45270d0ae86e1ad9d39c40b7a55d0190 must be backported too.
>
> Ah, nice, I missed that one. How did you test this?

I've catched hang on mmap_sem in some python self-test inside exherbo chroot.
With that patch test has finished successfully.

It seems the only way to tigger this is stack-overflow: for now VM_FAULT_SIGSEGV
is returned only if kernel cannot add guard page when stack expands.

>
> thanks,
>
> greg k-h