From: Jiang Biao Date: Wed, 10 Jan 2018 04:57:52 +0000 (-0500) Subject: mbcache: make sure c_entry_count is not decremented past zero X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9ee93ba3c430d5b5140ab72738dc70c4c54990e0;p=linux.git mbcache: make sure c_entry_count is not decremented past zero Signed-off-by: Jiang Biao Signed-off-by: Theodore Ts'o CC: Eric Biggers CC: Andrew Morton CC: Jan Kara --- diff --git a/fs/mbcache.c b/fs/mbcache.c index 49c5b25bfa8cb..bf41e2e72c188 100644 --- a/fs/mbcache.c +++ b/fs/mbcache.c @@ -239,7 +239,9 @@ void mb_cache_entry_delete(struct mb_cache *cache, u32 key, u64 value) spin_lock(&cache->c_list_lock); if (!list_empty(&entry->e_list)) { list_del_init(&entry->e_list); - cache->c_entry_count--; + if (!WARN_ONCE(cache->c_entry_count == 0, + "mbcache: attempt to decrement c_entry_count past zero")) + cache->c_entry_count--; atomic_dec(&entry->e_refcnt); } spin_unlock(&cache->c_list_lock);