This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/6979] New: using $$parms under uprobe probes might result in a uninitialized variable access.
- From: "srikar at linux dot vnet dot ibm dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 24 Oct 2008 08:22:02 -0000
- Subject: [Bug translator/6979] New: using $$parms under uprobe probes might result in a uninitialized variable access.
- Reply-to: sourceware-bugzilla at sourceware dot org
$$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.