diff options
Diffstat (limited to 'lib/fault-inject.c')
| -rw-r--r-- | lib/fault-inject.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/fault-inject.c b/lib/fault-inject.c index 8186ca84910b..ce12621b4275 100644 --- a/lib/fault-inject.c +++ b/lib/fault-inject.c @@ -106,7 +106,9 @@ bool should_fail(struct fault_attr *attr, ssize_t size)  		unsigned int fail_nth = READ_ONCE(current->fail_nth);  		if (fail_nth) { -			if (!WRITE_ONCE(current->fail_nth, fail_nth - 1)) +			fail_nth--; +			WRITE_ONCE(current->fail_nth, fail_nth); +			if (!fail_nth)  				goto fail;  			return false;  | 
