Messages in this thread | | | Date | Tue, 10 Apr 2018 13:06:33 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH v2 7/9] trace_uprobe/sdt: Fix multiple update of same reference counter |
| |
Hi Ravi,
On 04/10, Ravi Bangoria wrote: > > > and what if __mmu_notifier_register() fails simply because signal_pending() == T? > > see mm_take_all_locks(). > > > > at first glance this all look suspicious and sub-optimal, > > Yes. I should have added checks for failure cases. > Will fix them in v3.
And what can you do if it fails? Nothing except report the problem. But signal_pending() is not the unlikely or error condition, it should not cause the tracing errors.
Plus mm_take_all_locks() is very heavy... BTW, uprobe_mmap_callback() is called unconditionally. Whatever it does, can we at least move it after the no_uprobe_events() check? Can't we also check MMF_HAS_UPROBES?
Either way, I do not feel that mmu_notifier is the right tool... Did you consider the uprobe_clear_state() hook we already have?
Oleg.
| |