From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57566) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S3wKr-0005ZG-Bc for qemu-devel@nongnu.org; Sat, 03 Mar 2012 16:17:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S3wKp-0007TX-M6 for qemu-devel@nongnu.org; Sat, 03 Mar 2012 16:17:48 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:51643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S3wKp-0007TH-Fq for qemu-devel@nongnu.org; Sat, 03 Mar 2012 16:17:47 -0500 From: Paul Brook Date: Sat, 3 Mar 2012 21:17:37 +0000 References: <4F4B9E6B.2020405@suse.de> <93FCCE39-FC5B-43F1-B581-76D2AD1660A6@suse.de> In-Reply-To: <93FCCE39-FC5B-43F1-B581-76D2AD1660A6@suse.de> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201203032117.39190.paul@codesourcery.com> Subject: Re: [Qemu-devel] ARM brk bug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Peter Maydell , riku.voipio@iki.fi, qemu-devel@nongnu.org, "Bernhard M. Wiedemann" > In QEMU with -R > > $ qemu-arm -R $(( 0x10000000 )) ./brk > mmap: 0x935000 > current brk: 0xffffffff > 00000000-00008000 ---p 00000000 00:00 0 > 00008000-00009000 r-xp 00000000 08:09 1248935408 /brk > 00009000-00010000 ---p 00000000 00:00 0 > 00010000-00011000 r--p 00000000 08:09 1248935408 /brk > 00011000-00012000 rw-p 00001000 08:09 1248935408 /brk > 00012000-00013000 ---p 00000000 00:00 0 > 00013000-00813000 rw-p 00000000 00:00 0 Would tell us a lot more if (a) you gave us the map before the strace call, and (b) the requested size wasn't the same as the default stack size. > > qemu's strace says: > 15545 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) > = 0x00834000 [...] > 15545 > mmap2(0x00005000,65536,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,0,0) > = 0x00935000 [...] > 15545 brk(NULL) = 0x00012000 > 15545 brk(0x00812000) = 0x00012000 This is your bug. According to the trace above, the brk call fails, but returns success anyway. A quick look at do_brk confirms this suspicion. Paul