zram: use kmap_local_page()
authorSergey Senozhatsky <senozhatsky@chromium.org>
Tue, 28 Nov 2023 08:22:07 +0000 (17:22 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 11 Dec 2023 00:51:55 +0000 (16:51 -0800)
Use kmap_local_page() instead of kmap_atomic() which has been
deprecated.

Link: https://lkml.kernel.org/r/20231128083845.848008-1-senozhatsky@chromium.org
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Acked-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/block/zram/zram_drv.c

index f6b286e7f310ea009838d19126d10bf013316adf..2b1d82473be85e582bd0f44b9297166255964009 100644 (file)
@@ -1321,9 +1321,9 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
                void *mem;
 
                value = handle ? zram_get_element(zram, index) : 0;
-               mem = kmap_atomic(page);
+               mem = kmap_local_page(page);
                zram_fill_page(mem, PAGE_SIZE, value);
-               kunmap_atomic(mem);
+               kunmap_local(mem);
                return 0;
        }
 
@@ -1336,14 +1336,14 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
 
        src = zs_map_object(zram->mem_pool, handle, ZS_MM_RO);
        if (size == PAGE_SIZE) {
-               dst = kmap_atomic(page);
+               dst = kmap_local_page(page);
                memcpy(dst, src, PAGE_SIZE);
-               kunmap_atomic(dst);
+               kunmap_local(dst);
                ret = 0;
        } else {
-               dst = kmap_atomic(page);
+               dst = kmap_local_page(page);
                ret = zcomp_decompress(zstrm, src, size, dst);
-               kunmap_atomic(dst);
+               kunmap_local(dst);
                zcomp_stream_put(zram->comps[prio]);
        }
        zs_unmap_object(zram->mem_pool, handle);
@@ -1416,21 +1416,21 @@ static int zram_write_page(struct zram *zram, struct page *page, u32 index)
        unsigned long element = 0;
        enum zram_pageflags flags = 0;
 
-       mem = kmap_atomic(page);
+       mem = kmap_local_page(page);
        if (page_same_filled(mem, &element)) {
-               kunmap_atomic(mem);
+               kunmap_local(mem);
                /* Free memory associated with this sector now. */
                flags = ZRAM_SAME;
                atomic64_inc(&zram->stats.same_pages);
                goto out;
        }
-       kunmap_atomic(mem);
+       kunmap_local(mem);
 
 compress_again:
        zstrm = zcomp_stream_get(zram->comps[ZRAM_PRIMARY_COMP]);
-       src = kmap_atomic(page);
+       src = kmap_local_page(page);
        ret = zcomp_compress(zstrm, src, &comp_len);
-       kunmap_atomic(src);
+       kunmap_local(src);
 
        if (unlikely(ret)) {
                zcomp_stream_put(zram->comps[ZRAM_PRIMARY_COMP]);
@@ -1494,10 +1494,10 @@ compress_again:
 
        src = zstrm->buffer;
        if (comp_len == PAGE_SIZE)
-               src = kmap_atomic(page);
+               src = kmap_local_page(page);
        memcpy(dst, src, comp_len);
        if (comp_len == PAGE_SIZE)
-               kunmap_atomic(src);
+               kunmap_local(src);
 
        zcomp_stream_put(zram->comps[ZRAM_PRIMARY_COMP]);
        zs_unmap_object(zram->mem_pool, handle);
@@ -1614,9 +1614,9 @@ static int zram_recompress(struct zram *zram, u32 index, struct page *page,
 
                num_recomps++;
                zstrm = zcomp_stream_get(zram->comps[prio]);
-               src = kmap_atomic(page);
+               src = kmap_local_page(page);
                ret = zcomp_compress(zstrm, src, &comp_len_new);
-               kunmap_atomic(src);
+               kunmap_local(src);
 
                if (ret) {
                        zcomp_stream_put(zram->comps[prio]);