X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=fs%2Fmbcache.c;h=c5bd19ffa326a1c8c30dc7d89263640d0aa82739;hb=997b611baf7591ea5119539ee821a3e2f4fcf24e;hp=eccda3a02de6ff6a914b1636d5e80da0557eadde;hpb=15dbc136dff62ebefb03353cfb7d308d49b275f3;p=cascardo%2Flinux.git diff --git a/fs/mbcache.c b/fs/mbcache.c index eccda3a02de6..c5bd19ffa326 100644 --- a/fs/mbcache.c +++ b/fs/mbcache.c @@ -366,7 +366,11 @@ struct mb_cache *mb_cache_create(int bucket_bits) cache->c_shrink.count_objects = mb_cache_count; cache->c_shrink.scan_objects = mb_cache_scan; cache->c_shrink.seeks = DEFAULT_SEEKS; - register_shrinker(&cache->c_shrink); + if (register_shrinker(&cache->c_shrink)) { + kfree(cache->c_hash); + kfree(cache); + goto err_out; + } INIT_WORK(&cache->c_shrink_work, mb_cache_shrink_worker);