Sources Bugzilla – Bug 892
Kprobes: Multiple probes
Last modified: 2005-07-12 14:47:52 UTC
Prototype posted to lkml. Going with one interface.
Patch now in Andrew Morton's -mm tree. Should be part of 2.6.12-rc3-mm3
This bug relates to the enhancement work that is required to enable multiple
kprobes to be registered at a given address. This feature is required since
different users may want different data to be extracted at a given location.
The patch that is currently upstream (2.6.12-rc3-mm3) provides an architecture
agnostic implementation for supporting the registration of multiple kprobes at
the address. It provides for a "manager" kprobe that will have custom
(pre-post-fault) handlers that have in them the logic of walking a list of
kprobes and invoking the individual handlers (execpt in the case of a fault
handler, where only the fault handler corresponding to the kprobe that generated
the fault is invoked).
Note that a jprobe can't coexist with a kprobe (yet).
Status as of 14 June:
- The multiple kprobes support patch is now in the mainline
- Patch to allow a jprobe to coexist with kprobes is in -mm (2.6.12-rc6-mm1)
Note: Due to the new no-exec feature that has been added upstream for ppc64,
multiple probes is currently broken on POWER4 and above. Working with arch
maintainer to resolve the issue.
This isn't an issue as far as RHEL4-U2 is concerned as linux-2.6.9 (off which
RHEL4 kernels are based) doesn't have no-execute support for ppc64.
Also submitted a patch on 17 June to use existing x86_64 code to allocate
executable scratch pages for out of line singlestepping. This patch will show up
in the next -mm.
All patches to provide this feature are upstream - Andrew pushed the single-step
out of line patch to Linus on 23 June.
Closing this bug.