From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/5505 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general,gmane.comp.emulators.qemu,gmane.linux.uclinux.microblaze Subject: Re: Re: [Qemu-devel] Bogus struct stat64 for qemu-microblaze (user emulation)? Date: Wed, 16 Jul 2014 11:59:58 -0400 Message-ID: <20140716155957.GL17402@brightrain.aerifal.cx> References: <20140716040233.GA25975@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1405526425 27351 80.91.229.3 (16 Jul 2014 16:00:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 16 Jul 2014 16:00:25 +0000 (UTC) Cc: QEMU Developers , musl@lists.openwall.com, microblaze-linux@lists.itee.uq.edu.au, Stefan Kristiansson , "Edgar E. Iglesias" To: Peter Maydell Original-X-From: musl-return-5510-gllmg-musl=m.gmane.org@lists.openwall.com Wed Jul 16 18:00:19 2014 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1X7Rcx-0006OX-Cj for gllmg-musl@plane.gmane.org; Wed, 16 Jul 2014 18:00:19 +0200 Original-Received: (qmail 17575 invoked by uid 550); 16 Jul 2014 16:00:18 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 17564 invoked from network); 16 Jul 2014 16:00:18 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:5505 gmane.comp.emulators.qemu:286792 gmane.linux.uclinux.microblaze:12120 Archived-At: On Wed, Jul 16, 2014 at 09:36:23AM +0100, Peter Maydell wrote: > On 16 July 2014 05:02, Rich Felker wrote: > > The qemu-microblaze definition of struct stat64 seems to mismatch the > > kernel definition, which is using asm-generic/stat.h. See: > > > > http://git.qemu.org/?p=qemu.git;a=blob;f=linux-user/syscall_defs.h;h=c9e6323905486452f518102bf40ba73143c9d601;hb=HEAD#l1469 > > http://git.qemu.org/?p=qemu.git;a=blob;f=linux-user/syscall.c;h=a50229d0d72fc68966515fcf2bc308b833a3c032;hb=HEAD#l4949 > > > > This seems to be causing a truncated-to-32-bit inode number to be > > stored in the location where st_ino should reside, and a spurious copy > > of the inode number to be written in a unused slot at the end of the > > structure. > > Sounds quite plausible -- we've had issues with other archs > not having correct stat struct definitions in QEMU. I don't > suppose anybody's done much testing of the microblaze > linux-user code. The bug seems to have been introduced here. http://git.qemu.org/?p=qemu.git;a=commitdiff;h=a523eb06ec3fb2f4f4f4d362bb23704811d11379 I'm CC'ing the author/committer in case he has any input on why he did this. > > Is my analysis correct? Stefan Kristiansson and I found this while > > working on the or1k port of musl libc, where it seems our structure > > for the existing microblaze port is wrongly aligned with the qemu > > definition rather than the definition the real kernel is using. Before > > I try correcting this on our side, I want to make sure we're working > > with the right version. > > I would definitely trust the kernel definition, not QEMU's! Yes. Rich