diff --git a/include/linux/res_counter.h b/include/linux/res_counter.h index c9d625ca659ec387c6b9456c4d03d0bb4af80fb9..d06d014afda6214b326160faee1bd6759ea8e2ce 100644 --- a/include/linux/res_counter.h +++ b/include/linux/res_counter.h @@ -142,7 +142,10 @@ static inline unsigned long long res_counter_margin(struct res_counter *cnt) unsigned long flags; spin_lock_irqsave(&cnt->lock, flags); - margin = cnt->limit - cnt->usage; + if (cnt->limit > cnt->usage) + margin = cnt->limit - cnt->usage; + else + margin = 0; spin_unlock_irqrestore(&cnt->lock, flags); return margin; }