From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932214AbcH0VNN (ORCPT ); Sat, 27 Aug 2016 17:13:13 -0400 Received: from wtarreau.pck.nerim.net ([62.212.114.60]:1876 "EHLO 1wt.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752002AbcH0VNL (ORCPT ); Sat, 27 Aug 2016 17:13:11 -0400 Date: Sat, 27 Aug 2016 23:12:54 +0200 From: Willy Tarreau To: Ben Hutchings Cc: Al Viro , Jari Ruusu , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Greg Kroah-Hartman , Jiri Slaby Subject: Re: [PATCH 3.10 099/180] fix d_walk()/non-delayed __d_free() race Message-ID: <20160827211254.GA4310@1wt.eu> References: <20160827093135.GA28378@1wt.eu> <1472297918.13300.312.camel@decadent.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1472297918.13300.312.camel@decadent.org.uk> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 27, 2016 at 12:38:38PM +0100, Ben Hutchings wrote: > On Sat, 2016-08-27 at 11:31 +0200, Willy Tarreau wrote: > > Greg, Jiri, > > > > I checked Jari's explanation below and found that v3.14.77 and v3.12.62 > > are missing the same fix as 3.10. In fact Al's original commit 3d56c25 > > ("fix d_walk()/non-delayed __d_free() race") used to mention to check  > > this __d_materialise_dentry() function in the Cc: stable line, but this > > got lost during the backports. > > > > Normally all of our 3 kernels need to apply the following patch that > > Ben correctly put in 3.16 and 3.2. I'm fixing the backport in 3.10.103 > > right now. > > I never did get positive confirmation that this is the right change in > __d_materialise_dentry().  Al, could you please comment? Well in my experience Al checks our reviews and steps in when there's a mistake. Also your patch seems to reproduce the fix for the code that was later killed by commit 63cf427 ("kill __d_materialise_dentry()") which factors it out into __d_move() so I'm inclined to think that what you did makes sense. Cheers, Willy