[Unionfs] Re: A new one: EIP in unionfs_permission()

Klaus Knopper unionfs at knopper.net
Mon Aug 22 08:27:46 EDT 2005


On Mon, Aug 22, 2005 at 04:14:44PM +0400, Anton Farygin wrote:
> Klaus Knopper wrote:
> 
> >On Mon, Aug 22, 2005 at 01:49:05PM +0400, Anton Farygin wrote:
> > 
> >
> >>On Sun, 21 Aug 2005 19:50:14 +0200, Klaus Knopper wrote:
> >>
> >>   
> >>
> >>>Hi,
> >>>
> >>>After reading some other kernel sources, I believe that it is wrong to
> >>>DPUT(whiteout_dentry) if IS_ERR(whiteout_dentry) != 0 and whiteout_dentry
> >>>!=NULL, in unionfs_create()/inode.c. I.e., it could happen that
> >>>LOOKUP_ONE_LEN() returns a value, but the dentry isn't actually 
> >>>allocated,
> >>>yet being freed in unionfs_create().
> >>>
> >>>I'm not yet sure if this is THE bug yet, but it just intuitively just
> >>>looks wrong to me, and also, it seems to be the only place in inode.c
> >>>where a DPUT(whiteout_dentry) can still happen when
> >>>IS_ERR(whiteout_dentry) is true.
> >>>
> >>>Could someone comment on this?
> >>>     
> >>>
> >>for me this patch correct, but not fix some oopses after kde startup ;(
> >>   
> >>
> >
> >Neither for me. :-( But "at least", the crash now happens at a different
> >place, no longer in unionfs_create(). Could be coincidence, though.
> >
> > 
> >
> This crash reproduced on some unionfs parts.
> 
> Looks like unknown kernel part periodically clear out inode data from 
> hidden inodes index.

Interesting. Can you give more details? I'm browsing the unionfs source
more regularly now anyways...

> Klaus, what filesystem used in KNOPPIX ? I'm know about compressed 
> loop... and what FS used for compressed image ?

compressed loop is the filesystem-independent block device. For the
read-only branch of /UNIONFS, iso9660 is used. One known issue with
iso9660 is that hardlinks of a mounted iso9660 filesystem do NOT have
identical inodes under Linux, but I don't think that this could possibly
affect unionfs. Or not?

The read/write branch is tempfs.

Regards
-Klaus Knopper
PS: I also had a kernel oops with my favourite version of unionfs
yesterday, 1.0.11, happened when opening the KDE menu during an apt-get
dist-upgrade. But no, I'm not losing my confidence in unionfs yet... ;-)



More information about the unionfs mailing list