Re: [PATCH v2 06/11] don't put symlink bodies in pagecache into highmem

From: Al Viro
Date: Thu Jan 14 2016 - 12:13:47 EST

On Thu, Jan 14, 2016 at 05:57:42PM +0100, Tomeu Vizoso wrote:
> Here it is:
> [ 170.715356] inode: ec8c30b0, pages: 1
> [ 170.719014] page_address: (null)

Lovely... And that looks like the first time that inode hits
nfs_get_link(). Ho-hum...

Could you add WARN_ON(inode->i_mapping.nrpages) in inode_nohighmem()
and see if that triggers? It really shouldn't (we hit it after iget5_locked()
in nfs_fhget() has returned us a new inode, and there shouldn't be a chance
for any pages to get in there between struct inode allocation and that
point), but then neither should highmem pages be added to address_space
without __GFP_HIGHMEM in ->flags...