diff options
author | William Cohen <wcohen@redhat.com> | 2010-01-13 23:23:26 -0500 |
---|---|---|
committer | William Cohen <wcohen@redhat.com> | 2010-01-13 23:23:26 -0500 |
commit | 95fe80a2100221faeb269c7d8319567def08295e (patch) | |
tree | 3a65cbc3129482f0224f882511444cfa8c90ee4e /tapsets.cxx | |
parent | cc52276b5ecd4501271d3846ad3519c7db03b54f (diff) | |
parent | 3c5b8e2b99a772e3d19d6c4bf26b3a06037523a4 (diff) | |
download | systemtap-steved-95fe80a2100221faeb269c7d8319567def08295e.tar.gz systemtap-steved-95fe80a2100221faeb269c7d8319567def08295e.tar.xz systemtap-steved-95fe80a2100221faeb269c7d8319567def08295e.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index be24f43a..7835b39a 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -4799,12 +4799,12 @@ uprobe_derived_probe_group::emit_module_exit (systemtap_session& s) s.op->newline() << "#endif /* 2.6.31 */"; s.op->newline() << "if (tsk) {"; // just in case the thing exited while we weren't watching - s.op->newline(1) << "if (get_user (sdt_semaphore, (unsigned short __user*) sup->sdt_sem_address) == 0) {"; + s.op->newline(1) << "if (__access_process_vm_noflush(tsk, sup->sdt_sem_address, &sdt_semaphore, sizeof(sdt_semaphore), 0)) {"; s.op->newline(1) << "sdt_semaphore --;"; s.op->newline() << "#ifdef DEBUG_UPROBES"; s.op->newline() << "_stp_dbug (__FUNCTION__,__LINE__, \"-semaphore %#x @ %#lx\\n\", sdt_semaphore, sup->sdt_sem_address);"; s.op->newline() << "#endif"; - s.op->newline() << "put_user (sdt_semaphore, (unsigned short __user*) sup->sdt_sem_address);"; + s.op->newline() << "__access_process_vm_noflush(tsk, sup->sdt_sem_address, &sdt_semaphore, sizeof(sdt_semaphore), 1);"; s.op->newline(-1) << "}"; // XXX: need to analyze possibility of race condition s.op->newline(-1) << "}"; |