summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/ChangeLog5
-rw-r--r--runtime/autoconf-task-uid.c5
-rw-r--r--runtime/transport/ChangeLog5
-rw-r--r--runtime/transport/transport.c7
4 files changed, 21 insertions, 1 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index ca852d53..fad46be1 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-06 Frank Ch. Eigler <fche@elastic.org>
+
+ PR9699.
+ * autoconf-task-uid.c: New test.
+
2008-12-21 Stan Cox <scox@redhat.com>
* sduprobes.h (STAP_PROBE): Put block around probe point.
diff --git a/runtime/autoconf-task-uid.c b/runtime/autoconf-task-uid.c
new file mode 100644
index 00000000..5f5a321c
--- /dev/null
+++ b/runtime/autoconf-task-uid.c
@@ -0,0 +1,5 @@
+#include <linux/sched.h>
+
+struct task_struct *foo;
+void bar () { foo->uid = 0; }
+/* as opposed to linux/cred.h wrappers current_uid() etc. */
diff --git a/runtime/transport/ChangeLog b/runtime/transport/ChangeLog
index c6dfa005..e8e2a047 100644
--- a/runtime/transport/ChangeLog
+++ b/runtime/transport/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-06 Frank Ch. Eigler <fche@elastic.org>
+
+ PR9699.
+ * transport.c (_stp_transport_init): Adapt to task_struct cred switch.
+
2008-11-28 Frank Ch. Eigler <fche@elastic.org>
PR5947: make code -Wpointer-arith clean
diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c
index 9f7a25f2..f5ee2c36 100644
--- a/runtime/transport/transport.c
+++ b/runtime/transport/transport.c
@@ -2,7 +2,7 @@
* transport.c - stp transport functions
*
* Copyright (C) IBM Corporation, 2005
- * Copyright (C) Red Hat Inc, 2005-2008
+ * Copyright (C) Red Hat Inc, 2005-2009
* Copyright (C) Intel Corporation, 2006
*
* This file is part of systemtap, and is free software. You can
@@ -211,8 +211,13 @@ int _stp_transport_init(void)
dbug_trans(1, "transport_init\n");
_stp_init_pid = current->pid;
+#ifdef STAPCONF_TASK_UID
_stp_uid = current->uid;
_stp_gid = current->gid;
+#else
+ _stp_uid = current_uid();
+ _stp_gid = current_gid();
+#endif
#ifdef RELAY_GUEST
/* Guest scripts use relay only for reporting warnings and errors */