summaryrefslogtreecommitdiffstats
path: root/tapset/DEVGUIDE
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-09-17 20:36:24 -0400
committerDave Brolley <brolley@redhat.com>2009-09-17 20:36:24 -0400
commit762684a57fa5420cc122b475f592545e8eeb29cd (patch)
treec1b55657f1aff31e7298d76852bbe8522a84db13 /tapset/DEVGUIDE
parent8afee8bbf045e858dae186d40653293c99dbbcdd (diff)
parent6bde4f381475cea055352d8ad5f60bb2f24de21d (diff)
downloadsystemtap-steved-762684a57fa5420cc122b475f592545e8eeb29cd.tar.gz
systemtap-steved-762684a57fa5420cc122b475f592545e8eeb29cd.tar.xz
systemtap-steved-762684a57fa5420cc122b475f592545e8eeb29cd.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'tapset/DEVGUIDE')
-rw-r--r--tapset/DEVGUIDE17
1 files changed, 17 insertions, 0 deletions
diff --git a/tapset/DEVGUIDE b/tapset/DEVGUIDE
index 693521a8..5d7c8658 100644
--- a/tapset/DEVGUIDE
+++ b/tapset/DEVGUIDE
@@ -244,6 +244,23 @@ potentially be invalid. If you're not sure, err on the side of caution.
The cost of using kread() is small compared to the cost of your tapset
inadvertently crashing a system!
+Add the string
+ /* pure */
+into the body of the embedded-C function if it has no side-effects
+such as changing external state, so that systemtap could elide
+(optimize away) a call to the function if its results are unused.
+
+Add the string
+ /* unprivileged */
+into the body of the embedded-C function, only if it is safe for use
+by unprivileged users. In general, this requires the function to be
+absolutely robust with respect to its inputs, and expose/modify no
+information except that belonging to the user's own processes.
+(The assert_is_myproc() macro may help enforce this.) Roughly
+speaking, it should only perform operations that the same user
+could already do from ordinary userspace interfaces.
+
+
Review & Submission
-------------------
All new tapsets and major changes should be reviewed "early and often"