On Sun, May 03, 2020 at 02:28:34PM -0400, Gabriel Krisman Bertazi wrote: > Matthew Wilcox <willy@xxxxxxxxxxxxx> writes: > > mapcount is 0, mapping is NULL, refcount is 1, so that's all fine. > > flags has 'waiters' set, which is not in the allowed list. I don't > > know the internals of FUSE, so I don't know why that is. > > Hi > > On the first message, Nikolaus sent the following line: > > >> [ 2333.009937] fuse: page=00000000dd1750e3 index=2022240 flags=17ffffc0000097, count=1, > >> mapcount=0, mapping=00000000125079ad > > It should be noted that on the second run, where we got the dump_page > log, it indeed had a null mapping, which is similar to what Nikolaus > asked on the previous thread he linked to, but looks like this wasn't > the case on at least some of the reproductions of the issue. On the > line above, the condition that triggered the warning was page->mapping > != NULL. I don't know what to do with this information, though. I don't see anything in upstream which will print "NULL" for a null pointer passed to pointer(). ptr_to_id() doesn't check for NULL, nor does __ptr_to_hashval(). I think we _should_, along with the ERR_PTR values and values less than 4096. But that patch isn't upstream.