Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8106963imu; Tue, 4 Dec 2018 03:07:15 -0800 (PST) X-Google-Smtp-Source: AFSGD/UAd5q7JfepW/YezxNjf+xBdmi0w7j92pJgASHrgBT7xvOrt350uDMG5yFcLHiaVmdy7RsK X-Received: by 2002:a63:c64f:: with SMTP id x15mr15934022pgg.16.1543921635555; Tue, 04 Dec 2018 03:07:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543921635; cv=none; d=google.com; s=arc-20160816; b=C1503Rc2q6XPp5vX8Adw6F87ErZRDc05xQcURpT00Da8o/ChXt32heDGYqzN8aKnfx lfmdF9lgA3rV4qaR7xBmNbJOcIJN4X8+p2RpsC5msNA2TRT0mPVH1nKBoPfGvLekfnrB YI9G9h+GdgcemYCj7P9/ajigv2VD+IDDND56+hDURi7Kd2nc+xLeKFJPq3XnOIOLiDik cFTnylOZM21s5cZp+5zVABYD9Mf7s7rLEYOwBN6XSC2p81MnYf9t+rtRA+DsX9AtPxdy xX7FAZZ9RGuXvHwAPAeteS1Jk3SWk4yiOHXwNsVB1E1TJthssGTeGIt/Ba6qk0toHSZk SQqQ== 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=ecQce5RtCJuw/GvItDLSqYRj0dNPtfpKClujDgxQMx4=; b=gyo8Ye8du5ATjCx/0WWV4aAhLeC0UgbItN0kkY/oIwYqtLyAbJYFOcqXysWBVspMXL /ScPXJ0tecyYkU3C4oJyo3DLk88Xeel3SUkrd7BemWW+t2jCaXt+m14LVMMVqk93eh7O inRrGn6/ZO3gIIT02c2Lqlz2tTh0VWAtn/dX5UjE3e0a8dpJH0G315mIiTGXFv9I3kTG sbvwc++d7XtM9bym6Op2U9RC+6yY4coK/lvAynSkUT5jynQXMfSQjIBT9wNoOf2e4V2b cxhkHctO3Nx0kk3NuzunGnY1pmCSziN1qRPfqdsH5wXTCxV5xi8S3lpCvL83k0xms/XG 26ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h5gHMmYi; 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 k20si17767107pfb.215.2018.12.04.03.07.00; Tue, 04 Dec 2018 03:07:15 -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=h5gHMmYi; 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 S1727341AbeLDLF6 (ORCPT + 99 others); Tue, 4 Dec 2018 06:05:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:53980 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727918AbeLDLFy (ORCPT ); Tue, 4 Dec 2018 06:05:54 -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 8AD662082D; Tue, 4 Dec 2018 11:05:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921554; bh=099MSU3w0YUHTV4nhb96uDIoxiRHqSC6HOyrKWHsAW4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h5gHMmYieOuIVklWRR+3rM2U95ekoZIIFFoKB5tWLJgliEK+4FQiW+QoRSHp38+F2 0aeAcesuo3HeO6hmpRt+1Y7Udve88BWKlR32P6zgRCv/TNfFp584MU82LKWbBs75AS lBBvvzRVwJ3y2+4MYfAKAL8ejcvlrd8HHFQOFh1g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Qu Wenruo , Pan Bian , David Sterba Subject: [PATCH 4.14 117/146] btrfs: relocation: set trans to be NULL after ending transaction Date: Tue, 4 Dec 2018 11:50:03 +0100 Message-Id: <20181204103731.530084930@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103726.750894136@linuxfoundation.org> References: <20181204103726.750894136@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Pan Bian commit 42a657f57628402c73237547f0134e083e2f6764 upstream. The function relocate_block_group calls btrfs_end_transaction to release trans when update_backref_cache returns 1, and then continues the loop body. If btrfs_block_rsv_refill fails this time, it will jump out the loop and the freed trans will be accessed. This may result in a use-after-free bug. The patch assigns NULL to trans after trans is released so that it will not be accessed. Fixes: 0647bf564f1 ("Btrfs: improve forever loop when doing balance relocation") CC: stable@vger.kernel.org # 4.4+ Reviewed-by: Qu Wenruo Signed-off-by: Pan Bian Reviewed-by: David Sterba Signed-off-by: David Sterba Signed-off-by: Greg Kroah-Hartman --- fs/btrfs/relocation.c | 1 + 1 file changed, 1 insertion(+) --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -4048,6 +4048,7 @@ static noinline_for_stack int relocate_b restart: if (update_backref_cache(trans, &rc->backref_cache)) { btrfs_end_transaction(trans); + trans = NULL; continue; }