qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: qemu-devel@nongnu.org
Cc: linux-kernel@vger.kernel.org, Blue Swirl <blauwirbel@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	sam@ravnborg.org, davem@davemloft.net,
	Artyom Tarasenko <atar4qemu@googlemail.com>
Subject: [Qemu-devel] Commit 085219f79cad broke Sparc-32 back in 2.6.28.
Date: Sun, 21 Feb 2010 10:25:09 -0600	[thread overview]
Message-ID: <201002211025.11588.rob@landley.net> (raw)
In-Reply-To: <201002201712.23628.rob@landley.net>

On Saturday 20 February 2010 17:12:22 Rob Landley wrote:
> On Saturday 20 February 2010 15:59:31 Blue Swirl wrote:
> > > I've got 2.6.32 booting to a command prompt (albeit with serial console
> > > and intentionall restricted set of hardware).  But then it misbehaves.
> > >
> > >  I'll try getting 2.6.18 to build with a known .config, and then bisect
> > > forward if that seems to work...
> >
> > Good plan. Bisecting backwards could be interesting too, to find out
> > which releases are actually working out of the box.
>
> I started by iterating through the release versions.  It's working up
> through 2.6.28, then 2.6.29 has the out of memory error in my init script.
>
> Bisecting now...
>
> Rob

And the commit that broke it bisects to:

085219f79cad89291699bd2bfb21c9fdabafe65f is first bad commit
commit 085219f79cad89291699bd2bfb21c9fdabafe65f
Author: Sam Ravnborg <sam@ravnborg.org>
Date:   Fri Jan 2 18:47:34 2009 -0800

    sparc32: use proper types in struct stat
    
    Like sparc64 use proper types in struct stat
    
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

This commit breaks stat and makes sparc32 essentially unusable.  It changes 
the size of the various types in stat.h, and means that if you "mount -t tmpfs 
/tmp /tmp" and then try to ls /tmp, ls dies with a memory allocation error.

I've confirmed that reverting it fixes the problem.

Looking at the actual diff, here's the hunk that causes problems:

--- a/arch/sparc/include/asm/stat_32.h
+++ b/arch/sparc/include/asm/stat_32.h
        short           st_nlink;
-       unsigned short  st_uid;
-       unsigned short  st_gid;
+       uid_t           st_uid;
+       gid_t           st_gid;

The symptom (in my uClibc+busybox root filesystem) is:

/ # mount -t tmpfs /tmp /tmp
/ # ls -l /tmp
ls: can't open '/tmp': Cannot allocate memory
total 0

The problem is that both uid_t and gid_t are "int" instead of "short".  This 
patch changes the size of those types.  (I note that this is apparently a 
known issue, there's __compat_uid_t and friends in the sparc asm directory...)

Rob
-- 
Latency is more important than throughput. It's that simple. - Linus Torvalds

  reply	other threads:[~2010-02-21 16:25 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-11 11:20 [Qemu-devel] qemu-ppc can't run static uClibc binaries Rob Landley
2010-02-11 12:32 ` Alexander Graf
2010-02-14  8:36   ` Rob Landley
2010-02-14 14:41     ` Alexander Graf
2010-02-15 11:10       ` Rob Landley
2010-02-15 11:19         ` Alexander Graf
2010-02-15 12:58           ` Rob Landley
2010-02-15 13:01             ` Alexander Graf
2010-02-16 18:31               ` Rob Landley
2010-02-16 18:36                 ` Alexander Graf
2010-02-16 19:14                   ` Rob Landley
2010-02-15 13:08             ` [Qemu-devel] " Michael S. Tsirkin
2010-02-16  0:52               ` Rob Landley
2010-02-16  9:31                 ` Alexander Graf
2010-02-16 18:14                   ` Rob Landley
2010-02-17  9:24                     ` Artyom Tarasenko
2010-02-17 15:45                       ` Paolo Bonzini
2010-02-17 18:55                         ` Rob Landley
2010-02-17 20:46                           ` Blue Swirl
2010-02-18 11:38                             ` Artyom Tarasenko
2010-02-18 13:17                               ` Rob Landley
2010-02-18 14:10                                 ` Artyom Tarasenko
2010-02-18 13:05                             ` Rob Landley
2010-02-18 11:21                           ` Artyom Tarasenko
2010-02-18 13:14                             ` Rob Landley
2010-02-18 14:19                               ` Artyom Tarasenko
2010-02-20 17:17                             ` [Qemu-devel] Fun with sparc (was Re: qemu-ppc can't run static uClibc binaries.) Rob Landley
2010-02-20 17:34                               ` [Qemu-devel] " Blue Swirl
2010-02-20 18:38                                 ` Rob Landley
2010-02-20 21:59                                   ` Blue Swirl
2010-02-20 23:12                                     ` Rob Landley
2010-02-21 16:25                                       ` Rob Landley [this message]
2010-02-21 23:57                                         ` [Qemu-devel] Re: Commit 085219f79cad broke Sparc-32 back in 2.6.28 David Miller
2010-02-22  0:28                                           ` Bartlomiej Zolnierkiewicz
2010-02-22  2:03                                             ` Rob Landley
2010-02-22  2:06                                         ` David Miller
2010-02-20 21:59                                   ` [Qemu-devel] Re: Fun with sparc (was Re: qemu-ppc can't run static uClibc binaries.) Artyom Tarasenko
2010-02-20 21:39                                 ` Artyom Tarasenko
2010-02-20 22:03                                   ` Blue Swirl
2010-02-17 16:36                       ` [Qemu-devel] Re: qemu-ppc can't run static uClibc binaries Rob Landley
2010-02-16  8:21           ` [Qemu-devel] " Stuart Brady
2010-02-28 21:05             ` Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201002211025.11588.rob@landley.net \
    --to=rob@landley.net \
    --cc=atar4qemu@googlemail.com \
    --cc=blauwirbel@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).