Skip to content

Commit a491c02

Browse files
JvlegodPeter Zijlstra
authored andcommitted
uprobes: use kmap_local_page() for temporary page mappings
Replace deprecated kmap_atomic() with kmap_local_page(). Signed-off-by: Keke Ming <ming.jvle@gmail.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Oleg Nesterov <oleg@redhat.com> Link: https://patch.msgid.link/20260103084243.195125-6-ming.jvle@gmail.com
1 parent 1752a1a commit a491c02

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

kernel/events/uprobes.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,16 +179,16 @@ bool __weak is_trap_insn(uprobe_opcode_t *insn)
179179

180180
void uprobe_copy_from_page(struct page *page, unsigned long vaddr, void *dst, int len)
181181
{
182-
void *kaddr = kmap_atomic(page);
182+
void *kaddr = kmap_local_page(page);
183183
memcpy(dst, kaddr + (vaddr & ~PAGE_MASK), len);
184-
kunmap_atomic(kaddr);
184+
kunmap_local(kaddr);
185185
}
186186

187187
static void copy_to_page(struct page *page, unsigned long vaddr, const void *src, int len)
188188
{
189-
void *kaddr = kmap_atomic(page);
189+
void *kaddr = kmap_local_page(page);
190190
memcpy(kaddr + (vaddr & ~PAGE_MASK), src, len);
191-
kunmap_atomic(kaddr);
191+
kunmap_local(kaddr);
192192
}
193193

194194
static int verify_opcode(struct page *page, unsigned long vaddr, uprobe_opcode_t *insn,
@@ -323,7 +323,7 @@ __update_ref_ctr(struct mm_struct *mm, unsigned long vaddr, short d)
323323
return ret == 0 ? -EBUSY : ret;
324324
}
325325

326-
kaddr = kmap_atomic(page);
326+
kaddr = kmap_local_page(page);
327327
ptr = kaddr + (vaddr & ~PAGE_MASK);
328328

329329
if (unlikely(*ptr + d < 0)) {
@@ -336,7 +336,7 @@ __update_ref_ctr(struct mm_struct *mm, unsigned long vaddr, short d)
336336
*ptr += d;
337337
ret = 0;
338338
out:
339-
kunmap_atomic(kaddr);
339+
kunmap_local(kaddr);
340340
put_page(page);
341341
return ret;
342342
}

0 commit comments

Comments
 (0)