This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/13142] New: Stopping script execution on Android (ARM) does not unload kernel module


http://sourceware.org/bugzilla/show_bug.cgi?id=13142

             Bug #: 13142
           Summary: Stopping script execution on Android (ARM) does not
                    unload kernel module
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: minor
          Priority: P2
         Component: runtime
        AssignedTo: systemtap@sourceware.org
        ReportedBy: f-turgis@ti.com
    Classification: Unclassified


Testing systemtap v1.3 and v1.5 on android has shown that kernel module is not
unloaded after doing Ctrl-C.
Thanks to systemtap verbose traces, this has been root caused to the use of:
execl("/bin/sh", "sh", ...) in runtime/staprun/mainloop.c
Android stores sh in /system/bin so is not found by syscall. However, path is
correctly set in PATH env variable.

Therefore Franck Ch. Eigler has proposed execlp("sh", "sh", ...) so that system
call looks for right path in PATH.

It has been tested OK. Furthermore, there was potential issue with this (see
execvp comments in same file) but it has been found that:
"On second thought ... the place where we were worried about these extra
syscalls is the path that fork/exec's the CMD part of "stap -c CMD".  In the
case of system_cmd() and cleanup_and_exit(), those don't matter."

Note that there are then 2 places where execl could be replaced by execlp

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]