From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:44811 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754257AbeFLOtS (ORCPT ); Tue, 12 Jun 2018 10:49:18 -0400 Date: Tue, 12 Jun 2018 16:49:16 +0200 From: Jan Kara To: Zhouyang Jia Cc: Jan Kara , Amir Goldstein , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] fsnotify: add error handling for kmem_cache_create Message-ID: <20180612144916.5vuqy3v6nrtcxksh@quack2.suse.cz> References: <1528776964-39826-1-git-send-email-jiazhouyang09@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1528776964-39826-1-git-send-email-jiazhouyang09@gmail.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Tue 12-06-18 12:16:04, Zhouyang Jia wrote: > When kmem_cache_create fails, the lack of error-handling code may > cause unexpected results. > > This patch adds error-handling code after calling kmem_cache_create. > > Signed-off-by: Zhouyang Jia > --- > fs/notify/dnotify/dnotify.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c > index 63a1ca4..216b411 100644 > --- a/fs/notify/dnotify/dnotify.c > +++ b/fs/notify/dnotify/dnotify.c > @@ -387,6 +387,9 @@ static int __init dnotify_init(void) > dnotify_struct_cache = KMEM_CACHE(dnotify_struct, SLAB_PANIC); > dnotify_mark_cache = KMEM_CACHE(dnotify_mark, SLAB_PANIC); > > + if (!dnotify_struct_cache || !dnotify_mark_cache) > + return -ENOMEM; > + Caches are allocated with SLAB_PANIC - i.e., we panic the system if caches cannot be created. And that's intended since something is really wrong with the system in that case. So this check is pointless. Honza > dnotify_group = fsnotify_alloc_group(&dnotify_fsnotify_ops); > if (IS_ERR(dnotify_group)) > panic("unable to allocate fsnotify group for dnotify\n"); > -- > 2.7.4 > -- Jan Kara SUSE Labs, CR