From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:37028 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754468AbdEQP7M (ORCPT ); Wed, 17 May 2017 11:59:12 -0400 Subject: Patch "Fix match_prepath()" has been added to the 4.9-stable tree To: sprabhu@redhat.com, gregkh@linuxfoundation.org, pshilov@microsoft.com, smfrench@gmail.com Cc: , From: Date: Wed, 17 May 2017 17:56:57 +0200 Message-ID: <14950366176999@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled Fix match_prepath() to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: fix-match_prepath.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From cd8c42968ee651b69e00f8661caff32b0086e82d Mon Sep 17 00:00:00 2001 From: Sachin Prabhu Date: Wed, 26 Apr 2017 14:05:46 +0100 Subject: Fix match_prepath() From: Sachin Prabhu commit cd8c42968ee651b69e00f8661caff32b0086e82d upstream. Incorrect return value for shares not using the prefix path means that we will never match superblocks for these shares. Fixes: commit c1d8b24d1819 ("Compare prepaths when comparing superblocks") Signed-off-by: Sachin Prabhu Reviewed-by: Pavel Shilovsky Signed-off-by: Steve French Signed-off-by: Greg Kroah-Hartman --- fs/cifs/connect.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -2839,16 +2839,14 @@ match_prepath(struct super_block *sb, st { struct cifs_sb_info *old = CIFS_SB(sb); struct cifs_sb_info *new = mnt_data->cifs_sb; + bool old_set = old->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH; + bool new_set = new->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH; - if (old->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) { - if (!(new->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH)) - return 0; - /* The prepath should be null terminated strings */ - if (strcmp(new->prepath, old->prepath)) - return 0; - + if (old_set && new_set && !strcmp(new->prepath, old->prepath)) + return 1; + else if (!old_set && !new_set) return 1; - } + return 0; } Patches currently in stable-queue which might be from sprabhu@redhat.com are queue-4.9/fix-match_prepath.patch