| Function report | 
| Source Code: kernel\debug\kdb\kdb_support.c | Create Date:2022-07-28 11:43:28 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:debug_kmalloc
Proto:void *debug_kmalloc(size_t size, gfp_t flags)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| size_t | size | |
| gfp_t | flags | 
| 749 | void * p = NULL | 
| 750 | If Not get_dap_lock() Then | 
| 752 | Return NULL | 
| 754 | h = debug_alloc_pool + dah_first | 
| 755 | If dah_first_call Then | 
| 756 | size = size of debug_alloc_pool_aligned - dah_overhead | 
| 757 | dah_first_call = 0 | 
| 759 | size = @a is a power of 2 value (size, The memory returned by this allocator must be aligned, which means* so must the header size) | 
| 761 | When 1 cycle | 
| 768 | If Not ffset of next header from start of pool Then Break | 
| 777 | If ffset of next header from start of pool == 0 && bestprev == NULL && rem < dah_overhead Then Go to out | 
| 779 | If rem >= dah_overhead Then | 
| 781 | h_offset = best - debug_alloc_pool + dah_overhead + size | 
| 783 | h = debug_alloc_pool + h_offset | 
| 784 | size = rem - dah_overhead | 
| 786 | Else h_offset = ffset of next header from start of pool | 
| 788 | caller = __builtin_return_address(0) | 
| 790 | dah_used_max = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(dah_used, dah_used_max) | 
| 791 | If bestprev Then ffset of next header from start of pool = h_offset | 
| 795 | p = best + dah_overhead | 
| 796 | memset(p, r use-uninitialised poisoning , size - 1) | 
| 797 | *( p + size - 1) = d-byte of poisoning | 
| 798 | out : | 
| 800 | Return p | 
| 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 |