Re: [Yaffs] YAFFS and 2.6.34-rc7 breakage

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Nick Bane
Date:  
To: yaffs, rdunlop
Subject: Re: [Yaffs] YAFFS and 2.6.34-rc7 breakage
>
> I've been trying out the latest git version of yaff2 with the 2.6.34-rc7
> kernel and the system won't boot :-(
>

My recent 2.6.34-rc7 ci in balloonboard.org was only tested for a TCL build
so it is possible that there may be missing config options for other builds
if that is what you are using. Specifically one has to enable the AEABI
option and (for the buildroot system) it seemed that I needed to also
enable the OABI compat setting too. This was with an older version of
yaffs2 (cvs ver 18662) so that also might have something to do eith it. I
think Wookey also fixed that problem recently too.

The older yaffs2 version builds and boots fine for me into an existing rootfs.

> This is a previously working system when using 2.6.33 and the last CVS
> yaffs release.
>
> Primary symptom is a kernel panic "Init not found".
>
> Scattering printks in the code I tracked it down to the first four bytes
> of any symlink name (alias) becoming corrupted/overwritten with a data
> pointer.
>
> In the function yaffs_follow_link() in yaffs_fs.c the code mallocs a string
> alias and passes it to vfs_follow_link() before freeing it. It looks like
> something in the kernel is keeping a reference to the string and accessing
> it after the free. Simple proof of this is that if you comment out the
> kfree() the kernel boots but obviously has a nasty memory leek.
>
> Code in fs/namei.c link_path_walk() looks like it might be storing a
> reference to the string in nd->last.
>
> It's now not clear to me if this is a YAFFS problem or a kernel one.
>