On (22/08/15 17:48), Alexey Romanov wrote: > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index 99d93a48cbe0..17641bde5432 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -1559,8 +1559,8 @@ static void zs_object_copy(struct size_class *class, unsigned long dst, > * Calling kunmap_atomic(d_addr) is necessary. kunmap_atomic() > * calls must occurs in reverse order of calls to kmap_atomic(). > * So, to call kunmap_atomic(s_addr) we should first call > - * kunmap_atomic(d_addr). For more details see > - * https://lore.kernel.org/linux-mm/5512421D.4000603@xxxxxxxxxxx/ > + * kunmap_atomic(d_addr). For more details see > + * Documentation/mm/highmem > */ > if (s_off >= PAGE_SIZE) { > kunmap_atomic(d_addr); So I'm not against this patch, but in general I don't think we document kmap_atomic/kunmap_atomic in the kernel. That's type of API that people get BUG() on and then figure out that it's a stack and pop-s should mirror push-es. We have lots of undocumented src/dst kmap-s: src = kmap_atomic(s_page); dst = kmap_atomic(d_page); do_copy_page(dst, src); kunmap_atomic(dst); kunmap_atomic(src); Like I said, I'm not against this patch, so FWIW Reviewed-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> I'll let Minchan to have the final word.