Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fault-inject: avoid call to random32() if fault injection is disabled

After enabling CONFIG_FAILSLAB I noticed random32 in profiles even if slub
fault injection wasn't enabled at runtime.

should_fail forces a comparison against random32() even if probability is
0:

if (attr->probability <= random32() % 100)
return false;

Add a check up front for probability == 0 and avoid all of the more
complicated checks.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Anton Blanchard and committed by
Linus Torvalds
f39cdaeb 10d8935f

+4
+4
lib/fault-inject.c
··· 101 101 102 102 bool should_fail(struct fault_attr *attr, ssize_t size) 103 103 { 104 + /* No need to check any other properties if the probability is 0 */ 105 + if (attr->probability == 0) 106 + return false; 107 + 104 108 if (attr->task_filter && !fail_task(attr, current)) 105 109 return false; 106 110