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.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to