From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1EC1BC7EE45 for ; Tue, 23 May 2023 07:46:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235691AbjEWHqa (ORCPT ); Tue, 23 May 2023 03:46:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235184AbjEWHqD (ORCPT ); Tue, 23 May 2023 03:46:03 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78870C5; Tue, 23 May 2023 00:45:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=b4caBsqRj9WgFDF1CdiyuIzyBrf32buPv15Igm1OGNU=; b=WhENlxHUIDOj4WfSHpZmeGSqbG vUiinRR9sgFVzAa6AJUpClm6jiechzZRFCFoQOMBZgcgEyyNfTPkP91bAtG69iCrNEq/glQ/uJbNx sAOQ62dPF9soTqb0kTrLOwvxuMSQt5oW6OzozXVmnZvgp/wauMKJRxyVsHuNGgJsCVYGzh7D01TWu caWLwi0NXlp+j+GN8bktnbZRg2OcJyv/uKT1OuzU3MMn/gNrZttHEkMPnvMkbUA53UNwWPOcTb/hS /FeK4JBZmKQY0mPDmXMOVZpL0vVDpadh2lV6EKfqVBTZSgXK5QlkE/1IVOY53AaWwoNvZ6GHaMTIg oj91dTFQ==; Received: from [2001:4bb8:188:23b2:6ade:85c9:530f:6eb0] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1q1Mi9-009GTZ-27; Tue, 23 May 2023 07:45:38 +0000 From: Christoph Hellwig To: Jens Axboe Cc: Greg Kroah-Hartman , "Rafael J. Wysocki" , Mike Snitzer , Joern Engel , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Pavel Machek , dm-devel@redhat.com, linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-mtd@lists.infradead.org, linux-pm@vger.kernel.org Subject: fix the name_to_dev_t mess Date: Tue, 23 May 2023 09:45:11 +0200 Message-Id: <20230523074535.249802-1-hch@lst.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, this series tries to sort out accumulated mess around the name_to_dev_t function. This function is intended to allow looking up the dev_t of a block device based on a name string before the root file systems is mounted and thus the normal path based lookup is available. Unfortunately a few years ago it managed to get exported and used in non-init contexts, leading to the something looking like a path name also beeing lookuped up by a different and potential dangerous algorithm. This series does a fair amount of refactoring and finally ends up with the renamed and improved name_to_dev_t only beeing available for the early init code again. The series is against Jens' for-6.5/block tree but probably applies against current mainline just fine as well. A git tree is also available here: git://git.infradead.org/users/hch/block.git blk-init-cleanup Gitweb: http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/blk-init-cleanup Diffstat: Documentation/admin-guide/kernel-parameters.txt | 2 arch/alpha/kernel/setup.c | 2 arch/ia64/kernel/setup.c | 2 arch/powerpc/platforms/powermac/setup.c | 3 block/Makefile | 2 block/early-lookup.c | 315 ++++++++++++++++++ block/genhd.c | 92 ----- drivers/base/dd.c | 6 drivers/md/dm-init.c | 4 drivers/md/dm-snap.c | 14 drivers/md/dm-table.c | 26 - drivers/md/md-autodetect.c | 3 drivers/mtd/devices/block2mtd.c | 62 ++- fs/pstore/blk.c | 4 include/linux/blkdev.h | 6 include/linux/device-mapper.h | 2 include/linux/device/driver.h | 2 include/linux/mount.h | 1 include/linux/root_dev.h | 9 init/do_mounts.c | 416 ++++++------------------ init/do_mounts.h | 14 init/do_mounts_initrd.c | 11 kernel/power/hibernate.c | 167 +++++---- kernel/power/power.h | 3 kernel/power/swap.c | 2 25 files changed, 603 insertions(+), 567 deletions(-)