diff options
author | fche <fche> | 2006-12-18 11:31:26 +0000 |
---|---|---|
committer | fche <fche> | 2006-12-18 11:31:26 +0000 |
commit | 6d7aee59de0264b0bcaabd85498b8bb7f977cebe (patch) | |
tree | 6d851d241155606476e8550992c01dbf0f06ec17 /tapset | |
parent | ee6dda6f1fc2a8f952b69153fe7c1a6d0c73a7a3 (diff) | |
download | systemtap-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/ChangeLog | 5 | ||||
-rw-r--r-- | tapset/vfs.stp | 7 |
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 */ |