函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\uprobes.c Create Date:2022-07-27 15:07:37
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:xol_free_insn_slot - If slot was earlier allocated by*@xol_get_insn_slot(), make the slot available for* subsequent requests.

函数原型:static void xol_free_insn_slot(struct task_struct *tsk)

返回类型:void

参数:

类型参数名称
struct task_struct *tsk
1642  如果非内存信息或非xol_area或非utask则返回
1645  slot_addr等于xol_vaddr
1646  如果此条件成立可能性小(为编译器优化)(!slot_addr)则返回
1649  area等于xol_area
1650  vma_end等于Page(s) of instruction slots PAGE_SIZE
1651  如果Page(s) of instruction slots 小于等于slot_addrslot_addr小于vma_end
1655  offset等于slot_addrPage(s) of instruction slots
1656  slot_nr等于offset keep it cache aligned
1657  如果slot_nr大于等于UINSNS_PER_PAGE则返回
1660  lear_bit - Clears a bit in memory*@nr: Bit to clear*@addr: Address to start counting from* This is a relaxed atomic operation (no implied memory barriers).
1661  atomic_dec( & umber of in-use slots )
1662  smp_mb__after_atomic()
1663  如果waitqueue_active -- locklessly test for waiters on the queue*@wq_head: the waitqueue to test for waiters* returns true if the wait list is not empty* NOTE: this function is lockless and requires care, incorrect usage _will_wake_up( & all slots are busy )
1666  xol_vaddr等于0
调用者
名称描述
uprobe_free_utaskCalled with no locks held.* Called in context of an exiting or an exec-ing thread.
pre_ssoutPrepare to single-step probed instruction out of line.
handle_singlestepPerform required fix-ups and disable singlestep.* Allow pending signals to take effect.