ERROR::INODE-UPROBES(7stap)
π error::inode-uprobes β the limitations era π¦
okay bestie, welcome to the 7stap manual, section error::inode-uprobes. this is the page where we talk about what inode-uprobes cannot do, and ngl it's giving "we're working on it" energy. π
π DESCRIPTION π
so, the uprobes kernel facility showed up in Linux 3.5 and its whole main character goal was to replace the older out-of-tree utrace patch so we could do user-space probing. slay concept! but the execution? there have been some functional limitations in inode-uprobes that straight-up preclude some systemtap constructs. π
and the devs are like "over time, we hope these regressions will be corrected" β which, periodt, we hope too. π
π«Ά function.return probes
process.function().return probes need "return-probes" or "uretprobes" functionality, and listen... that was just not implemented in the builtin inode-uprobes until kernel 3.10. not me showing up too early to the function's return party. π
if you can't upgrade your kernel, bestie, here's the workaround: consider using process.statement() probes placed on source line numbers at the function's return statements. it's giving "we do a little improvising" but it works. β¨
π function.statement.absolute probes
back in the utrace-equipped kernels era, systemtap let you address probes by literal addresses in the process virtual memory address space. iconic, honestly. but the new inode-uprobes? does not have this capability. rip to that feature, you will be missed. π―οΈ
π SEE ALSO π
stap(1)http://kernelnewbies.org/Linux_3.5http://sourceware.org/systemtap/wiki/utraceerror::reporting(7stap)
and that's the whole page, babe!! this was ERROR::INODE-UPROBES(7stap), part of the 7stap manual set β go read the others, they're lowkey iconic too. mwah, stay probing, and don't forget to upgrade your kernel if you can. πβ¨π¦π
π¦ where this page comes from
- arch rolling: systemtap 5.6-1 Β· GPL-2.0-or-later
- centos-stream 10: systemtap-client 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 10: systemtap-devel 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- centos-stream 10: systemtap-runtime 5.6-3.el10 Β· GPL-2.0-or-later
- centos-stream 10: systemtap-server 5.6-3.el10 Β· GPL-2.0-or-later
- centos-stream 9: systemtap-client 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 9: systemtap-devel 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- centos-stream 9: systemtap-devel 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- centos-stream 9: systemtap-runtime 5.6-3.el9 Β· GPL-2.0-or-later
- centos-stream 9: systemtap-server 5.6-3.el9 Β· GPL-2.0-or-later
- debian bookworm: systemtap-doc 4.8-2
- debian trixie: systemtap-doc 5.1-5
- fedora 43: systemtap-client 5.3-4.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-client 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-devel 5.3-4.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-devel 5.3-4.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-devel 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-devel 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-runtime 5.3-4.fc43 Β· GPL-2.0-or-later
- fedora 43: systemtap-runtime 5.6-1.fc43 Β· GPL-2.0-or-later
- fedora 43: systemtap-server 5.3-4.fc43 Β· GPL-2.0-or-later
- fedora 43: systemtap-server 5.6-1.fc43 Β· GPL-2.0-or-later
- fedora 44: systemtap-client 5.4-3.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-client 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-devel 5.4-3.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-devel 5.4-3.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-devel 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-devel 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-runtime 5.4-3.fc44 Β· GPL-2.0-or-later
- fedora 44: systemtap-runtime 5.6-1.fc44 Β· GPL-2.0-or-later
- fedora 44: systemtap-server 5.4-3.fc44 Β· GPL-2.0-or-later
- fedora 44: systemtap-server 5.6-1.fc44 Β· GPL-2.0-or-later
- nixos 26.05: systemtap 5.4
- nixpkgs unstable: systemtap 5.5
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- ubuntu jammy: systemtap-doc 4.6-2
- ubuntu noble: systemtap-doc 5.0-2ubuntu1
- ubuntu questing: systemtap-doc 5.1-5
- ubuntu resolute: systemtap-doc 5.3-2
- ubuntu stonking: systemtap-doc 5.5-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms