buildid: use kmap_local_page()
authorPeng Hao <flyingpeng@tencent.com>
Wed, 6 Mar 2024 03:48:04 +0000 (11:48 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 12 Mar 2024 20:09:23 +0000 (13:09 -0700)
Use kmap_local_page() instead of kmap_atomic() which has been deprecated.

Link: https://lkml.kernel.org/r/20240306034804.62087-1-flyingpeng@tencent.com
Signed-off-by: Peng Hao <flyingpeng@tencent.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/buildid.c

index e3a7acdeef0ed4485c875f9cb176434bf10f8e7a..29fdfb4cccf0aa2bb2985d3ee3e0260a1410c2e4 100644 (file)
@@ -140,7 +140,7 @@ int build_id_parse(struct vm_area_struct *vma, unsigned char *build_id,
                return -EFAULT; /* page not mapped */
 
        ret = -EINVAL;
-       page_addr = kmap_atomic(page);
+       page_addr = kmap_local_page(page);
        ehdr = (Elf32_Ehdr *)page_addr;
 
        /* compare magic x7f "ELF" */
@@ -156,7 +156,7 @@ int build_id_parse(struct vm_area_struct *vma, unsigned char *build_id,
        else if (ehdr->e_ident[EI_CLASS] == ELFCLASS64)
                ret = get_build_id_64(page_addr, build_id, size);
 out:
-       kunmap_atomic(page_addr);
+       kunmap_local(page_addr);
        put_page(page);
        return ret;
 }