Skip to content

Commit 6c74ca7

Browse files
oleg-nesterovPeter Zijlstra
authored andcommitted
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 <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Acked-by: Andrii Nakryiko <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 7a16609 commit 6c74ca7

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

kernel/events/uprobes.c

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1640,29 +1640,20 @@ static unsigned long xol_get_slot_nr(struct xol_area *area)
16401640
return UINSNS_PER_PAGE;
16411641
}
16421642

1643-
/*
1644-
* - search for a free slot.
1645-
*/
1646-
static unsigned long xol_take_insn_slot(struct xol_area *area)
1647-
{
1648-
unsigned long slot_nr;
1649-
1650-
wait_event(area->wq, (slot_nr = xol_get_slot_nr(area)) < UINSNS_PER_PAGE);
1651-
1652-
return area->vaddr + slot_nr * UPROBE_XOL_SLOT_BYTES;
1653-
}
1654-
16551643
/*
16561644
* xol_get_insn_slot - allocate a slot for xol.
16571645
*/
16581646
static bool xol_get_insn_slot(struct uprobe *uprobe, struct uprobe_task *utask)
16591647
{
16601648
struct xol_area *area = get_xol_area();
1649+
unsigned long slot_nr;
16611650

16621651
if (!area)
16631652
return false;
16641653

1665-
utask->xol_vaddr = xol_take_insn_slot(area);
1654+
wait_event(area->wq, (slot_nr = xol_get_slot_nr(area)) < UINSNS_PER_PAGE);
1655+
1656+
utask->xol_vaddr = area->vaddr + slot_nr * UPROBE_XOL_SLOT_BYTES;
16661657
arch_uprobe_copy_ixol(area->page, utask->xol_vaddr,
16671658
&uprobe->arch.ixol, sizeof(uprobe->arch.ixol));
16681659
return true;

0 commit comments

Comments
 (0)