On Thu, Sep 19, 2019 at 10:01:54AM -0500, Bill O'Donnell wrote: > + uint kmflag_mask = 0; > + > + if (!(flags & XBF_READ)) > + kmflag_mask |= KM_ZERO; > @@ -391,7 +396,7 @@ xfs_buf_allocate_memory( > struct page *page; > uint retries = 0; > retry: > - page = alloc_page(gfp_mask); > + page = alloc_page(gfp_mask | kmflag_mask); alloc_page takes GFP_ flags, not KM_. In fact sparse should have warned about this.