diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-08-12 15:25:31 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-08-12 15:26:35 -0400 |
commit | a363e72a37801aaee51501ed9d894cb2e8e436f6 (patch) | |
tree | b02bab31051bb21e5a5f0db9ed91e7de4c4f9326 | |
parent | a066788555cd6f32451cfdb9f9722c60839a4be9 (diff) |
closures: debug panic (XXX don't upstream)
hitting this assertion, arm debugging being a pita, just panic and print
the value we got
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | lib/closure.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/closure.c b/lib/closure.c index 0855e698ced1..2958169ce833 100644 --- a/lib/closure.c +++ b/lib/closure.c @@ -17,8 +17,9 @@ static inline void closure_put_after_sub(struct closure *cl, int flags) { int r = flags & CLOSURE_REMAINING_MASK; - BUG_ON(flags & CLOSURE_GUARD_MASK); - BUG_ON(!r && (flags & ~CLOSURE_DESTRUCTOR)); + if ((flags & CLOSURE_GUARD_MASK) || + (!r && (flags & ~CLOSURE_DESTRUCTOR))) + panic("closure_put_after_sub: bogus flags %x remaining %i", flags, r); if (!r) { if (cl->fn && !(flags & CLOSURE_DESTRUCTOR)) { |