Re: [PATCH] AFS: Stop readlink() on AFS crashing because file not passed to afs_readpage()

From: David Howells
Date: Fri Aug 28 2009 - 10:04:41 EST


Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> That seems like a rather large bug.

Indeed.

I've not seen this happen because when a symlink inode is filled in,
afs_mntpt_check_symlink() is called to see whether it's actually a mountpoint,
and *that* calls read_mapping_page() correctly to read the contents of the
symlink.

The contents of the symlink then hang around in the pagecache, preventing
further calls to afs_readpage() by page_getlink().

However, if you wait long enough, as presumably Anton has, the contents of the
symlink get ejected from the pagecache, but the inode is retained, and thus
the next readlink will oops.

> To which kernel version(s) should we apply this?

kAFS isn't that widely used yet, so only the latest, I think.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/