From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20460 invoked by alias); 24 Oct 2008 08:23:23 -0000 Received: (qmail 20223 invoked by uid 48); 24 Oct 2008 08:22:02 -0000 Date: Fri, 24 Oct 2008 08:23:00 -0000 From: "srikar at linux dot vnet dot ibm dot com" To: systemtap@sources.redhat.com Message-ID: <20081024082201.6979.srikar@linux.vnet.ibm.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug translator/6979] New: using $$parms under uprobe probes might result in a uninitialized variable access. X-Bugzilla-Reason: AssignedTo Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2008-q4/txt/msg00195.txt.bz2 $$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.