函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\jump_label.c Create Date:2022-07-27 15:10:46
Last Modify:2020-03-17 20:59:06 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:jump_label_add_module

函数原型:static int jump_label_add_module(struct module *mod)

返回类型:int

参数:

类型参数名称
struct module *mod
609  iter_start等于jump_entries
610  iter_stop等于iter_startnum_jump_entries
612  struct static_key * key = NULL
616  如果iter_start恒等于iter_stop则返回:0
619  jump_label_sort_entries(iter_start, iter_stop)
621 iter小于iter_stop循环
624  如果within_module_init(jump_entry_code(iter), mod)则jump_entry_set_init(iter)
627  iterk等于jump_entry_key(iter)
628  如果iterk恒等于key则继续下一循环
631  key等于iterk
632  如果within_module((unsignedlong)key, mod)则
634  继续下一循环
636  jlm等于分配内存并置零
637  如果非jlm则返回:负ENOMEM
639  如果非static_key_linked(key)则
642  如果非jlm2
643  kfree(jlm)
644  返回:负ENOMEM
646  禁止抢占()
650  next = NULL
654  mod等于mod
655  entries等于iter
656  next等于static_key_mod(key)
657  This sets key->next and preserves the type bits.* See additional comments above static_key_set_entries().
658  static_key_set_linked(key)
661  如果jump_label_type(iter)不等于jump_label_init_type(iter)则__jump_label_update(key, iter, iter_stop, true)
665  返回:0
调用者
名称描述
jump_label_module_notify