mbcache: make sure c_entry_count is not decremented past zero
Signed-off-by: Jiang Biao <jiang.biao2@zte.com.cn> Signed-off-by: Theodore Ts'o <tytso@mit.edu> CC: Eric Biggers <ebiggers@google.com> CC: Andrew Morton <akpm@linux-foundation.org> CC: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
a90ac0f5dc
commit
9ee93ba3c4
|
@ -239,7 +239,9 @@ void mb_cache_entry_delete(struct mb_cache *cache, u32 key, u64 value)
|
||||||
spin_lock(&cache->c_list_lock);
|
spin_lock(&cache->c_list_lock);
|
||||||
if (!list_empty(&entry->e_list)) {
|
if (!list_empty(&entry->e_list)) {
|
||||||
list_del_init(&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);
|
atomic_dec(&entry->e_refcnt);
|
||||||
}
|
}
|
||||||
spin_unlock(&cache->c_list_lock);
|
spin_unlock(&cache->c_list_lock);
|
||||||
|
|
Loading…
Reference in New Issue