From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0B5FC433DF for ; Sun, 18 Oct 2020 19:28:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 65DDA2137B for ; Sun, 18 Oct 2020 19:28:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603049316; bh=4urMCYdTXLt4wCaEBuuT4e20rgwEIUjK9HnD1rTAkGs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=TetFrT8X8V6NVnQA3Ntp9myUq4GfnALcMIP/QeDqMCbzyxD3cd6r+qoqoi83FswKb 4U3hPOA7y4VI1nJz0OTQxCuJ8bkLQ5Me+eGgCo21mVMWEvbOoUszn9k6LoTQ3PnG1Q p6dQzvxdznvmWRW40sEZyRyc3l/ZHaANq5v9WToU= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732352AbgJRT2c (ORCPT ); Sun, 18 Oct 2020 15:28:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:44478 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732230AbgJRT2F (ORCPT ); Sun, 18 Oct 2020 15:28:05 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3F3F120791; Sun, 18 Oct 2020 19:28:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603049284; bh=4urMCYdTXLt4wCaEBuuT4e20rgwEIUjK9HnD1rTAkGs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L/owCLSZzrzgSAcKHwyWQsdEg7fGPx8dlaZik7ZZ0Y4NCJ00vmzjr1kgsnXTVUTxj GutSjWKBYrjBGAY1zfm8DqOAArwDKC5rYVzHWni7bMMhya/hi2ipspHRqzK4rp0v8b AAoGxjYYdSdELtNKvVkFJPtWAd8FRlaBEuYl/51w= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jan Kara , syzbot+c9e294bbe0333a6b7640@syzkaller.appspotmail.com, Sasha Levin , reiserfs-devel@vger.kernel.org Subject: [PATCH AUTOSEL 4.4 30/33] reiserfs: Fix memory leak in reiserfs_parse_options() Date: Sun, 18 Oct 2020 15:27:25 -0400 Message-Id: <20201018192728.4056577-30-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201018192728.4056577-1-sashal@kernel.org> References: <20201018192728.4056577-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jan Kara [ Upstream commit e9d4709fcc26353df12070566970f080e651f0c9 ] When a usrjquota or grpjquota mount option is used multiple times, we will leak memory allocated for the file name. Make sure the last setting is used and all the previous ones are properly freed. Reported-by: syzbot+c9e294bbe0333a6b7640@syzkaller.appspotmail.com Signed-off-by: Jan Kara Signed-off-by: Sasha Levin --- fs/reiserfs/super.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index f9796fd515315..503d8c06e0d93 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -1232,6 +1232,10 @@ static int reiserfs_parse_options(struct super_block *s, "turned on."); return 0; } + if (qf_names[qtype] != + REISERFS_SB(s)->s_qf_names[qtype]) + kfree(qf_names[qtype]); + qf_names[qtype] = NULL; if (*arg) { /* Some filename specified? */ if (REISERFS_SB(s)->s_qf_names[qtype] && strcmp(REISERFS_SB(s)->s_qf_names[qtype], @@ -1261,10 +1265,6 @@ static int reiserfs_parse_options(struct super_block *s, else *mount_options |= 1 << REISERFS_GRPQUOTA; } else { - if (qf_names[qtype] != - REISERFS_SB(s)->s_qf_names[qtype]) - kfree(qf_names[qtype]); - qf_names[qtype] = NULL; if (qtype == USRQUOTA) *mount_options &= ~(1 << REISERFS_USRQUOTA); else -- 2.25.1