函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:xt_poke_bp_batch() -- update instructions on live kernel on SMP*@tp: vector of instructions to patch*@nr_entries: number of entries in the vector* Modify multi-byte instruction by using int3 breakpoint on SMP

函数原型:void text_poke_bp_batch(struct text_poke_loc *tp, unsigned int nr_entries)

返回类型:void

参数:

类型参数名称
struct text_poke_loc *tp
unsigned intnr_entries
1050  int3等于INT3_INSN_OPCODE
1054  lockdep_assert_held( & Kernel text modification mutex, used for code patching. Users of this lock* can sleep.)
1056  vec等于tp
1057  nr_entries等于nr_entries
1063  smp_wmb()
1068 i小于nr_entries循环xt_poke - Update instructions on a live kernel*@addr: address to modify*@opcode: source of the copy*@len: length to copy* Only atomic text poke/set should be allowed when not doing early patching
1071  Call a function on all processors
1076 i小于nr_entries循环
1077  如果lenint3的长度大于0则
1081  do_sync自加
1085  如果do_sync
1091  Call a function on all processors
1098 i小于nr_entries循环
1099  如果text[0]恒等于INT3_INSN_OPCODE则继续下一循环
1102  xt_poke - Update instructions on a live kernel*@addr: address to modify*@opcode: source of the copy*@len: length to copy* Only atomic text poke/set should be allowed when not doing early patching
1103  do_sync自加
1106  如果do_syncCall a function on all processors
1113  vec = NULL
1114  nr_entries等于0
调用者
名称描述
text_poke_bpxt_poke_bp() -- update instructions on live kernel on SMP*@addr: address to patch*@opcode: opcode of new instruction*@len: length to copy*@handler: address to jump to when the temporary breakpoint is hit* Update a single instruction with the vector in the
arch_jump_label_transform_apply