[PATCH] powerpc: Fix possible deadlock on page fault

Paul Mackerras paulus at samba.org
Thu Sep 5 19:53:16 EST 2013


On Thu, Sep 05, 2013 at 12:47:02PM +0530, Aneesh Kumar K.V wrote:

> @@ -280,6 +280,13 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address,
>  
>  	perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
>  
> +	/*
> +	 * We want to do this outside mmap_sem, because reading code around nip
> +	 * can result in fault, which will cause a deadlock when called with
> +	 * mmap_sem held
> +	 */
> +	store_update = store_updates_sp(regs);

We should only call store_updates_sp() if user_mode(regs); that was
the previous behaviour.

Paul.


More information about the Linuxppc-dev mailing list