On Wed, May 08, 2024 at 05:24:53AM +0100, Matthew Wilcox wrote: > On Tue, May 07, 2024 at 09:13:17AM -0700, Christoph Hellwig wrote: > > On Tue, May 07, 2024 at 05:11:58PM +0100, Matthew Wilcox wrote: > > > > __bio_add_page(bio, page, len, 0); > > > > > > no? len can be > PAGE_SIZE. > > > > Yes. So what? > > the zero_page is only PAGE_SIZE bytes long. so you'd be writing > from the page that's after the zero page, whatever contents that has. Except that the whole point of the exercise is to use the huge folio so that we don't run past the end of the zero page. Yes, if we use ZERO_PAGE we need to chunk things up and use bio_add_page instead bio_page, check the return value and potentially deal with multiple bios. I'd rather avoid that, though.