Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3532233imu; Mon, 7 Jan 2019 05:11:54 -0800 (PST) X-Google-Smtp-Source: ALg8bN6TcXvvP2WFi8kPh2e43fQTsWDtauukQGWBzoC6MlmnzMhPVuIGGEcUIg6E6INWbv0bWlbN X-Received: by 2002:a63:2f86:: with SMTP id v128mr10564592pgv.407.1546866714019; Mon, 07 Jan 2019 05:11:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546866713; cv=none; d=google.com; s=arc-20160816; b=NvF58a4hhccpwYfsZnnwyoyImEyn2IXMjvqxT3xpu1lBEiMEA3bW6FbMFSNWD7vvH4 3vf3+Qh4TUlLko4gNNWjMkjxa/Z+H9oqf3dM6ijQU5x6xQXN9GGaKvANYnz94bXkvEOZ WRCAVkdnCnllptr3ETYdSbJc5U1LyDwkeHY/w08RfU7PaFNwO1PSsIMxzUK2aeNT6LlB hcK4BLMk3+rpwZ9+MnidiuClpOujVh371OrZ5bmuTudHEPjdMXmh1ZieRpdOU8M6jszW eFEcz4abor7pCtEV568zAKHWSIcvSfcOBXwm4AqiUeMXstL8YxiQIFNcTw+gx2YKoA8n VUzg== 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=ng4YGnxjl1IkegVRhNZvKBg2km4iGJNEUNaoBDatcIE=; b=SMZodY9foREw0V17Zvu22eH9qNiHUyoStw8bv5/38UnpUe7KPQl/WjIC6I+TkidfXy h5UMXOvNdtQ0Bs27iW+1vG4w/eL8wkCLKQ1fVv8G/VQI3OCt1d6I6wnIaJwOGhGh8lxU 4Eh5jsEqKaoSX14Ni1ck3dRMWKjk373YmQxal24Vfe62q7OM3Nr77oYfv37FIJEIgLBh otO1pY8P/VksuRF2qdSjuMCp7yxb4FavE10jxp289LiEWF9fSN5p6b0AeFpKfiKSGoLk QynzCKiA57u/xkCUOCLN2hi8DT0yy0+5cihXYJ4njfcnf1Yfj9Q/k/XATHmb2GTtj7Pu EWRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Tkmf3WPL; 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 q5si62174826pgg.204.2019.01.07.05.11.38; Mon, 07 Jan 2019 05:11:53 -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=Tkmf3WPL; 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 S1731813AbfAGNJu (ORCPT + 99 others); Mon, 7 Jan 2019 08:09:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:56554 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731556AbfAGNJq (ORCPT ); Mon, 7 Jan 2019 08:09:46 -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 1DD522147C; Mon, 7 Jan 2019 13:09:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546866586; bh=xhNhxr/EZ0dIu9RP5SjE0V5gOIW7ECul+5n721PbI0w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Tkmf3WPLLT7/wc7H79g3XCNunF/ZinIAxhPuJoNlA7t7lw5pMeH2GJ5i3iZB+1rqS OPFL0Xq76tvCXhfDP9k12bcVFSiVkb8Bsf6TxpuX4zvAIw5GKUa2Gbr36CiBI2IA48 gZNYGI9wPr3r1REOXUEetL3bqOa703avsWgR2iHs= 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.9 67/71] CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem Date: Mon, 7 Jan 2019 13:33:36 +0100 Message-Id: <20190107105336.561360257@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190107105330.280153213@linuxfoundation.org> References: <20190107105330.280153213@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.9-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 @@ -377,8 +377,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"},