Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2959957imu; Mon, 19 Nov 2018 08:38:57 -0800 (PST) X-Google-Smtp-Source: AJdET5eb/Pn1+t/BNorLuKeWd3mf8+c99nTcGTIUQWkJy+kF1JRkyKFlTJ1lD/BnbpUWA92g214F X-Received: by 2002:a17:902:50ec:: with SMTP id c41-v6mr22454519plj.176.1542645537179; Mon, 19 Nov 2018 08:38:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542645537; cv=none; d=google.com; s=arc-20160816; b=ER28w90vHFknwsxvyLRTzMd3XmyY5nbgLQLpkeApRAfcxOOU/xSk1JPPdyQLU57yyY jm4tSdEu9MGvdKscD+LYlrYw52i9mgw2y30tIxWigJBnD4drybSTXaw3zZIfUMuGLbU7 bLcRylOI0ZX4jIYcsUWH47K6d2JMuAQgfuLUE76sBFyEIp/Fh7Viq5WWulW5ABEpb4Iv lUFILiLzC8tTrZblgdLetk7c54KtHsJgN1pzbBLCfsgn5LNOEHzonkIThC/bOxsAUvvM 1kIwDFe+qqnOLj7+vS5EKmrV8wVpE2pfr+fRffzQh14etFOuOS/SyWX5d794mYUahyT5 UfVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dJDCARITe9o2Aipzy7kICrWRBOMslqBuBB/HOEHqm2E=; b=yc70RCcdpmQEBsGnc1qnZ6ZgrMz6/XErxyAxV/hMGytTst9gJheQ6qFdGRTX2dAnEm SY9PDWn/h5yKDRMDDWPtRZPZUsLOUXH4wXnbHPDG8Lc2KptkJ5wOsgryfWafi7WWFupU k1NMrEgF5Kd3fYwCYPg+F72Urh4lQgU+YE3plY/5YeaFwR0xHdh6U77ju+qRFcFpRA6y UyzmXUF8eIWGH4jyIY62w8LrjIr29MQ1C0wP48Y7gFuUQTzYFDRoNyt0jU9Dg1i8jzsK JAxx6UkuWJW9IKUSqFOOhE8azCTAM9euvP90CwCTINtZ7+20YhzqPH/3X+Vg3IBrUuvF 1+ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cdEG9dwG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q24si38886670pgi.334.2018.11.19.08.38.42; Mon, 19 Nov 2018 08:38:57 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cdEG9dwG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731822AbeKTDAM (ORCPT + 99 others); Mon, 19 Nov 2018 22:00:12 -0500 Received: from mail.kernel.org ([198.145.29.99]:59972 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730366AbeKTDAL (ORCPT ); Mon, 19 Nov 2018 22:00:11 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (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 1BF382086A; Mon, 19 Nov 2018 16:36:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542645363; bh=89f1ebkt/wW9R/VVdD7K6zZzJtctf3gh206xkrWA6sw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cdEG9dwGUxCxp5XftkgS2UucDzpYHkn+Eiv45QxzcpdWKW4QtIsIWRlbmVBjcYB3y RTJ8SW55BL7pjjoo+W4EjRY0zql1L8EHNM5bfA3mgnzJjn1khh8owmUaKwwEy4cEYo xnxEhN8cgJ+BRG/gMQEfMeUjKd6CG1EnyDcZ+2lU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vasily Averin , Theodore Tso , stable@kernel.org Subject: [PATCH 4.19 133/205] ext4: avoid potential extra brelse in setup_new_flex_group_blocks() Date: Mon, 19 Nov 2018 17:27:20 +0100 Message-Id: <20181119162637.186230031@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181119162616.586062722@linuxfoundation.org> References: <20181119162616.586062722@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Vasily Averin commit 9e4028935cca3f9ef9b6a90df9da6f1f94853536 upstream. Currently bh is set to NULL only during first iteration of for cycle, then this pointer is not cleared after end of using. Therefore rollback after errors can lead to extra brelse(bh) call, decrements bh counter and later trigger an unexpected warning in __brelse() Patch moves brelse() calls in body of cycle to exclude requirement of brelse() call in rollback. Fixes: 33afdcc5402d ("ext4: add a function which sets up group blocks ...") Signed-off-by: Vasily Averin Signed-off-by: Theodore Ts'o Cc: stable@kernel.org # 3.3+ Signed-off-by: Greg Kroah-Hartman --- fs/ext4/resize.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- a/fs/ext4/resize.c +++ b/fs/ext4/resize.c @@ -607,7 +607,6 @@ handle_bb: bh = bclean(handle, sb, block); if (IS_ERR(bh)) { err = PTR_ERR(bh); - bh = NULL; goto out; } overhead = ext4_group_overhead_blocks(sb, group); @@ -620,9 +619,9 @@ handle_bb: ext4_mark_bitmap_end(EXT4_B2C(sbi, group_data[i].blocks_count), sb->s_blocksize * 8, bh->b_data); err = ext4_handle_dirty_metadata(handle, NULL, bh); + brelse(bh); if (err) goto out; - brelse(bh); handle_ib: if (bg_flags[i] & EXT4_BG_INODE_UNINIT) @@ -637,18 +636,16 @@ handle_ib: bh = bclean(handle, sb, block); if (IS_ERR(bh)) { err = PTR_ERR(bh); - bh = NULL; goto out; } ext4_mark_bitmap_end(EXT4_INODES_PER_GROUP(sb), sb->s_blocksize * 8, bh->b_data); err = ext4_handle_dirty_metadata(handle, NULL, bh); + brelse(bh); if (err) goto out; - brelse(bh); } - bh = NULL; /* Mark group tables in block bitmap */ for (j = 0; j < GROUP_TABLE_COUNT; j++) { @@ -687,7 +684,6 @@ handle_ib: } out: - brelse(bh); err2 = ext4_journal_stop(handle); if (err2 && !err) err = err2;