函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__jump_label_set_jump_code

函数原型:static void __jump_label_set_jump_code(struct jump_entry *entry, enum jump_label_type type, union jump_code_union *code, int init)

返回类型:void

参数:

类型参数名称
struct jump_entry *entry
enum jump_label_typetype
union jump_code_union *code
intinit
43  const unsigned char default_nop[] = {STATIC_KEY_INIT_NOP}
44  ideal_nop等于ideal_nops[Entry for the 5-byte atomic NOP ]
48  jump等于0xe9
49  offset等于jump_entry_target(entry)减jump_entry_code(entry)加JUMP_LABEL_NOP_SIZE
52  如果init
53  expect等于default_nop
53  line等于__LINE__
54  否则如果type恒等于JUMP_LABEL_JMP
55  expect等于ideal_nop
55  line等于__LINE__
56  否则
57  expect等于code
57  line等于__LINE__
60  如果内存比较bug_at((void * )jump_entry_code(entry), line)
63  如果type恒等于JUMP_LABEL_NOPmemcpy(code, ideal_nop, JUMP_LABEL_NOP_SIZE)
调用者
名称描述
__jump_label_transform
arch_jump_label_transform_queue