David Reaver wrote: > kmap_atomic() is deprecated and should be replaced with kmap_local_page() > [1][2]. kmap_local_page() is faster in kernels with HIGHMEM enabled, can > take page faults, and allows preemption. > > According to [2], this is safe as long as the code between kmap_atomic() > and kunmap_atomic() does not implicitly depend on disabling page faults or > preemption. It appears to me that none of the call sites in this patch > depend on disabling page faults or preemption; they are all mapping a page > to simply extract some information from it or print some debug info. > > [1] https://lwn.net/Articles/836144/ > [2] https://docs.kernel.org/mm/highmem.html#temporary-virtual-mappings > > Signed-off-by: David Reaver <me@xxxxxxxxxxxxxxx> > --- > [snip] > @@ -1387,9 +1387,9 @@ static int md_bitmap_init_from_disk(struct bitmap *bitmap, sector_t start) > * If the bitmap is out of date, dirty the whole page > * and write it out > */ > - paddr = kmap_atomic(page); > + paddr = kmap_local_page(page); > memset(paddr + offset, 0xff, PAGE_SIZE - offset); > - kunmap_atomic(paddr); > + kunmap_local(paddr); For these we defined memset_page() With that change: Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> [snip]