Skip to content

uprobes: register/unregister preparations for filtering

Oleg Nesterov lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7uprobes: Move __set_bit(UPROBE_SKIP_SSTEP) into alloc_uprobe()kernel/events/uprobes.c+2 -31 reply
2/7uprobes: Kill the "uprobe != NULL" check in uprobe_unregister()kernel/events/uprobes.c+1 -21 reply
3/7uprobes: Kill the pointless inode/uc checks in register/unregisterkernel/events/uprobes.c+1 -66 replies
4/7uprobes: Kill uprobe_consumer->filter()include/linux/uprobes.h kernel/events/uprobes.c kernel/trace/trace_uprobe.c+2 -101 reply
5/7uprobes: Introduce filter_chain()kernel/events/uprobes.c+19 -52 replies
6/7uprobes: _unregister() should always do register_for_each_vma(false)kernel/events/uprobes.c+14 -140 replies
7/7uprobes: _register() should always do register_for_each_vma(true)kernel/events/uprobes.c+13 -181 reply

Reviews trailers per patch

6 of 7 patches have a Reviewed-by or Acked-by.

PatchSrikar Dronamraju
1/7A-b
2/7A-b
3/7A-b
4/7A-b
5/7A-b
6/7
7/7A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/7] uprobes: register/unregister preparations for filtering

Hello.

Srikar, it is not clear if you was convinced or not during the last discussion. We will discuss this again probably. So far I am sending the initial changes which (I think) make sense in any case. Please review.

The next step is locking. Alas, we can not use consumer_rwsem to protect the list in filter_chain(). Whatever we do, at least uprobe_mmap() needs to do this under mm->mmap_sem. And we do want to allow uc->handler() to play with current->mm.

Then we will actually immplement filter_chain(), this should be trivial unless you insist we need for_each_mm_user() (cough, I hope you do not ;).

Then we will try to solve the problem with fork.

Oleg.