Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp2371990rdb; Tue, 10 Oct 2023 01:44:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEzxZbxZ1N07iUNQ/ZXMNrajR1zeRPRNvZglvIiT71EKU/XAxsXaZMszO9OrJZ5vyb7b51 X-Received: by 2002:a17:90a:68cf:b0:27c:efe3:89dc with SMTP id q15-20020a17090a68cf00b0027cefe389dcmr439799pjj.14.1696927474615; Tue, 10 Oct 2023 01:44:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696927474; cv=none; d=google.com; s=arc-20160816; b=e/8m0Sn0Q1DpZ9DD/IZGaHZOncB6cYvvKr1WnB/dMdAPJ0Fbl+iUUOGONOZjyy+aUj 8O9v12Fh9cMtnnu2gZfEq1cWrhkFpte21tF7SVFwgEHLaoG7ivwlQRF2xq5zokUmBw1H 6401vwdQeV5VBjdsXymHk7UX3+bYvskZ2CLK3RSfpn1yTdrlSWLgenCb1j8Y1KqgiWUr RlekQxXQIYz/om5RVLsh15KB1WinfheAy9eLBScckZLU6r38pLGCYVmAh/QFXxQufS9e vnYQjMOX/vEYfbh8OWLnQ4YjwHQ5Ev00aY7BCdngnxmVufgIx9hMwk0MF0o2d1dMVhc0 NRzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ZyroboWCSCBQihMwEtaMwE6/yqbq203AOmeEE/H+pCM=; fh=YNkHAl/TSaQVUE2lxXSWNwSQhnqNa1VfBHdV0yzQDH0=; b=rzrwaemyMjdf8ThNykJfFapT3XPuvBUhBi9tWVp+Y8rXkoeiSwxeHKeUN14QQepGs6 hYvhBEGaGsPS4TXlOjsmiKTxG5W5ecvT7ryW+SuIuhLSDWDndxXrlpjs6kX0wG8rk84g MD11lECH3bdhQ1AShNjgJokARCouWMumYq0DvHHZNrHPbv5jBzMIxBUEmqTO7a10fXun 57cZfftXbOvbHn7125pTlZeDvY3o6/eG3y+froOhko8GiVIoIkPm3mGdCQBz9XjcWBRd J0OV5bcVlpAtbxz5SMsdo1u/cqhz0JIfv9FsiZse3QEIztVtCSTQwliU2anMWiN6+QTw I73g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=G7lOH156; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id mi7-20020a17090b4b4700b0027b15e572c2si13208166pjb.21.2023.10.10.01.44.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 01:44:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=G7lOH156; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 73F6D826E2BA; Tue, 10 Oct 2023 01:44:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231254AbjJJIo0 (ORCPT + 99 others); Tue, 10 Oct 2023 04:44:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230294AbjJJIoT (ORCPT ); Tue, 10 Oct 2023 04:44:19 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B439BB6; Tue, 10 Oct 2023 01:44:17 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE21CC433CA; Tue, 10 Oct 2023 08:44:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696927457; bh=AklOIwjkDmHZ1qM9UpDtEjm30BDgtD6wXE6WJ8v7kog=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=G7lOH156oFDWcy0YvnnmfIKiP+AA04u9jmSgZxeP9pFQRuB0xFOH6pNBpaqYfXqXp 3mRaPYMrIgET9ngpczaZP0eVoEh95kzdTZCqkxCAPKxJ3wVR6Hnp+M54eurWuP+0M7 wI8veqWTWaeqQcFbsSYLer/c5CfeMXYbxgK5GftSIl81sle/8orkomjomDP87716vQ AFyueGH7t8whd7YDB0EZIy3ggPZhJ4A6fI5v7mN/OpVjaq0V0yxfi4XHPHkIhAnYPx QNcZ4vokyqRLryzgaVzAPFzsRGCqCgub/0GMZWBX6BEbdxvLT75NoesRd06HwSJNdg Dly9CwNw/fNSw== Date: Tue, 10 Oct 2023 10:44:09 +0200 From: Christian Brauner To: Al Viro Cc: Christoph Hellwig , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Fenghua Yu , Reinette Chatre , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Dennis Dalessandro , Tejun Heo , Trond Myklebust , Anna Schumaker , Kees Cook , Damien Le Moal , Naohiro Aota , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org, linux-hardening@vger.kernel.org, cgroups@vger.kernel.org Subject: Re: [PATCH 03/19] fs: release anon dev_t in deactivate_locked_super Message-ID: <20231010-zulagen-bisschen-9657746c1fc0@brauner> References: <20230913111013.77623-1-hch@lst.de> <20230913111013.77623-4-hch@lst.de> <20230913232712.GC800259@ZenIV> <20230926093834.GB13806@lst.de> <20230926212515.GN800259@ZenIV> <20231002064646.GA1799@lst.de> <20231009215754.GL800259@ZenIV> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231009215754.GL800259@ZenIV> X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Tue, 10 Oct 2023 01:44:32 -0700 (PDT) X-Spam-Level: ** > list removal should happen after generic_shutdown_super(). Sure, you > want the superblock to serve as bdev holder, which leads to fun > with -EBUSY if mount comes while umount still hadn't closed the > device. I suspect that it would make a lot more sense to > introduce an intermediate state - "held, but will be released > in a short while". You already have something similar, but > only for the entire disk ->bd_claiming stuff. > > Add a new primitive (will_release_bdev()), so that attempts to > claim the sucker will wait until it gets released instead of > failing with -EBUSY. And do *that* before generic_shutdown_super() > when unmounting something that is block-based. Allows to bring > the list removal back where it used to be, no UAF at all... This is essentially equivalent to what is done right now. Only that this would then happen in the block layer. I'm not sure it would buy us that much. In all likelyhood we just get a range of other issues to fix.