函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__bpf_strtoull

函数原型:static int __bpf_strtoull(const char *buf, size_t buf_len, u64 flags, unsigned long long *res, bool *is_negative)

返回类型:int

参数:

类型参数名称
const char *buf
size_tbuf_len
u64flags
unsigned long long *res
bool *is_negative
367  base等于flags按位与BPF_STRTOX_BASE_MASK
368  cur_buf等于buf
369  cur_len等于buf_len
374  如果非buf或非buf_len或非res或非is_negative则返回:负EINVAL
377  如果base不等于0且base不等于8且base不等于10且base不等于16则返回:负EINVAL
380  如果flags按位与BPF_STRTOX_BASE_MASK的反则返回:负EINVAL
383 cur_buf小于bufbuf_lenNote: isspace() must return false for %NUL-terminator ( * cur_buf)循环
384  cur_buf先自加
386  is_negative等于cur_buf小于bufbuf_lencur_buf恒等于'-'
387  如果is_negativecur_buf先自加
390  consumed等于cur_bufbuf
391  cur_len减等于consumed
392  如果非cur_len则返回:负EINVAL
395  cur_len等于两数取小(cur_len, str的长度 - 1)
396  内存复制(str, cur_buf, cur_len)
397  str[cur_len]等于'\0'
398  cur_buf等于str
400  cur_buf等于_parse_integer_fixup_radix(cur_buf, & base)
401  val_len等于Convert non-negative integer string representation in explicitly given radix* to an integer.* Return number of characters consumed maybe or-ed with overflow bit.* If overflow occurs, result integer (incorrect) is still returned.
403  如果val_len按位与KSTRTOX_OVERFLOW则返回:负ERANGE
406  如果val_len恒等于0则返回:负EINVAL
409  cur_buf加等于val_len
410  consumed加等于cur_bufstr
412  返回:consumed
调用者
名称描述
__bpf_strtoll
____bpf_strtoul