RE: [PATCH] ubifs: fix to check error code of register_shrinker

From: Chao Yu
Date: Tue May 26 2015 - 09:38:12 EST


Ping.

Add Cc Richard Weinberger.

> -----Original Message-----
> From: linux-mtd [mailto:linux-mtd-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Chao Yu
> Sent: Monday, May 18, 2015 4:43 PM
> To: dedekind1@xxxxxxxxx; adrian.hunter@xxxxxxxxx
> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] ubifs: fix to check error code of register_shrinker
>
> register_shrinker() in ubifs_init() can fail due to fail to call kzalloc.
> This patch fixes to check the return value of register_shrinker, otherwise
> our shrinker may be unregistered after ubifs initialized successfully.
>
> Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
> ---
> fs/ubifs/super.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
> index 75e6f04..fa83d1b 100644
> --- a/fs/ubifs/super.c
> +++ b/fs/ubifs/super.c
> @@ -2245,7 +2245,9 @@ static int __init ubifs_init(void)
> if (!ubifs_inode_slab)
> return -ENOMEM;
>
> - register_shrinker(&ubifs_shrinker_info);
> + err = register_shrinker(&ubifs_shrinker_info);
> + if (err)
> + goto out_slab;
>
> err = ubifs_compressors_init();
> if (err)
> @@ -2269,6 +2271,7 @@ out_compr:
> ubifs_compressors_exit();
> out_shrinker:
> unregister_shrinker(&ubifs_shrinker_info);
> +out_slab:
> kmem_cache_destroy(ubifs_inode_slab);
> return err;
> }
> --
> 2.3.3
>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/