Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp409934pxx; Wed, 28 Oct 2020 07:44:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwRAe7oTO7d2QH1LSBnTpGi6hn0cuLkJ/MLKJQzJzP2ZkHY2vcvWY/ZUF506mgtuOh8+f5E X-Received: by 2002:a17:906:2f97:: with SMTP id w23mr8231875eji.54.1603896259007; Wed, 28 Oct 2020 07:44:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603896259; cv=none; d=google.com; s=arc-20160816; b=IvasyGiOY8LlOuo0d8l7xaXnAEMKcWHZUFPh1jQSL4Kkoucfx0iyQytlhlz5nObq7I OdXvTFB7MTrQbXnFVMDawqXdq/HAkEbZNT+y14IGZ1n1iNTS0L3sjVe05RHTmcYjvHEM h3oPM4gwD2dwysnPO3j5rCu7u1tRpkUMklqjS8O9Y4lnRy+rJN/KL/5ccnVwBL8BeS6c sltdIJyG3Fz4sdUh0G8ePWtrtNAAgXdi7LnowK2i277IYNeIkjPFNmQl1qkM+xUqjDPE bH1BWDinJSvdHcEYWwHhpq8tHmvmeUQR/kRNujXpU3AalQlAZEHHzU0z/IYz8bFlMfTE Qh8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=B/IMxe+qefhNFcJaAprQhbZoBD/H9zZNdb/RVUlTuHU=; b=qxruaVd4LGIL6WSr5QRAn5AB4WYQ07MZ11QnsthrzOlZXnhq/FUfKCB8XJdlSmDgCj 1T+Psq2Oth68hlyq0wN/pO6xtF1AnBWrkpS7P7Nb02oRjLJwgNsNDPz9NfV7YGkA+i34 LiNoTB8hPC5HaODUiFB7C0JndvuudJhEOxmjyFyDXBKRx0i9eag5JWcSHizjHFz2SG4y OTH4BwcjaVOynquRTCJDKlqAc9Rj27/PxFBfD8TXly93kMqkM8Yu+ni/R6HfJm4ie7OW 5CDYruftRZlcuDXtD5VQNhAIhtbh8Gn9+OUKK0xUuivDiwBcnypQJ9bT4XoAFlX8twBZ r55A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="H7dQnz/d"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jr1si3058858ejb.164.2020.10.28.07.43.56; Wed, 28 Oct 2020 07:44:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="H7dQnz/d"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1806782AbgJ0QIM (ORCPT + 99 others); Tue, 27 Oct 2020 12:08:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:54348 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1803407AbgJ0Pwo (ORCPT ); Tue, 27 Oct 2020 11:52:44 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 426BC204EF; Tue, 27 Oct 2020 15:52:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603813962; bh=TfWJq0F+eNJwR3zuDSJhyRJNiFATVZ7YZaKoLVaSsv4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H7dQnz/d+s/8PHOIfiZM2zzXcFlV6UcMMaib97vcW/V2tUmX0D9igaw3PEcLXurYi N+AA9V3uB70pStg+sVXdKDPdtpVduKW11U06dqXypY+fdB7Il6zKxvMhkd9rilvEbG vOWs8QXgJwSGWbEsfcL/KTHXrcpeji1fgEPFkLrs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, syzbot+c9e294bbe0333a6b7640@syzkaller.appspotmail.com, Jan Kara , Sasha Levin Subject: [PATCH 5.9 729/757] reiserfs: Fix memory leak in reiserfs_parse_options() Date: Tue, 27 Oct 2020 14:56:19 +0100 Message-Id: <20201027135524.706933270@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135450.497324313@linuxfoundation.org> References: <20201027135450.497324313@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 a6bce5b1fb1dc..1b9c7a387dc71 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -1258,6 +1258,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], @@ -1287,10 +1291,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