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

David Howells dhowells at redhat.com
Fri Aug 28 10:01:18 EDT 2009


Andrew Morton <akpm at linux-foundation.org> 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



More information about the linux-afs mailing list