X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=fs%2Fmbcache.c;h=c5bd19ffa326a1c8c30dc7d89263640d0aa82739;hb=b18cb64ead400c01bf1580eeba330ace51f8087d;hp=eccda3a02de6ff6a914b1636d5e80da0557eadde;hpb=f44dd184634d401f5cf88a6d8b4a60d5ff4f417f;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);