From: Ard Biesheuvel > Sent: 18 October 2017 16:45 > Even though calling dql_completed() with a count that exceeds the > queued count is a serious error, it still does not justify bringing > down the entire kernel with a BUG_ON(). So relax it to a WARN_ON() > instead. > > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > lib/dynamic_queue_limits.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/dynamic_queue_limits.c b/lib/dynamic_queue_limits.c > index f346715e2255..24ce495d78f3 100644 > --- a/lib/dynamic_queue_limits.c > +++ b/lib/dynamic_queue_limits.c > @@ -23,7 +23,7 @@ void dql_completed(struct dql *dql, unsigned int count) > num_queued = ACCESS_ONCE(dql->num_queued); > > /* Can't complete more than what's in queue */ > - BUG_ON(count > num_queued - dql->num_completed); > + WARN_ON(count > num_queued - dql->num_completed); > > completed = dql->num_completed + count;
Don't you need to bound 'count' so that horrid things don't happen further down the code? David