Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3508449imu; Mon, 7 Jan 2019 04:48:13 -0800 (PST) X-Google-Smtp-Source: ALg8bN79l3DLP3ZcAB0ih+zFCfV2NHctPdWbp4g5SWxtYXq9cPITzChM6igYUFIAD57zM9Ddpw6y X-Received: by 2002:a63:a401:: with SMTP id c1mr10865714pgf.403.1546865293665; Mon, 07 Jan 2019 04:48:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546865293; cv=none; d=google.com; s=arc-20160816; b=AQQoXi17jU1TOBsYAJBFLHpgM8/c6Zdr2cS2r+pkKP8ZTvymF2NbQhbH2DoqLtSkCz 2HGbkT1P5xUMUrDLSOLIdKvVu+OFhS3Z6g4V04Hde9EEhnk6Fdmoh8yJh9EdNUDEXWGU sCINmQyIpxxROk8yf9imwIDmhE1X5hFMRyjtVS0N0Ml66R5FNUe2coXJXHIMIQNlqSb1 2tqlarNlXWvPZR9SjI6nhbCMXvy5eIDNEHMmewbtPaeIaJ83UZwKw6hGub/RwoVvXq51 lQmXbX27BaqT/xfRUxTTMkxHV5fjaq1DHQiWasXQNnZpuWum+X8Hfvs+UCAUtFaxZCDU 6UpQ== 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=P0ThjGEIxCopSRUGXsXJU1Mo1chq/Ph96hwXSjjLZeA=; b=zm5UsPtFpWErFNm/WYMQaTuYbxgqNMO1JN0kGQHPc6LLrHT2V6jUDkRK9qb9FoqNSB RiG/97OeDOeNSXk+i8E4/B4FmG4KS4/aKJmD8sb8wEn2WcyaILCHCgV3wFuibjbHKj2H AHal2S8J7xDSg8TYvMJdI11ZFEUBSfkvdWDPblljoGY+gcP0pHz4S7wHX4c2s0M48YBw HQbLXcddoDKSDAv5cbHQ9zCzsNuRLWkm9kfNm76ptx5aM2PCxv4T8ZfHaXiEWmR9PNTX vu+T4qODmFdRK4YY0iPSGuMQ7qbWAVxvmi9zMk95DEwrsJr8GosSdq/4t4ki63ofHdFv kQ7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=N5BrCV2c; 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 r17si60456272pgh.299.2019.01.07.04.47.58; Mon, 07 Jan 2019 04:48:13 -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=N5BrCV2c; 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 S1728516AbfAGMqI (ORCPT + 99 others); Mon, 7 Jan 2019 07:46:08 -0500 Received: from mail.kernel.org ([198.145.29.99]:60724 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728531AbfAGMoG (ORCPT ); Mon, 7 Jan 2019 07:44:06 -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 EB8D521873; Mon, 7 Jan 2019 12:44:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546865045; bh=TBJ83Uw+9/kIheRC2IRkqJlpWIjAWIWDP+J4fkMWRcA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N5BrCV2cj4wEA9s6cOr1M/niXeMq3oDynW0a2LwxklIfSgIi95YVX7h65tQB/tP1b H2WdjA581/+ZWiK5wEcPHohjLZN4SWLs6Ym5wp6YxW7QteHIBpXRTgrXKGt9tXHnA3 pFGHMMmpxUqVJLBzbgjnbAXL+uf8JPTI9Wkw8bXA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Georgy A Bystrenin , Pavel Shilovsky , Steve French Subject: [PATCH 4.20 127/145] CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem Date: Mon, 7 Jan 2019 13:32:44 +0100 Message-Id: <20190107104453.800468571@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190107104437.308206189@linuxfoundation.org> References: <20190107104437.308206189@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.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Georgy A Bystrenin commit 9a596f5b39593414c0ec80f71b94a226286f084e upstream. While resolving a bug with locks on samba shares found a strange behavior. When a file locked by one node and we trying to lock it from another node it fail with errno 5 (EIO) but in that case errno must be set to (EACCES | EAGAIN). This isn't happening when we try to lock file second time on same node. In this case it returns EACCES as expected. Also this issue not reproduces when we use SMB1 protocol (vers=1.0 in mount options). Further investigation showed that the mapping from status_to_posix_error is different for SMB1 and SMB2+ implementations. For SMB1 mapping is [NT_STATUS_LOCK_NOT_GRANTED to ERRlock] (See fs/cifs/netmisc.c line 66) but for SMB2+ mapping is [STATUS_LOCK_NOT_GRANTED to -EIO] (see fs/cifs/smb2maperror.c line 383) Quick changes in SMB2+ mapping from EIO to EACCES has fixed issue. BUG: https://bugzilla.kernel.org/show_bug.cgi?id=201971 Signed-off-by: Georgy A Bystrenin Reviewed-by: Pavel Shilovsky CC: Stable Signed-off-by: Steve French Signed-off-by: Greg Kroah-Hartman --- fs/cifs/smb2maperror.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/fs/cifs/smb2maperror.c +++ b/fs/cifs/smb2maperror.c @@ -379,8 +379,8 @@ static const struct status_to_posix_erro {STATUS_NONEXISTENT_EA_ENTRY, -EIO, "STATUS_NONEXISTENT_EA_ENTRY"}, {STATUS_NO_EAS_ON_FILE, -ENODATA, "STATUS_NO_EAS_ON_FILE"}, {STATUS_EA_CORRUPT_ERROR, -EIO, "STATUS_EA_CORRUPT_ERROR"}, - {STATUS_FILE_LOCK_CONFLICT, -EIO, "STATUS_FILE_LOCK_CONFLICT"}, - {STATUS_LOCK_NOT_GRANTED, -EIO, "STATUS_LOCK_NOT_GRANTED"}, + {STATUS_FILE_LOCK_CONFLICT, -EACCES, "STATUS_FILE_LOCK_CONFLICT"}, + {STATUS_LOCK_NOT_GRANTED, -EACCES, "STATUS_LOCK_NOT_GRANTED"}, {STATUS_DELETE_PENDING, -ENOENT, "STATUS_DELETE_PENDING"}, {STATUS_CTL_FILE_NOT_SUPPORTED, -ENOSYS, "STATUS_CTL_FILE_NOT_SUPPORTED"},