On Fri, 13 Dec 2002, Szakacsits Szabolcs wrote:
> On Fri, 13 Dec 2002, Szakacsits Szabolcs wrote:
> > > > > 3. ntfs_extent_inode_open: extents are copied to a newly
> > > > > allocated memory. Before using just the pointer equality the
> > > > > memory was freed by the extent and the base inode happily used
> > > > > the unfreed memory => severe memory corruptions.
> >
> > The fix for 3 was uncomplete [sent you update], it didn't copy the
> > mrec.
>
> The below alternative patch is also ok *if* it's guaranteed an extent
> inode is always closed before its base inode closed (note, there are
> two users/pointers to the extent!). However this is not guaranteed.
This is guaranteed. But now it doesn't matter any more. You are simply not
allowed to close extent inodes. If you do, you get what you deserve. But I
agree with the below patch. It adds a nice safety check. I will make it
different however so that it outputs rude error messages when that code
gets hit so people are told not to do this again... (-;
Thanks.
Best regards,
Anton
--
Anton Altaparmakov <aia21 at cantab.net> (replace at with @)
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/
|