[Yaffs] YAFFS and 2.6.34-rc7 breakage

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Bob Dunlop
Date:  
To: yaffs
Subject: [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 :-(

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.

-- 
        Bob Dunlop