mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 02:05:33 +00:00
uprobes: fold xol_take_insn_slot() into xol_get_insn_slot()
After the previous change xol_take_insn_slot() becomes trivial, kill it. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20241001142503.GA13633@redhat.com
This commit is contained in:
parent
7a166094bd
commit
6c74ca7aa8
@ -1640,29 +1640,20 @@ static unsigned long xol_get_slot_nr(struct xol_area *area)
|
||||
return UINSNS_PER_PAGE;
|
||||
}
|
||||
|
||||
/*
|
||||
* - search for a free slot.
|
||||
*/
|
||||
static unsigned long xol_take_insn_slot(struct xol_area *area)
|
||||
{
|
||||
unsigned long slot_nr;
|
||||
|
||||
wait_event(area->wq, (slot_nr = xol_get_slot_nr(area)) < UINSNS_PER_PAGE);
|
||||
|
||||
return area->vaddr + slot_nr * UPROBE_XOL_SLOT_BYTES;
|
||||
}
|
||||
|
||||
/*
|
||||
* xol_get_insn_slot - allocate a slot for xol.
|
||||
*/
|
||||
static bool xol_get_insn_slot(struct uprobe *uprobe, struct uprobe_task *utask)
|
||||
{
|
||||
struct xol_area *area = get_xol_area();
|
||||
unsigned long slot_nr;
|
||||
|
||||
if (!area)
|
||||
return false;
|
||||
|
||||
utask->xol_vaddr = xol_take_insn_slot(area);
|
||||
wait_event(area->wq, (slot_nr = xol_get_slot_nr(area)) < UINSNS_PER_PAGE);
|
||||
|
||||
utask->xol_vaddr = area->vaddr + slot_nr * UPROBE_XOL_SLOT_BYTES;
|
||||
arch_uprobe_copy_ixol(area->page, utask->xol_vaddr,
|
||||
&uprobe->arch.ixol, sizeof(uprobe->arch.ixol));
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user