Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp965405imm; Tue, 15 May 2018 11:44:58 -0700 (PDT) X-Google-Smtp-Source: AB8JxZo12veAXILSryGFaR+T9H/p3Z5c6vsnnhdO/yUPj32VpPnX6WWiHWC0tv693V7QyU31VKYC X-Received: by 2002:a63:a74a:: with SMTP id w10-v6mr13414001pgo.109.1526409898412; Tue, 15 May 2018 11:44:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526409898; cv=none; d=google.com; s=arc-20160816; b=mlqgfNsI82UQUxOioUNlE1aibjVBAm5LtZfoPfg38XKddjgEVAMlC+xsfa1Pj02Bpn ixED/ZEGQozUN2wvdX8EpV47r4nXahc9IjVYGz05YxnE+feRuNLDkT4WstMD3ybUDLtU wtRsnuMFmKRNB8z/eNWU+Ds0WsXDEDG88ulfAJVE8Ez6S85o4U2XMDGUS4RHjWquuYpd ugHU7DcHUJNI2i+8/19EmkRgH4Nv3awIVDkHFAuz5+tCJoeZty5vvnuZjt9biwEyN9Fg 4QV+6VeOysNm2df5hL5zcrV9THatsu3OigvZzG3MqMopc1kuyvBTvTG8qKdX2w2/qfVv Od0A== 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 :organization:references:in-reply-to:date:cc:to:from:subject :message-id:arc-authentication-results; bh=MO+1KhCMdQOsEr04R/XdcMENpfYw0s4uNemd7vbVJDw=; b=emEbmPyjbHNwZWqSDZcrLtIebgLO5Be35kcU1Zs8Z4zGVmhWF11V+GcpzBNUpQsBMo sXXmacpOLpL7qm6dd8fU0B3rAiUqhyNl417WRqj4AkDJQakwn+L+1lZBzwMbs8uLZ+qL bjC1pHM6AQoY28HLzR21inqS/7qeIW62m598iUyb828YYDMMNqjBE5/auumSy3I87n6b ZKaqqwIWJ3MggVgR/S5znr6BbuZN17HRb1T+zZP6LY4smUEuvoYkS33L+xz4tV3iAOQT 1zBUVu2ojZqBuLOrl+/ogA5pUn6ouU27y256RJ50iRMzN5cN45i0OXvJAqEZUuT/6M9f 0Ysg== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n17-v6si659764pfg.227.2018.05.15.11.44.43; Tue, 15 May 2018 11:44:58 -0700 (PDT) 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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752929AbeEOSo3 (ORCPT + 99 others); Tue, 15 May 2018 14:44:29 -0400 Received: from imap1.codethink.co.uk ([176.9.8.82]:57256 "EHLO imap1.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752491AbeEOSo2 (ORCPT ); Tue, 15 May 2018 14:44:28 -0400 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126] helo=xylophone) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1fIevx-0006d5-MG; Tue, 15 May 2018 19:44:25 +0100 Message-ID: <1526409864.9159.32.camel@codethink.co.uk> Subject: Re: [PATCH 4.4 014/190] lockd: fix lockd shutdown race From: Ben Hutchings To: "J. Bruce Fields" Cc: stable@vger.kernel.org, David Jeffery , Sasha Levin , Greg Kroah-Hartman , LKML Date: Tue, 15 May 2018 19:44:24 +0100 In-Reply-To: <20180411183550.916927223@linuxfoundation.org> References: <20180411183550.114495991@linuxfoundation.org> <20180411183550.916927223@linuxfoundation.org> Organization: Codethink Ltd. Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6-1+deb9u1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2018-04-11 at 20:34 +0200, Greg Kroah-Hartman wrote: > 4.4-stable review patch.  If anyone has any objections, please let me know. > > ------------------ > > From: "J. Bruce Fields" > > > [ Upstream commit efda760fe95ea15291853c8fa9235c32d319cd98 ] [...] > --- a/fs/lockd/svc.c > +++ b/fs/lockd/svc.c > @@ -129,6 +129,8 @@ lockd(void *vrqstp) >  { >   int err = 0; >   struct svc_rqst *rqstp = vrqstp; > + struct net *net = &init_net; > + struct lockd_net *ln = net_generic(net, lockd_net_id); >   >   /* try_to_freeze() is called from svc_recv() */ >   set_freezable(); > @@ -173,6 +175,8 @@ lockd(void *vrqstp) >   if (nlmsvc_ops) >   nlmsvc_invalidate_all(); >  nlm_shutdown_hosts(); > + cancel_delayed_work_sync(&ln->grace_period_end); > + locks_end_grace(&ln->lockd_manager); >   return 0; >  } >   > @@ -267,8 +271,6 @@ static void lockd_down_net(struct svc_se >   if (ln->nlmsvc_users) { >   if (--ln->nlmsvc_users == 0) { >   nlm_shutdown_hosts_net(net); > - cancel_delayed_work_sync(&ln->grace_period_end); > - locks_end_grace(&ln->lockd_manager); Aren't these statements still needed for non-initial namespaces? Ben. >   svc_shutdown_net(serv, net); >   dprintk("lockd_down_net: per-net data destroyed; net=%p\n", net); >   } > > > -- Ben Hutchings Software Developer, Codethink Ltd.