X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=lib%2Ffault-inject.c;h=ce12621b42756ada9704a80c6dc33778531b77c0;hb=88ff5d466c0250259818f3153dbdc4af1f8615dd;hp=8186ca84910bc65e42dafbafe4bcc70628bb2262;hpb=d3f9990f1b48514b33342612b51fad238592d774;p=linux-2.6-microblaze.git 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;