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 translator/6979] New: using $$parms under uprobe probes might result in a uninitialized variable access.


$$parms fails seems to fail under a particular test.

$ sudo stap -k -v -v -v allfuncs.stp -c "./git-1.5.4/git clone git.systemtap
/tmp/systemtap"
where  allfuncs.stp  is
-------------------------------------------------------------------------------------
probe process("/home/srikar/git-1.5.4/git").function("*").call
{
        printf ("%s \n", $$parms);

}
--------------------------------------------------------------------------------
gives 
.....
cc1: warnings being treated as errors
/tmp/stapxK2Ynm/stap_18137.c: In function â??probe_1683â??:
/tmp/stapxK2Ynm/stap_18137.c:10419: warning: â??s0â?? is used uninitialized in this
function
make[1]: *** [/tmp/stapxK2Ynm/stap_18137.o] Error 1
make: *** [_module_/tmp/stapxK2Ynm] Error 2
make: Leaving directory `/home/srikar/work/linux-2.6.23'
Pass 4: compiled C into "stap_18137.ko" in 36650usr/1710sys/37410real ms.
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
Keeping temporary directory "/tmp/stapxK2Ynm"
$


code at /tmp/stapxK2Ynm/stap_18137.c:10419  looks like this


10415     { int32_t value = deref (4, addr);u.pieces.p0 = value; }
10416     { // DWARF expression: 0x51
10417       {
10418         intptr_t s0;
10419         addr = s0;
10420       }
10421     }
10422     { int32_t value = deref (4, addr);u.pieces.p4 = value; }
10423     THIS->__retvalue = u.whole;
10424   }

It looks we are trying to assign uninitialized ptr s0 to addr;

some information about probe_1683:

60563   { .finder = { .pathname="/home/srikar/git-1.5.4/git", },
.address=0x80763a2UL, .pp="process(\"/home/srikar/git-1.5.4/git\").          
function(\"find_packed_object@/home/srikar/git-1.5.4/builtin-pack-objects.c:213\").call",
.ph=&probe_1683, },

 1386     struct probe_1683_locals {
 1387       string_t __tmp0;
 1388       int64_t __tmp1;
 1389       int64_t __tmp2;
 1390       string_t __tmp3;
 1391     } probe_1683;

probe_1683 corresponds to 
static struct revindex_entry * find_packed_object(struct packed_git *p,
                                                   off_t ofs)

-- 
           Summary: using $$parms under uprobe probes might result in a
                    uninitialized variable access.
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: srikar at linux dot vnet dot ibm dot com


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

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


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