Function report |
Source Code:kernel\jump_label.c |
Create Date:2022-07-28 13:49:04 |
Last Modify:2020-03-17 20:59:06 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:jump_label_add_module
Proto:static int jump_label_add_module(struct module *mod)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct module * | mod |
609 | iter_start = jump_entries |
610 | iter_stop = iter_start + num_jump_entries |
612 | struct static_key * key = NULL |
616 | If iter_start == iter_stop Then Return 0 |
624 | If within_module_init(jump_entry_code(iter), mod) Then jump_entry_set_init(iter) |
627 | iterk = jump_entry_key(iter) |
632 | If within_module((unsignedlong)key, mod) Then |
636 | jlm = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). |
639 | If Not static_key_linked(key) Then |
640 | jlm2 = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). |
642 | If Not jlm2 Then |
647 | mod = __module_address - get the module which contains an address.*@addr: the address.* Must be called with preempt disabled or module mutex held so that* module doesn't get freed during this. |
648 | preempt_enable() |
649 | entries = static_key_entries(key) |
650 | next = NULL |
652 | static_key_set_linked(key) |
656 | next = static_key_mod(key) |
658 | static_key_set_linked(key) |
661 | If jump_label_type(iter) != jump_label_init_type(iter) Then __jump_label_update(key, iter, iter_stop, true) |
665 | Return 0 |
Name | Describe |
---|---|
jump_label_module_notify |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |