On Thu, 15 May 2025 at 19:54, Joanne Koong <joannelkoong@xxxxxxxxx> wrote: > I think this needs to be: > > if (folio) { > void *mapaddr = kmap_local_folio(folio, offset); > void *buf = mapaddr; > unsigned copy = count; > unsigned bytes_copied; > > if (folio_test_highmem(folio) && count > > PAGE_SIZE - offset_in_page(offset)) > copy = PAGE_SIZE - offset_in_page(offset); > > bytes_copied = fuse_copy_do(cs, &buf, ©); > kunmap_local(mapaddr); > offset += bytes_copied; > count -= bytes_copied; > > else it will only copy the first page of the highmem folio. Right. Fix applied. Thanks, Miklos