函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Fetch a null-terminated string. Caller MUST set *(u32 *)dest with max* length and relative data location.

函数原型:static inline __attribute__((__always_inline__)) int fetch_store_string(unsigned long addr, void *dest, void *base)

返回类型:int

参数:

类型参数名称
unsigned longaddr
void *dest
void *base
152  loc等于dest
153  maxlen等于get_loc_len(loc)
154  dst等于get_loc_data(dest, base)
155  __usersrc等于addr
157  如果此条件成立可能性小(为编译器优化)(!maxlen)则返回:负ENOMEM
160  如果addr恒等于FETCH_TOKEN_COMMret等于长字符串复制
162  否则ret等于复制用户字符串
164  如果ret大于等于0则
165  如果ret恒等于maxlendst[ret - 1]等于'\0'
167  否则ret自加
174  dest等于data_loc: data location, compatible with u32 (ret, (void * )dst - base)
177  返回:ret
调用者
名称描述
fetch_store_string_user
process_fetch_insn_bottomFrom the 2nd stage, routine is same