From: Will Dyson Remember to free the inode cache if register_filesystem() fails. 25-akpm/fs/befs/linuxvfs.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff -puN fs/befs/linuxvfs.c~befs-memleak-fix fs/befs/linuxvfs.c --- 25/fs/befs/linuxvfs.c~befs-memleak-fix Wed Sep 24 14:50:12 2003 +++ 25-akpm/fs/befs/linuxvfs.c Wed Sep 24 14:50:12 2003 @@ -947,9 +947,19 @@ init_befs_fs(void) err = befs_init_inodecache(); if (err) - return err; + goto unaquire_none; - return register_filesystem(&befs_fs_type); + err = register_filesystem(&befs_fs_type); + if (err) + goto unaquire_inodecache; + + return 0; + +unaquire_inodecache: + befs_destroy_inodecache(); + +unaquire_none: + return err; } static void __exit _