Re: [PATCH v2] mm/highmem: Fix kernel-doc warnings in highmem*.h

From: Matthew Wilcox
Date: Tue Apr 19 2022 - 08:44:37 EST


On Mon, Apr 18, 2022 at 07:56:38PM +0200, Fabio M. De Francesco wrote:
> +/**
> + * kunmap_atomic - Unmap the virtual address mapped by kmap_atomic()
> + * @__addr: Virtual address to be unmapped
> + *
> + * Counterpart to kmap_atomic().

I don't think this is a terribly useful paragraph?

> + * Effectively a wrapper around kunmap_local() which additionally undoes
> + * the side effects of kmap_atomic(), i.e. reenabling pagefaults and
> + * preemption. Prevent people trying to call kunmap_atomic() as if it
> + * were kunmap() because kunmap_atomic() should get the return value of
> + * kmap_atomic(), not its argument which is a pointer to struct page.

I'd rather this were useful advice to the caller than documentation of
how it works. How about:

* Unmap an address previously mapped by kmap_atomic(). Mappings
* should be unmapped in the reverse order that they were mapped.
* See kmap_local_page() for details. @__addr can be any address within
* the mapped page, so there is no need to subtract any offset that has
* been added. In contrast to kunmap(), this function takes the address
* returned from kmap_atomic(), not the page passed to kmap_atomic().
* The compiler will warn you if you pass the page.