函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\fault-inject.c Create Date:2022-07-27 08:09:38
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This code is stolen from failmalloc-1.0* http://www.nongnu.org/failmalloc/

函数原型:bool should_fail(struct fault_attr *attr, ssize_t size)

返回类型:bool

参数:

类型参数名称
struct fault_attr *attr
ssize_tsize
105  如果in_task()则
106  fail_nth等于READ_ONCE(fail_nth)
108  如果fail_nth
109  如果非WRITE_ONCE(fail_nth, fail_nth - 1)则转到:fail
112  返回:false
117  如果probability恒等于0则返回:false
120  如果task_filter且非fail_task(attr, 当前进程)则返回:false
123  如果atomic_read( & times)恒等于0则返回:false
126  如果atomic_read( & space)大于size
127  atomic_sub(size, & space)
128  返回:false
131  如果interval大于1则
132  count自加
133  如果count取模interval则返回:false
137  如果probability小于等于prandom_u32()取模100则返回:false
140  如果非fail_stacktrace(attr)则返回:false
143  fail :
144  fail_dump(attr)
146  如果atomic_read( & times)不等于负1则atomic_dec_not_zero( & times)
149  返回:true
调用者
名称描述
fei_kprobe_handler
__should_failslab