Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 16 Jul 2014 00:02:33 -0400
From: Rich Felker <dalias@...c.org>
To: qemu-devel@...gnu.org
Cc: microblaze-linux@...ts.itee.uq.edu.au, musl@...ts.openwall.com,
	Stefan Kristiansson <stefan.kristiansson@...nalahti.fi>
Subject: Bogus struct stat64 for qemu-microblaze (user emulation)?

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.

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.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.