summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/ChangeLog9
-rw-r--r--runtime/staprun/ChangeLog6
-rw-r--r--runtime/staprun/common.c2
-rw-r--r--runtime/staprun/ctl.c4
-rw-r--r--runtime/task_finder.c11
5 files changed, 24 insertions, 8 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index e3c1ea8d..a2e49822 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,12 @@
+2008-04-25 David Smith <dsmith@redhat.com>
+
+ From Srinivasa <srinivasa@in.ibm.com>
+ * task_finder.c (__stp_get_mm_path): Fixed kernel 2.6.25 change.
+
+2008-04-24 David Smith <dsmith@redhat.com>
+
+ * task_finder.c (__stp_get_mm_path): Made kernel 2.6.25 changes.
+
2008-04-16 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_get_mm_path): Made kernel 2.6.18 changes.
diff --git a/runtime/staprun/ChangeLog b/runtime/staprun/ChangeLog
index f1abd736..9e0ccb73 100644
--- a/runtime/staprun/ChangeLog
+++ b/runtime/staprun/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-24 Frank Ch. Eigler <fche@elastic.org>
+
+ PR 6451.
+ * common.c (control_channel): Initialize to -1.
+ * ctl.c (close_ctl_channel): Tolerate fd=0.
+
2008-04-22 Martin Hunt <hunt@redhat.com>
* cap.c (init_cap): Detect capabilities failure and
diff --git a/runtime/staprun/common.c b/runtime/staprun/common.c
index f8fc418c..b716d27f 100644
--- a/runtime/staprun/common.c
+++ b/runtime/staprun/common.c
@@ -31,7 +31,7 @@ char *modname = NULL;
char *modpath = "";
char *modoptions[MAXMODOPTIONS];
-int control_channel = 0;
+int control_channel = -1; /* NB: fd==0 possible */
void parse_args(int argc, char **argv)
{
diff --git a/runtime/staprun/ctl.c b/runtime/staprun/ctl.c
index 15c5c3d3..4597bf72 100644
--- a/runtime/staprun/ctl.c
+++ b/runtime/staprun/ctl.c
@@ -46,8 +46,8 @@ int init_ctl_channel(const char *name, int verb)
void close_ctl_channel(void)
{
- if (control_channel > 0) {
+ if (control_channel >= 0) {
close(control_channel);
- control_channel = 0;
+ control_channel = -1;
}
}
diff --git a/runtime/task_finder.c b/runtime/task_finder.c
index d0a9a40f..aafe9c32 100644
--- a/runtime/task_finder.c
+++ b/runtime/task_finder.c
@@ -153,11 +153,12 @@ __stp_get_mm_path(struct mm_struct *mm, char *buf, int buflen)
vma = vma->vm_next;
}
if (vma) {
- struct vfsmount *mnt = mntget(vma->vm_file->f_vfsmnt);
- struct dentry *dentry = dget(vma->vm_file->f_dentry);
- rc = d_path(dentry, mnt, buf, buflen);
- dput(dentry);
- mntput(mnt);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+ rc = d_path(vma->vm_file->f_dentry, vma->vm_file->f_vfsmnt,
+ buf, buflen);
+#else
+ rc = d_path(&(vma->vm_file->f_path), buf, buflen);
+#endif
}
else {
*buf = '\0';