From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JRols-0002er-Gm for qemu-devel@nongnu.org; Wed, 20 Feb 2008 08:14:00 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JRolr-0002ed-AZ for qemu-devel@nongnu.org; Wed, 20 Feb 2008 08:13:59 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JRolr-0002ea-45 for qemu-devel@nongnu.org; Wed, 20 Feb 2008 08:13:59 -0500 Received: from miranda.se.axis.com ([193.13.178.8]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JRolq-0004z4-Nq for qemu-devel@nongnu.org; Wed, 20 Feb 2008 08:13:59 -0500 Received: from axis.com (edgar.se.axis.com [10.93.151.1]) by miranda.se.axis.com (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id m1KDDtSU017295 for ; Wed, 20 Feb 2008 14:13:55 +0100 Date: Wed, 20 Feb 2008 14:13:55 +0100 From: "Edgar E. Iglesias" Subject: Re: [Qemu-devel] [PATCH] possible mmap regression Message-ID: <20080220131355.GA10055@edgar.se.axis.com> References: <94a0d4530802121142xd7987d7k31cd74b488882d19@mail.gmail.com> <20080216210715.GD7603@edgar.se.axis.com> <94a0d4530802200503ka8126eaq63ff9009862a19f0@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <94a0d4530802200503ka8126eaq63ff9009862a19f0@mail.gmail.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Felipe Contreras Cc: qemu-devel@nongnu.org, "Edgar E. Iglesias" On Wed, Feb 20, 2008 at 03:03:39PM +0200, Felipe Contreras wrote: > Hi Edgar, > > On Feb 16, 2008 11:07 PM, Edgar E. Iglesias wrote: > > > > On Tue, Feb 12, 2008 at 09:42:15PM +0200, Felipe Contreras wrote: > > > Hi, > > > > > > I don't know what I'm doing but this seems to fix the weird issue I was having. > > > http://article.gmane.org/gmane.comp.emulators.qemu/23314 > > > > > > I've found out that this happens on linux 2.6.23, but not 2.6.24. > > > > > > Cheers. > > > > > > -- > > > Felipe Contreras > > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > > > index 6292826..3050ad9 100644 > > > --- a/linux-user/mmap.c > > > +++ b/linux-user/mmap.c > > > @@ -251,7 +251,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, > > > especially important if qemu_host_page_size > > > > qemu_real_host_page_size */ > > > p = mmap(g2h(mmap_start), > > > - host_len, prot, flags | MAP_FIXED, fd, host_offset); > > > + host_len, prot, flags, fd, host_offset); > > > if (p == MAP_FAILED) > > > return -1; > > > /* update start so that it points to the file position at 'offset' */ > > > > Hello, > > > > Sorry, but I beleive your patch will break simulations where the targets pagesize is larger than the hosts. > > > > Would you mind trying the attach patched and let us know if it helps for you? > > If not, it would be great if you could provide a small test case that trigs the bug you are seeing so we can debug the problem. > > > > Best regards > > -- > > Edgar E. Iglesias > > Axis Communications AB > > > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > > index 6292826..78a8162 100644 > > --- a/linux-user/mmap.c > > +++ b/linux-user/mmap.c > > @@ -385,6 +385,9 @@ int target_munmap(abi_ulong start, abi_ulong len) > > real_end -= qemu_host_page_size; > > } > > > > + if (start < mmap_next_start) > > + mmap_next_start = start; > > + > > /* unmap what we can */ > > if (real_start < real_end) { > > ret = munmap(g2h(real_start), real_end - real_start); > > > > I tried your patch and it still crashes. > > I sent the details before: > http://article.gmane.org/gmane.comp.emulators.qemu/23314 > http://article.gmane.org/gmane.comp.emulators.qemu/23328 > > Basically it was triggered by this change: > http://repo.or.cz/w/qemu.git?a=commitdiff;h=edbcc0b2eb1d4caee5f293e5c79f81023f3394e2 > > And it happens with some recursive Makefiles stuff. Thanks Felipe, I was also seeing errors with that commit. Later that same evening I found a few more errors with the mmap code which tried to fix. Would you mind trying that patch too? You can find it here: http://lists.gnu.org/archive/html/qemu-devel/2008-02/msg00331.html Best regards - Edgar E. Iglesias Axis Communications AB