Re: [PATCH] virtio: console: Replace deprecated kmap_atomic with kmap_local_page

From: Amit Shah
Date: Thu Jan 09 2025 - 05:00:45 EST


On Wed, 2025-01-08 at 19:59 -0800, 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 replacement is safe as long as the code
> between
> kmap_atomic() and kunmap_atomic() does not implicitly depend on
> disabling
> page faults or preemption. In this patch, the only thing happening
> between
> mapping and unmapping the page is a memcpy, and I don't suspect it
> depends
> on disabling page faults or preemption.
>
> [1] https://lwn.net/Articles/836144/
> [2]
> https://docs.kernel.org/mm/highmem.html#temporary-virtual-mappings
>
> Signed-off-by: David Reaver <me@xxxxxxxxxxxxxxx>

Reviewed-by: Amit Shah <amit@xxxxxxxxxx>