On Mon, Mar 16, 2015 at 03:43:20PM +1100, NeilBrown wrote:
> +     char *kaddr;
> +     struct page *page;
> +     struct address_space *mapping = dentry->d_inode->i_mapping;

Who said that dentry->d_inode hasn't gone NULL by that point?

> +     nd_terminate_link(kaddr, dentry->d_inode->i_size, PAGE_SIZE - 1);

... or changed here.  Again, dentry->d_inode is stable only if you are
holding a reference to dentry.  That's why we have those dances around
nd->inode, for example.  Doing unlazy_walk() is enough to stabilize the
damn thing, so currently ->follow_link() doesn't have to worry about it.
With your changes, though...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to