Messages in this thread | | | From | Chao Yu <> | Subject | RE: [PATCH] ubifs: fix to check error code of register_shrinker | Date | Tue, 26 May 2015 19:23:02 +0800 |
| |
Ping.
Add Cc Richard Weinberger.
> -----Original Message----- > From: linux-mtd [mailto:linux-mtd-bounces@lists.infradead.org] On Behalf Of Chao Yu > Sent: Monday, May 18, 2015 4:43 PM > To: dedekind1@gmail.com; adrian.hunter@intel.com > Cc: linux-mtd@lists.infradead.org; linux-kernel@vger.kernel.org > 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@samsung.com> > --- > 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/
| |