Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752569AbbLIVvh (ORCPT ); Wed, 9 Dec 2015 16:51:37 -0500 Received: from mail-ob0-f178.google.com ([209.85.214.178]:36777 "EHLO mail-ob0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751459AbbLIVvf (ORCPT ); Wed, 9 Dec 2015 16:51:35 -0500 MIME-Version: 1.0 X-Originating-IP: [217.173.44.24] In-Reply-To: <20151116154411.6862.28435.stgit@buzz> References: <20151116154411.6862.28435.stgit@buzz> Date: Wed, 9 Dec 2015 22:51:34 +0100 Message-ID: Subject: Re: [PATCH] ovl: check dentry positiveness in ovl_cleanup_whiteouts() From: Miklos Szeredi To: Konstantin Khlebnikov Cc: David Howells , Al Viro , Kernel Mailing List , stable@vger.kernel.org, "linux-unionfs@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1102 Lines: 28 On Mon, Nov 16, 2015 at 4:44 PM, Konstantin Khlebnikov wrote: > This patch fixes kernel crash at removing directory which contains > whiteouts from lower layers. > > Cache of directory content passed as "list" contains entries from all > layers, including whiteouts from lower layers. So, lookup in upper dir > (moved into work at this stage) will return negative entry. Plus this > cache is filled long before and we can race with external removal. > > Example: > mkdir -p lower0/dir lower1/dir upper work overlay > touch lower0/dir/a lower0/dir/b > mknod lower1/dir/a c 0 0 > mount -t overlay none overlay -o lowerdir=lower1:lower0,upperdir=upper,workdir=work > rm -fr overlay/dir > > Signed-off-by: Konstantin Khlebnikov > Cc: Stable # 3.18+ Thanks, applied. Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/