Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1684112ybz; Thu, 16 Apr 2020 13:38:27 -0700 (PDT) X-Google-Smtp-Source: APiQypJdN16qChDxZbF3fbpvxdxTOH9JuPfpePN9YHzQm1eKxgkMtxemZZ/VYRHU/AiifjH9VqeZ X-Received: by 2002:a50:c20a:: with SMTP id n10mr12828edf.319.1587069507049; Thu, 16 Apr 2020 13:38:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587069507; cv=none; d=google.com; s=arc-20160816; b=ehr9C5gZ27AT8uVCF3wOs0E4WN6KgS1/l9LYSfFn+qbgGcNaObTWDdb+xcpfTfAo7c 8+LPY07RuzE7zvwQQOEQxkiyeBb0ivTrzTKLHnPPbfe7JIAXb6VlHz3tYmg06raOx2wd bT+pIzQm18MWGDzlF9zLR1iRptPYhVbA8ls+mgQfl0VfwQ7h3SKa/rOjlTXx73rt1/T2 +3NyowQm3BnkmIufGOkwHd7+mNrDXuXp7Z9H5Ud6gXMmW8cHmtTWgFBpLyY7icRQjcJB L+W279Yh+gtEjmZ58NrfEGfRPm4VzgpbdsJlOo7H0ZKkgro6machZ2OzvFqg3FAvz3PA m+wQ== 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=U1zO52hgtgVSinmNSUdID2lgZ8Hm4gKlZDUc3VzQaTQ=; b=ORrbzLWjhwrJYmz5Fe3u8ihKp62S75NXNjRKYwIrGowAMveys03DrTDyps34Phj355 MQQLwqDR1Le6cDG5RkSLHoJ6xNivV8Fkwh/bsPpG5yWy/P0Y16ioDLaKGt1fYTtJcxDv V8tuDLN+qltqx5IqG7YNyiG0MSEA/DH69PCgH08xVYRypnUaQXa41ks3uapY3qY8Us7Q vXaN83wizfE7SqxkDCp5qN5PORPsgy0OCRVe5F77zD3i4Ee9cUwmZh5E/ZWSvwGQ0cpv ietrS/tNisW5b/MH2kB4MdpChmQoBC6H7xmN6rZJy9gDdMerEvIIc56n+0fYHxkB8qql 9KJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=H2mkGU2j; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j11si10567698edn.114.2020.04.16.13.38.04; Thu, 16 Apr 2020 13:38:27 -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=H2mkGU2j; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2442668AbgDPPzj (ORCPT + 99 others); Thu, 16 Apr 2020 11:55:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:39362 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2896012AbgDPN33 (ORCPT ); Thu, 16 Apr 2020 09:29:29 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.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 549C920767; Thu, 16 Apr 2020 13:29:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587043768; bh=26hgxjMd+f9rckP63OnUNWM2GnK+GowOVTaS4I0FbMI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H2mkGU2jN+FhuFW7FuRHCORjrdVqcTkMswiv67NtMbAQHmXc7UPrF6NVKL+zzMeWt BxnsthUTTWtnP+COZ2Kfv2T5okMVoalzVaT0YbVppWbNNEUTTAHuRrSol0rU1UNwoc AZ/iPgAPvG3/jbjvaYMDFMi/2B8dB8zV1VJz35OU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robbie Ko , Filipe Manana , David Sterba Subject: [PATCH 4.19 093/146] btrfs: fix missing semaphore unlock in btrfs_sync_file Date: Thu, 16 Apr 2020 15:23:54 +0200 Message-Id: <20200416131255.505565278@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200416131242.353444678@linuxfoundation.org> References: <20200416131242.353444678@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Robbie Ko commit 6ff06729c22ec0b7498d900d79cc88cfb8aceaeb upstream. Ordered ops are started twice in sync file, once outside of inode mutex and once inside, taking the dio semaphore. There was one error path missing the semaphore unlock. Fixes: aab15e8ec2576 ("Btrfs: fix rare chances for data loss when doing a fast fsync") CC: stable@vger.kernel.org # 4.19+ Signed-off-by: Robbie Ko Reviewed-by: Filipe Manana [ add changelog ] Signed-off-by: David Sterba Signed-off-by: Greg Kroah-Hartman --- fs/btrfs/file.c | 1 + 1 file changed, 1 insertion(+) --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -2137,6 +2137,7 @@ int btrfs_sync_file(struct file *file, l */ ret = start_ordered_ops(inode, start, end); if (ret) { + up_write(&BTRFS_I(inode)->dio_sem); inode_unlock(inode); goto out; }