From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:56591 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754632AbbKFGjB (ORCPT ); Fri, 6 Nov 2015 01:39:01 -0500 Subject: Patch "ovl: fix open in stacked overlay" has been added to the 4.2-stable tree To: miklos@szeredi.hu, alban.crequy@gmail.com, dhowells@redhat.com, gregkh@linuxfoundation.org Cc: , From: Date: Thu, 05 Nov 2015 22:38:58 -0800 Message-ID: <144679193824560@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 ovl: fix open in stacked overlay to the 4.2-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: ovl-fix-open-in-stacked-overlay.patch and it can be found in the queue-4.2 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From 1c8a47df36d72ace8cf78eb6c228aa0f8027d3c2 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Mon, 12 Oct 2015 15:56:20 +0200 Subject: ovl: fix open in stacked overlay From: Miklos Szeredi commit 1c8a47df36d72ace8cf78eb6c228aa0f8027d3c2 upstream. If two overlayfs filesystems are stacked on top of each other, then we need recursion in ovl_d_select_inode(). I guess d_backing_inode() is supposed to do that. But currently it doesn't and that functionality is open coded in vfs_open(). This is now copied into ovl_d_select_inode() to fix this regression. Reported-by: Alban Crequy Signed-off-by: Miklos Szeredi Fixes: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay...") Cc: David Howells Signed-off-by: Greg Kroah-Hartman --- fs/overlayfs/inode.c | 3 +++ 1 file changed, 3 insertions(+) --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -363,6 +363,9 @@ struct inode *ovl_d_select_inode(struct ovl_path_upper(dentry, &realpath); } + if (realpath.dentry->d_flags & DCACHE_OP_SELECT_INODE) + return realpath.dentry->d_op->d_select_inode(realpath.dentry, file_flags); + return d_backing_inode(realpath.dentry); } Patches currently in stable-queue which might be from miklos@szeredi.hu are queue-4.2/ovl-free-stack-of-paths-in-ovl_fill_super.patch queue-4.2/ovl-fix-dentry-reference-leak.patch queue-4.2/ovl-use-o_largefile-in-ovl_copy_up.patch queue-4.2/ovl-free-lower_mnt-array-in-ovl_put_super.patch queue-4.2/ovl-fix-open-in-stacked-overlay.patch