summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authorfche <fche>2006-12-18 11:31:26 +0000
committerfche <fche>2006-12-18 11:31:26 +0000
commit6d7aee59de0264b0bcaabd85498b8bb7f977cebe (patch)
tree6d851d241155606476e8550992c01dbf0f06ec17 /tapset
parentee6dda6f1fc2a8f952b69153fe7c1a6d0c73a7a3 (diff)
downloadsystemtap-steved-6d7aee59de0264b0bcaabd85498b8bb7f977cebe.tar.gz
systemtap-steved-6d7aee59de0264b0bcaabd85498b8bb7f977cebe.tar.xz
systemtap-steved-6d7aee59de0264b0bcaabd85498b8bb7f977cebe.zip
2006-12-18 Frank Ch. Eigler <fche@elastic.org>
PR 3079 * loc2c-runtime.h (deref, store_deref): Fork x86 and x86-64 variants. Remove dysfunctional 64-bit ops from x86. 2006-12-18 Frank Ch. Eigler <fche@elastic.org> * vfs.stp (ppos_pos): Protect contents with deref(), though this blocks operation on i686 due to bug #3079.
Diffstat (limited to 'tapset')
-rw-r--r--tapset/ChangeLog5
-rw-r--r--tapset/vfs.stp7
2 files changed, 11 insertions, 1 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index ea287395..8ab95e7b 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-18 Frank Ch. Eigler <fche@elastic.org>
+
+ * vfs.stp (ppos_pos): Protect contents with deref(), though
+ this blocks operation on i686 due to bug #3079.
+
2006-12-13 Mike Mason <mmlnx@us.ibm.com>
* scheduler.stp: fixed last line in scheduler.ctxswitch to
diff --git a/tapset/vfs.stp b/tapset/vfs.stp
index 16c51b17..b121d5b9 100644
--- a/tapset/vfs.stp
+++ b/tapset/vfs.stp
@@ -37,7 +37,12 @@ function __find_bdevname(dev, bdev)
function ppos_pos:long (ppos:long) %{ /* pure */
loff_t *ppos = (loff_t *)(long)THIS->ppos;
- THIS->__retvalue = (int64_t)*ppos;
+ /* XXX: but see bug #3079 */
+ THIS->__retvalue = (int64_t) deref (sizeof(loff_t), ppos);
+ if (0) {
+deref_fault:
+ CONTEXT->last_error = "pointer dereference fault";
+ }
%}
function __page_ino:long (page:long) %{ /* pure */