Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756115Ab0DOBE7 (ORCPT ); Wed, 14 Apr 2010 21:04:59 -0400 Received: from [69.28.251.93] ([69.28.251.93]:38089 "EHLO b32.net" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1755890Ab0DOBE5 (ORCPT ); Wed, 14 Apr 2010 21:04:57 -0400 From: Kevin Cernekee Date: Wed, 14 Apr 2010 17:56:10 -0700 Subject: [PATCH] LogFS: Fix oops on failed mount Message-Id: <621ed5fa50005b6ea02cff222037d3702a4d59b0@localhost.localdomain> To: Cc: , User-Agent: vim 7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1103 Lines: 32 logfs_kill_sb() calls mempool_destroy() on super->s_alias_pool . But if logfs_kill_sb() is being called because the mount failed (e.g. __logfs_read_sb() returned -EIO) this pointer will still be NULL, resulting in a kernel oops. Signed-off-by: Kevin Cernekee --- fs/logfs/super.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/fs/logfs/super.c b/fs/logfs/super.c index b60bfac..f817713 100644 --- a/fs/logfs/super.c +++ b/fs/logfs/super.c @@ -517,7 +517,8 @@ static void logfs_kill_sb(struct super_block *sb) __free_page(super->s_erase_page); super->s_devops->put_device(sb); mempool_destroy(super->s_btree_pool); - mempool_destroy(super->s_alias_pool); + if (super->s_alias_pool) + mempool_destroy(super->s_alias_pool); kfree(super); log_super("LogFS: Finished unmounting\n"); } -- 1.6.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/