* [PATCH RESEND 46/62] init: edit docs for initramfs-related configs
From: Askar Safin @ 2025-09-14 3:55 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
drivers/block/Kconfig | 7 ++-----
init/Kconfig | 18 +++++++-----------
usr/Kconfig | 42 +++++++++++++++++++++---------------------
3 files changed, 30 insertions(+), 37 deletions(-)
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 8cf06e40f61c..a268ac3dd304 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -225,9 +225,7 @@ config BLK_DEV_RAM
Saying Y here will allow you to use a portion of your RAM memory as
a block device, so that you can make file systems on it, read and
write to it and do all the other things that you can do with normal
- block devices (such as hard drives). It is usually used to load and
- store a copy of a minimal root file system off of a floppy into RAM
- during the initial install of Linux.
+ block devices (such as hard drives).
For details, read <file:Documentation/admin-guide/blockdev/ramdisk.rst>.
@@ -244,8 +242,7 @@ config BLK_DEV_RAM_COUNT
depends on BLK_DEV_RAM
help
The default value is 16 RAM disks. Change this if you know what you
- are doing. If you boot from a filesystem that needs to be extracted
- in memory, you will need at least one RAM disk (e.g. root on cramfs).
+ are doing.
config BLK_DEV_RAM_SIZE
int "Default RAM disk size (kbytes)"
diff --git a/init/Kconfig b/init/Kconfig
index 0263c08960bc..1c371dca7fd4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1435,18 +1435,14 @@ config RELAY
If unsure, say N.
config BLK_DEV_INITRD
- bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
+ bool "Initial RAM filesystem (initramfs) support"
help
- The initial RAM filesystem is a ramfs which is loaded by the
- boot loader (loadlin or lilo) and that is mounted as root
+ The initial RAM filesystem is a ramfs or tmpfs which is loaded by the
+ boot loader and that is mounted as root
before the normal boot procedure. It is typically used to
load modules needed to mount the "real" root file system,
etc. See <file:Documentation/filesystems/ramfs-rootfs-initramfs.rst> for details.
- If RAM disk support (BLK_DEV_RAM) is also included, this
- also enables initial RAM disk (initrd) support and adds
- 15 Kbytes (more on some other architectures) to the kernel size.
-
If unsure say Y.
if BLK_DEV_INITRD
@@ -1485,8 +1481,8 @@ config BOOT_CONFIG_EMBED
depends on BOOT_CONFIG
help
Embed a bootconfig file given by BOOT_CONFIG_EMBED_FILE in the
- kernel. Usually, the bootconfig file is loaded with the initrd
- image. But if the system doesn't support initrd, this option will
+ kernel. Usually, the bootconfig file is loaded with the initramfs.
+ But if the system doesn't support initramfs, this option will
help you by embedding a bootconfig file while building the kernel.
If unsure, say N.
@@ -1496,8 +1492,8 @@ config BOOT_CONFIG_EMBED_FILE
depends on BOOT_CONFIG_EMBED
help
Specify a bootconfig file which will be embedded to the kernel.
- This bootconfig will be used if there is no initrd or no other
- bootconfig in the initrd.
+ This bootconfig will be used if there is no initramfs or no other
+ bootconfig in the initramfs.
config INITRAMFS_PRESERVE_MTIME
bool "Preserve cpio archive mtimes in initramfs"
diff --git a/usr/Kconfig b/usr/Kconfig
index 9279a2893ab0..8899353bd7d5 100644
--- a/usr/Kconfig
+++ b/usr/Kconfig
@@ -27,7 +27,7 @@ config INITRAMFS_FORCE
depends on CMDLINE_EXTEND || CMDLINE_FORCE
help
This option causes the kernel to ignore the initramfs image
- (or initrd image) passed to it by the bootloader. This is
+ passed to it by the bootloader. This is
analogous to CMDLINE_FORCE, which is found on some architectures,
and is useful if you cannot or don't want to change the image
your bootloader passes to the kernel.
@@ -53,59 +53,59 @@ config INITRAMFS_ROOT_GID
If you are not sure, leave it set to "0".
config RD_GZIP
- bool "Support initial ramdisk/ramfs compressed using gzip"
+ bool "Support initial ramfs compressed using gzip"
default y
select DECOMPRESS_GZIP
help
- Support loading of a gzip encoded initial ramdisk or cpio buffer.
+ Support loading of a gzip encoded initial ramfs.
If unsure, say Y.
config RD_BZIP2
- bool "Support initial ramdisk/ramfs compressed using bzip2"
+ bool "Support initial ramfs compressed using bzip2"
default y
select DECOMPRESS_BZIP2
help
- Support loading of a bzip2 encoded initial ramdisk or cpio buffer
+ Support loading of a bzip2 encoded initial ramfs.
If unsure, say N.
config RD_LZMA
- bool "Support initial ramdisk/ramfs compressed using LZMA"
+ bool "Support initial ramfs compressed using LZMA"
default y
select DECOMPRESS_LZMA
help
- Support loading of a LZMA encoded initial ramdisk or cpio buffer
+ Support loading of a LZMA encoded initial ramfs.
If unsure, say N.
config RD_XZ
- bool "Support initial ramdisk/ramfs compressed using XZ"
+ bool "Support initial ramfs compressed using XZ"
default y
select DECOMPRESS_XZ
help
- Support loading of a XZ encoded initial ramdisk or cpio buffer.
+ Support loading of a XZ encoded initial ramfs.
If unsure, say N.
config RD_LZO
- bool "Support initial ramdisk/ramfs compressed using LZO"
+ bool "Support initial ramfs compressed using LZO"
default y
select DECOMPRESS_LZO
help
- Support loading of a LZO encoded initial ramdisk or cpio buffer
+ Support loading of a LZO encoded initial ramfs.
If unsure, say N.
config RD_LZ4
- bool "Support initial ramdisk/ramfs compressed using LZ4"
+ bool "Support initial ramfs compressed using LZ4"
default y
select DECOMPRESS_LZ4
help
- Support loading of a LZ4 encoded initial ramdisk or cpio buffer
+ Support loading of a LZ4 encoded initial ramfs.
If unsure, say N.
config RD_ZSTD
- bool "Support initial ramdisk/ramfs compressed using ZSTD"
+ bool "Support initial ramfs compressed using ZSTD"
default y
select DECOMPRESS_ZSTD
help
- Support loading of a ZSTD encoded initial ramdisk or cpio buffer.
+ Support loading of a ZSTD encoded initial ramfs.
If unsure, say N.
choice
@@ -127,7 +127,7 @@ choice
boot.
Keep in mind that your build system needs to provide the appropriate
- compression tool to compress the generated initram cpio file for
+ compression tool to compress the generated initramfs cpio file for
embedding.
If in doubt, select 'None'
@@ -153,7 +153,7 @@ config INITRAMFS_COMPRESSION_BZIP2
booting.
If you choose this, keep in mind that you need to have the bzip2 tool
- available to be able to compress the initram.
+ available to be able to compress the initramfs.
config INITRAMFS_COMPRESSION_LZMA
bool "LZMA"
@@ -166,7 +166,7 @@ config INITRAMFS_COMPRESSION_LZMA
comparison to gzip.
If you choose this, keep in mind that you may need to install the xz
- or lzma tools to be able to compress the initram.
+ or lzma tools to be able to compress the initramfs.
config INITRAMFS_COMPRESSION_XZ
bool "XZ"
@@ -179,7 +179,7 @@ config INITRAMFS_COMPRESSION_XZ
slow.
If you choose this, keep in mind that you may need to install the xz
- tool to be able to compress the initram.
+ tool to be able to compress the initramfs.
config INITRAMFS_COMPRESSION_LZO
bool "LZO"
@@ -191,7 +191,7 @@ config INITRAMFS_COMPRESSION_LZO
is quite fast too.
If you choose this, keep in mind that you may need to install the lzop
- tool to be able to compress the initram.
+ tool to be able to compress the initramfs.
config INITRAMFS_COMPRESSION_LZ4
bool "LZ4"
@@ -213,7 +213,7 @@ config INITRAMFS_COMPRESSION_ZSTD
decompress around the same speed as LZO, but slower than LZ4.
If you choose this, keep in mind that you may need to install the zstd
- tool to be able to compress the initram.
+ tool to be able to compress the initramfs.
config INITRAMFS_COMPRESSION_NONE
bool "None"
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 45/62] doc: kernel-parameters: replace [RAM] with [INITRAMFS]
From: Askar Safin @ 2025-09-14 3:54 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Also, do other initramfs-related edits, while we are here
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
.../admin-guide/kernel-parameters.rst | 4 ++--
.../admin-guide/kernel-parameters.txt | 20 +++++++++----------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.rst b/Documentation/admin-guide/kernel-parameters.rst
index 39d0e7ff0965..22af6bbffc35 100644
--- a/Documentation/admin-guide/kernel-parameters.rst
+++ b/Documentation/admin-guide/kernel-parameters.rst
@@ -123,7 +123,7 @@ is applicable::
CMA Contiguous Memory Area support is enabled.
DRM Direct Rendering Management support is enabled.
DYNAMIC_DEBUG Build in debug messages and enable them at runtime
- EARLY Parameter processed too early to be embedded in initrd.
+ EARLY Parameter processed too early to be embedded in initramfs.
EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
EFI EFI Partitioning (GPT) is enabled
EVM Extended Verification Module
@@ -134,6 +134,7 @@ is applicable::
HW Appropriate hardware is enabled.
HYPER_V HYPERV support is enabled.
IMA Integrity measurement architecture is enabled.
+ INITRAMFS Initramfs support is enabled.
IP_PNP IP DHCP, BOOTP, or RARP is enabled.
IPV6 IPv6 support is enabled.
ISAPNP ISA PnP code is enabled.
@@ -167,7 +168,6 @@ is applicable::
PPT Parallel port support is enabled.
PS2 Appropriate PS/2 support is enabled.
PV_OPS A paravirtualized kernel is enabled.
- RAM RAM disk support is enabled.
RDT Intel Resource Director Technology.
RISCV RISCV architecture is enabled.
S390 S390 architecture is enabled.
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 0805d3ebc75a..8e10abac4cc7 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -565,7 +565,7 @@
Format: integer
bootconfig [KNL,EARLY]
- Extended command line options can be added to an initrd
+ Extended command line options can be added to an initramfs
and this will cause the kernel to look for it.
See Documentation/admin-guide/bootconfig.rst
@@ -1005,7 +1005,7 @@
may be missing from the dump.
A standard crashkernel reservation, as described above,
- is still needed to hold the crash kernel and initrd.
+ is still needed to hold the crash kernel and initramfs.
This option increases the risk of a kdump failure: DMA
transfers configured by the first kernel may end up
@@ -2298,7 +2298,7 @@
initcall functions. Useful for debugging built-in
modules and initcalls.
- initramfs_async= [KNL]
+ initramfs_async= [INITRAMFS,KNL]
Format: <bool>
Default: 1
This parameter controls whether the initramfs
@@ -2310,10 +2310,10 @@
unpacking being completed before device_ and
late_ initcalls.
- initrd= [BOOT,EARLY] Specify the location of the initial ramdisk
+ initrd= [BOOT,EARLY,INITRAMFS,KNL] Same as initrdmem=
- initrdmem= [KNL,EARLY] Specify a physical address and size from which to
- load the initrd. If an initrd is compiled in or
+ initrdmem= [BOOT,EARLY,INITRAMFS,KNL] Specify a physical address and size from which to
+ load initramfs. If initramfs is compiled in or
specified in the bootparams, it takes priority over this
setting.
Format: ss[KMG],nn[KMG]
@@ -2749,7 +2749,7 @@
between unregistering the boot console and initializing
the real console.
- keepinitrd [HW,ARM] See retain_initrd.
+ keepinitrd [HW,ARM,INITRAMFS] See retain_initrd.
kernelcore= [KNL,X86,PPC,EARLY]
Format: nn[KMGTPE] | nn% | "mirror"
@@ -6129,8 +6129,8 @@
rdinit= [KNL]
Format: <full_path>
- Run specified binary instead of /init from the ramdisk,
- used for early userspace startup. See initrd.
+ Run specified binary instead of /init from initramfs,
+ used for early userspace startup.
rdrand= [X86,EARLY]
force - Override the decision by the kernel to hide the
@@ -6324,7 +6324,7 @@
Useful for devices that are detected asynchronously
(e.g. USB and MMC devices).
- retain_initrd [RAM] Keep initrd memory after extraction. After boot, it will
+ retain_initrd [INITRAMFS] Keep initramfs memory after extraction. After boot, it will
be accessible via /sys/firmware/initrd.
retbleed= [X86] Control mitigation of RETBleed (Arbitrary
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 44/62] doc: kernel-parameters: remove [RAM] from reserve_mem=
From: Askar Safin @ 2025-09-14 3:54 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This parameter has nothing to do with ramdisk
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
Documentation/admin-guide/kernel-parameters.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index a259f2bdba0f..0805d3ebc75a 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -6277,8 +6277,7 @@
them. If <base> is less than 0x10000, the region
is assumed to be I/O ports; otherwise it is memory.
- reserve_mem= [RAM]
- Format: nn[KMG]:<align>:<label>
+ reserve_mem= Format: nn[KMG]:<align>:<label>
Reserve physical memory and label it with a name that
other subsystems can use to access it. This is typically
used for systems that do not wipe the RAM, and this command
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 43/62] setsid: inline ksys_setsid into the only caller
From: Askar Safin @ 2025-09-14 3:53 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
include/linux/syscalls.h | 1 -
kernel/sys.c | 7 +------
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 77f45e5d4413..75e9ee03d19b 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -1231,7 +1231,6 @@ int ksys_fchown(unsigned int fd, uid_t user, gid_t group);
ssize_t ksys_read(unsigned int fd, char __user *buf, size_t count);
void ksys_sync(void);
int ksys_unshare(unsigned long unshare_flags);
-int ksys_setsid(void);
int ksys_sync_file_range(int fd, loff_t offset, loff_t nbytes,
unsigned int flags);
ssize_t ksys_pread64(unsigned int fd, char __user *buf, size_t count,
diff --git a/kernel/sys.c b/kernel/sys.c
index 1e28b40053ce..66e1e2dfd585 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1265,7 +1265,7 @@ static void set_special_pids(struct pid **pids, struct pid *pid)
change_pid(pids, curr, PIDTYPE_PGID, pid);
}
-int ksys_setsid(void)
+SYSCALL_DEFINE0(setsid)
{
struct task_struct *group_leader = current->group_leader;
struct pid *sid = task_pid(group_leader);
@@ -1300,11 +1300,6 @@ int ksys_setsid(void)
return err;
}
-SYSCALL_DEFINE0(setsid)
-{
- return ksys_setsid();
-}
-
DECLARE_RWSEM(uts_sem);
#ifdef COMPAT_UTS_MACHINE
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 42/62] init: rename <linux/initrd.h> to <linux/initramfs.h>
From: Askar Safin @ 2025-09-14 3:52 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/alpha/kernel/core_irongate.c | 2 +-
arch/alpha/kernel/setup.c | 2 +-
arch/arc/mm/init.c | 2 +-
arch/arm/kernel/atags_parse.c | 2 +-
arch/arm/kernel/setup.c | 2 +-
arch/arm/mm/init.c | 2 +-
arch/arm64/kernel/setup.c | 2 +-
arch/arm64/mm/init.c | 2 +-
arch/csky/kernel/setup.c | 2 +-
arch/csky/mm/init.c | 2 +-
arch/loongarch/kernel/mem.c | 2 +-
arch/loongarch/kernel/setup.c | 2 +-
arch/m68k/kernel/setup_mm.c | 2 +-
arch/m68k/kernel/setup_no.c | 2 +-
arch/m68k/kernel/uboot.c | 2 +-
arch/microblaze/kernel/cpu/mb.c | 2 +-
arch/microblaze/kernel/setup.c | 2 +-
arch/microblaze/mm/init.c | 2 +-
arch/mips/ath79/prom.c | 2 +-
arch/mips/kernel/setup.c | 2 +-
arch/mips/mm/init.c | 2 +-
arch/mips/sibyte/swarm/setup.c | 2 +-
arch/nios2/kernel/setup.c | 2 +-
arch/openrisc/kernel/setup.c | 2 +-
arch/parisc/kernel/pdt.c | 2 +-
arch/parisc/kernel/setup.c | 2 +-
arch/parisc/mm/init.c | 2 +-
arch/powerpc/kernel/prom.c | 2 +-
arch/powerpc/kernel/prom_init.c | 2 +-
arch/powerpc/kernel/setup-common.c | 2 +-
arch/powerpc/kernel/setup_32.c | 2 +-
arch/powerpc/kernel/setup_64.c | 2 +-
arch/powerpc/mm/init_32.c | 2 +-
arch/powerpc/platforms/52xx/lite5200.c | 2 +-
arch/powerpc/platforms/83xx/km83xx.c | 2 +-
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 2 +-
arch/powerpc/platforms/chrp/setup.c | 2 +-
arch/powerpc/platforms/embedded6xx/linkstation.c | 2 +-
arch/powerpc/platforms/embedded6xx/storcenter.c | 2 +-
arch/powerpc/platforms/powermac/setup.c | 2 +-
arch/riscv/mm/init.c | 2 +-
arch/s390/kernel/setup.c | 2 +-
arch/s390/mm/init.c | 2 +-
arch/sh/kernel/setup.c | 2 +-
arch/sparc/kernel/setup_32.c | 2 +-
arch/sparc/kernel/setup_64.c | 2 +-
arch/sparc/mm/init_32.c | 2 +-
arch/sparc/mm/init_64.c | 2 +-
arch/um/kernel/initrd.c | 2 +-
arch/x86/kernel/cpu/microcode/amd.c | 2 +-
arch/x86/kernel/cpu/microcode/intel.c | 2 +-
arch/x86/kernel/cpu/microcode/internal.h | 2 +-
arch/x86/kernel/devicetree.c | 2 +-
arch/x86/kernel/setup.c | 2 +-
arch/x86/mm/init.c | 2 +-
arch/x86/mm/init_32.c | 2 +-
arch/x86/mm/init_64.c | 2 +-
drivers/acpi/tables.c | 2 +-
drivers/base/firmware_loader/main.c | 2 +-
drivers/block/brd.c | 2 +-
drivers/firmware/efi/efi.c | 2 +-
drivers/of/fdt.c | 2 +-
include/linux/{initrd.h => initramfs.h} | 6 +++---
init/do_mounts.c | 2 +-
init/initramfs.c | 2 +-
init/main.c | 2 +-
kernel/sysctl.c | 2 +-
kernel/umh.c | 2 +-
68 files changed, 70 insertions(+), 70 deletions(-)
rename include/linux/{initrd.h => initramfs.h} (89%)
diff --git a/arch/alpha/kernel/core_irongate.c b/arch/alpha/kernel/core_irongate.c
index 5519bb8fc6f2..83b799848b39 100644
--- a/arch/alpha/kernel/core_irongate.c
+++ b/arch/alpha/kernel/core_irongate.c
@@ -19,7 +19,7 @@
#include <linux/pci.h>
#include <linux/sched.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/memblock.h>
#include <asm/ptrace.h>
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
index a344e71b2d2a..809651206781 100644
--- a/arch/alpha/kernel/setup.c
+++ b/arch/alpha/kernel/setup.c
@@ -34,7 +34,7 @@
#include <linux/pci.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/eisa.h>
#include <linux/pfn.h>
#ifdef CONFIG_MAGIC_SYSRQ
diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c
index 1e098d7fc6af..00aaf1ed389f 100644
--- a/arch/arc/mm/init.c
+++ b/arch/arc/mm/init.c
@@ -7,7 +7,7 @@
#include <linux/mm.h>
#include <linux/memblock.h>
#ifdef CONFIG_BLK_DEV_INITRD
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#endif
#include <linux/of_fdt.h>
#include <linux/swap.h>
diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
index 615d9e83c9b5..2b49e0ddfa42 100644
--- a/arch/arm/kernel/atags_parse.c
+++ b/arch/arm/kernel/atags_parse.c
@@ -15,7 +15,7 @@
*/
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/root_dev.h>
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 0bfd66c7ada0..876039b24290 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -11,7 +11,7 @@
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/utsname.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/console.h>
#include <linux/seq_file.h>
#include <linux/screen_info.h>
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index a564cbc36d18..ae5921db626e 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -13,7 +13,7 @@
#include <linux/sched/task.h>
#include <linux/export.h>
#include <linux/nodemask.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of_fdt.h>
#include <linux/highmem.h>
#include <linux/gfp.h>
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 77c7926a4df6..bddbb473ad88 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -12,7 +12,7 @@
#include <linux/stddef.h>
#include <linux/ioport.h>
#include <linux/delay.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/console.h>
#include <linux/cache.h>
#include <linux/screen_info.h>
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index 3414e48c8c82..e50533faaece 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -14,7 +14,7 @@
#include <linux/cache.h>
#include <linux/mman.h>
#include <linux/nodemask.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/gfp.h>
#include <linux/math.h>
#include <linux/memblock.h>
diff --git a/arch/csky/kernel/setup.c b/arch/csky/kernel/setup.c
index 403a977b8c1f..9feca38d4c47 100644
--- a/arch/csky/kernel/setup.c
+++ b/arch/csky/kernel/setup.c
@@ -3,7 +3,7 @@
#include <linux/console.h>
#include <linux/memblock.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of.h>
#include <linux/of_fdt.h>
#include <linux/start_kernel.h>
diff --git a/arch/csky/mm/init.c b/arch/csky/mm/init.c
index 573da66b2543..f2d1004fc6ae 100644
--- a/arch/csky/mm/init.c
+++ b/arch/csky/mm/init.c
@@ -19,7 +19,7 @@
#include <linux/swap.h>
#include <linux/proc_fs.h>
#include <linux/pfn.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/setup.h>
#include <asm/cachectl.h>
diff --git a/arch/loongarch/kernel/mem.c b/arch/loongarch/kernel/mem.c
index aed901c57fb4..5ec4d18c9000 100644
--- a/arch/loongarch/kernel/mem.c
+++ b/arch/loongarch/kernel/mem.c
@@ -3,7 +3,7 @@
* Copyright (C) 2020-2022 Loongson Technology Corporation Limited
*/
#include <linux/efi.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/memblock.h>
#include <asm/bootinfo.h>
diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c
index 226262f35dc1..5d0124cbe94b 100644
--- a/arch/loongarch/kernel/setup.c
+++ b/arch/loongarch/kernel/setup.c
@@ -17,7 +17,7 @@
#include <linux/efi.h>
#include <linux/export.h>
#include <linux/memblock.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/ioport.h>
#include <linux/kexec.h>
#include <linux/crash_dump.h>
diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c
index 80f0544c1041..b9c9b2e3a150 100644
--- a/arch/m68k/kernel/setup_mm.c
+++ b/arch/m68k/kernel/setup_mm.c
@@ -25,7 +25,7 @@
#include <linux/seq_file.h>
#include <linux/module.h>
#include <linux/nvram.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/random.h>
#include <asm/bootinfo.h>
diff --git a/arch/m68k/kernel/setup_no.c b/arch/m68k/kernel/setup_no.c
index 4d98e0063725..6d3d5a299383 100644
--- a/arch/m68k/kernel/setup_no.c
+++ b/arch/m68k/kernel/setup_no.c
@@ -29,7 +29,7 @@
#include <linux/memblock.h>
#include <linux/seq_file.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/root_dev.h>
#include <linux/rtc.h>
diff --git a/arch/m68k/kernel/uboot.c b/arch/m68k/kernel/uboot.c
index 5fc831a0794a..416e3f8f879d 100644
--- a/arch/m68k/kernel/uboot.c
+++ b/arch/m68k/kernel/uboot.c
@@ -18,7 +18,7 @@
#include <linux/memblock.h>
#include <linux/seq_file.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/root_dev.h>
#include <linux/rtc.h>
diff --git a/arch/microblaze/kernel/cpu/mb.c b/arch/microblaze/kernel/cpu/mb.c
index 37cb2898216b..a5d2c564d4e5 100644
--- a/arch/microblaze/kernel/cpu/mb.c
+++ b/arch/microblaze/kernel/cpu/mb.c
@@ -13,7 +13,7 @@
#include <linux/string.h>
#include <linux/seq_file.h>
#include <linux/cpu.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/bug.h>
#include <asm/cpuinfo.h>
diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c
index f417333eccae..7f537307b71c 100644
--- a/arch/microblaze/kernel/setup.c
+++ b/arch/microblaze/kernel/setup.c
@@ -14,7 +14,7 @@
#include <linux/string.h>
#include <linux/seq_file.h>
#include <linux/cpu.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/console.h>
#include <linux/debugfs.h>
#include <linux/of_fdt.h>
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
index fabeca49c2c6..f54d71160712 100644
--- a/arch/microblaze/mm/init.c
+++ b/arch/microblaze/mm/init.c
@@ -12,7 +12,7 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/mm.h> /* mem_init */
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of_fdt.h>
#include <linux/pagemap.h>
#include <linux/pfn.h>
diff --git a/arch/mips/ath79/prom.c b/arch/mips/ath79/prom.c
index 506dcada711b..fcb45fe198a0 100644
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
@@ -11,7 +11,7 @@
#include <linux/init.h>
#include <linux/io.h>
#include <linux/string.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/bootinfo.h>
#include <asm/addrspace.h>
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index aed454ebd751..47dc7eb99ef7 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -16,7 +16,7 @@
#include <linux/ioport.h>
#include <linux/export.h>
#include <linux/memblock.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/root_dev.h>
#include <linux/highmem.h>
#include <linux/console.h>
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index a673d3d68254..5b109c737547 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -30,7 +30,7 @@
#include <linux/hardirq.h>
#include <linux/gfp.h>
#include <linux/kcore.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/execmem.h>
#include <asm/bootinfo.h>
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c
index 38c90b5e8754..ff8b2d8ad7ab 100644
--- a/arch/mips/sibyte/swarm/setup.c
+++ b/arch/mips/sibyte/swarm/setup.c
@@ -15,7 +15,7 @@
#include <linux/kernel.h>
#include <linux/console.h>
#include <linux/screen_info.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/irq.h>
#include <asm/io.h>
diff --git a/arch/nios2/kernel/setup.c b/arch/nios2/kernel/setup.c
index 3cc44fa4931c..d3d60c42df46 100644
--- a/arch/nios2/kernel/setup.c
+++ b/arch/nios2/kernel/setup.c
@@ -17,7 +17,7 @@
#include <linux/sched/task.h>
#include <linux/console.h>
#include <linux/memblock.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of_fdt.h>
#include <asm/mmu_context.h>
diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c
index 337a0381c452..27ae87c09b0e 100644
--- a/arch/openrisc/kernel/setup.c
+++ b/arch/openrisc/kernel/setup.c
@@ -29,7 +29,7 @@
#include <linux/memblock.h>
#include <linux/seq_file.h>
#include <linux/serial.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of_fdt.h>
#include <linux/of.h>
#include <linux/device.h>
diff --git a/arch/parisc/kernel/pdt.c b/arch/parisc/kernel/pdt.c
index 3715a3b088a7..49982a48c92c 100644
--- a/arch/parisc/kernel/pdt.c
+++ b/arch/parisc/kernel/pdt.c
@@ -17,7 +17,7 @@
#include <linux/seq_file.h>
#include <linux/kthread.h>
#include <linux/proc_fs.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/pgtable.h>
#include <linux/mm.h>
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index 41f45fa177d0..1e403c26070d 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -13,7 +13,7 @@
*/
#include <linux/kernel.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/init.h>
#include <linux/console.h>
#include <linux/seq_file.h>
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index af7a33c8bd31..5843f4a46e93 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -18,7 +18,7 @@
#include <linux/gfp.h>
#include <linux/delay.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/swap.h>
#include <linux/unistd.h>
#include <linux/nodemask.h> /* for node_online_map */
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index b7858b0bd697..a2a1896f9e46 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -19,7 +19,7 @@
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/delay.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/bitops.h>
#include <linux/export.h>
#include <linux/kexec.h>
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 827c958677f8..a0ac845eb504 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -24,7 +24,7 @@
#include <linux/pci.h>
#include <linux/proc_fs.h>
#include <linux/delay.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/bitops.h>
#include <linux/pgtable.h>
#include <linux/printk.h>
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index eff369cba0e5..53a416bc41ce 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -16,7 +16,7 @@
#include <linux/kernel.h>
#include <linux/reboot.h>
#include <linux/delay.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/platform_device.h>
#include <linux/printk.h>
#include <linux/seq_file.h>
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index 5a1bf501fbe1..21d21b8291ef 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -10,7 +10,7 @@
#include <linux/kernel.h>
#include <linux/reboot.h>
#include <linux/delay.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/tty.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 8fd7cbf3bd04..66c2d563c094 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -13,7 +13,7 @@
#include <linux/kernel.h>
#include <linux/reboot.h>
#include <linux/delay.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/seq_file.h>
#include <linux/ioport.h>
#include <linux/console.h>
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c
index 4e71dfe7d026..f434e6dc1921 100644
--- a/arch/powerpc/mm/init_32.c
+++ b/arch/powerpc/mm/init_32.c
@@ -22,7 +22,7 @@
#include <linux/stddef.h>
#include <linux/init.h>
#include <linux/highmem.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/pagemap.h>
#include <linux/memblock.h>
#include <linux/gfp.h>
diff --git a/arch/powerpc/platforms/52xx/lite5200.c b/arch/powerpc/platforms/52xx/lite5200.c
index 0a161d82a3a8..e4222658ec2d 100644
--- a/arch/powerpc/platforms/52xx/lite5200.c
+++ b/arch/powerpc/platforms/52xx/lite5200.c
@@ -17,7 +17,7 @@
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/root_dev.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/time.h>
#include <asm/io.h>
#include <asm/machdep.h>
diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c
index 2b5d187d9b62..b0426b35f9ed 100644
--- a/arch/powerpc/platforms/83xx/km83xx.c
+++ b/arch/powerpc/platforms/83xx/km83xx.c
@@ -19,7 +19,7 @@
#include <linux/delay.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of.h>
#include <linux/of_address.h>
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
index c19490cf6376..6b6c11931c1e 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -24,7 +24,7 @@
#include <linux/console.h>
#include <linux/delay.h>
#include <linux/seq_file.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/fsl_devices.h>
#include <linux/of.h>
#include <linux/of_address.h>
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index c1bfa4c3444c..00a6663a0a88 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -30,7 +30,7 @@
#include <linux/console.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/timer.h>
#include <linux/of_address.h>
#include <linux/of_fdt.h>
diff --git a/arch/powerpc/platforms/embedded6xx/linkstation.c b/arch/powerpc/platforms/embedded6xx/linkstation.c
index 4012f206ec63..8e41d0fb0892 100644
--- a/arch/powerpc/platforms/embedded6xx/linkstation.c
+++ b/arch/powerpc/platforms/embedded6xx/linkstation.c
@@ -11,7 +11,7 @@
*/
#include <linux/kernel.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of_platform.h>
#include <linux/seq_file.h>
diff --git a/arch/powerpc/platforms/embedded6xx/storcenter.c b/arch/powerpc/platforms/embedded6xx/storcenter.c
index e49880e8dab8..df458828eb22 100644
--- a/arch/powerpc/platforms/embedded6xx/storcenter.c
+++ b/arch/powerpc/platforms/embedded6xx/storcenter.c
@@ -13,7 +13,7 @@
#include <linux/kernel.h>
#include <linux/pci.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/of_platform.h>
#include <asm/time.h>
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 4c3b9ed5428d..ab0860868025 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -32,7 +32,7 @@
#include <linux/delay.h>
#include <linux/ioport.h>
#include <linux/major.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/console.h>
#include <linux/pci.h>
#include <linux/adb.h>
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index b1c4876dadae..479a0861a93e 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -9,7 +9,7 @@
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/memblock.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/swap.h>
#include <linux/swiotlb.h>
#include <linux/sizes.h>
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 9bdb6f6b893e..7ce009c2599d 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -33,7 +33,7 @@
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/root_dev.h>
#include <linux/console.h>
#include <linux/kernel_stat.h>
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
index e4953453d254..e6556f9f2be3 100644
--- a/arch/s390/mm/init.c
+++ b/arch/s390/mm/init.c
@@ -27,7 +27,7 @@
#include <linux/memory.h>
#include <linux/pfn.h>
#include <linux/poison.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/export.h>
#include <linux/cma.h>
#include <linux/gfp.h>
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index 9ce9dc5b9e56..814866e35120 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -9,7 +9,7 @@
*/
#include <linux/ioport.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/console.h>
#include <linux/root_dev.h>
#include <linux/utsname.h>
diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c
index fb46fb3acf54..b3778d78bb78 100644
--- a/arch/sparc/kernel/setup_32.c
+++ b/arch/sparc/kernel/setup_32.c
@@ -14,7 +14,7 @@
#include <linux/unistd.h>
#include <linux/ptrace.h>
#include <linux/slab.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/smp.h>
#include <linux/user.h>
#include <linux/delay.h>
diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c
index 79b56613c6d8..02b16827b664 100644
--- a/arch/sparc/kernel/setup_64.c
+++ b/arch/sparc/kernel/setup_64.c
@@ -28,7 +28,7 @@
#include <linux/root_dev.h>
#include <linux/interrupt.h>
#include <linux/cpu.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/module.h>
#include <linux/start_kernel.h>
#include <linux/memblock.h>
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c
index 7b7722ff5232..f04dd1d6f382 100644
--- a/arch/sparc/mm/init_32.c
+++ b/arch/sparc/mm/init_32.c
@@ -19,7 +19,7 @@
#include <linux/mman.h>
#include <linux/mm.h>
#include <linux/swap.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/init.h>
#include <linux/highmem.h>
#include <linux/memblock.h>
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
index af249a654e79..b0fa82676e6f 100644
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -14,7 +14,7 @@
#include <linux/memblock.h>
#include <linux/mm.h>
#include <linux/hugetlb.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/swap.h>
#include <linux/pagemap.h>
#include <linux/poison.h>
diff --git a/arch/um/kernel/initrd.c b/arch/um/kernel/initrd.c
index e6113192a6b6..99edfbd78c00 100644
--- a/arch/um/kernel/initrd.c
+++ b/arch/um/kernel/initrd.c
@@ -5,7 +5,7 @@
#include <linux/init.h>
#include <linux/memblock.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/types.h>
#include <init.h>
#include <os.h>
diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index 514f63340880..0086e285d60c 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -26,7 +26,7 @@
#include <linux/bsearch.h>
#include <linux/uaccess.h>
#include <linux/vmalloc.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/kernel.h>
#include <linux/pci.h>
diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
index 371ca6eac00e..4bebf8b77542 100644
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -14,7 +14,7 @@
#include <linux/earlycpio.h>
#include <linux/firmware.h>
#include <linux/uaccess.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/cpu.h>
diff --git a/arch/x86/kernel/cpu/microcode/internal.h b/arch/x86/kernel/cpu/microcode/internal.h
index 50a9702ae4e2..b4aec58af7e3 100644
--- a/arch/x86/kernel/cpu/microcode/internal.h
+++ b/arch/x86/kernel/cpu/microcode/internal.h
@@ -3,7 +3,7 @@
#define _X86_MICROCODE_INTERNAL_H
#include <linux/earlycpio.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/cpu.h>
#include <asm/microcode.h>
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index dd8748c45529..3eb6dad99288 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -16,7 +16,7 @@
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/of_pci.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <asm/irqdomain.h>
#include <asm/hpet.h>
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 167b9ef12ebb..3b88d156ed39 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -14,7 +14,7 @@
#include <linux/hugetlb.h>
#include <linux/ima.h>
#include <linux/init_ohci1394_dma.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/iscsi_ibft.h>
#include <linux/memblock.h>
#include <linux/panic_notifier.h>
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index c7ca996fb430..b7c45004f999 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -1,5 +1,5 @@
#include <linux/gfp.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/ioport.h>
#include <linux/swap.h>
#include <linux/memblock.h>
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 8a34fff6ab2b..d075d4178d36 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -27,7 +27,7 @@
#include <linux/memblock.h>
#include <linux/proc_fs.h>
#include <linux/memory_hotplug.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/cpumask.h>
#include <linux/gfp.h>
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index b9426fce5f3e..34fcb5b8f386 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -19,7 +19,7 @@
#include <linux/swap.h>
#include <linux/smp.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/pagemap.h>
#include <linux/memblock.h>
#include <linux/proc_fs.h>
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 37ad99c10ac4..4ecb6bf897fd 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -19,7 +19,7 @@
#include <linux/acpi.h>
#include <linux/memblock.h>
#include <linux/earlycpio.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/security.h>
#include <linux/kmemleak.h>
#include "internal.h"
diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c
index 6942c62fa59d..f32de7459e76 100644
--- a/drivers/base/firmware_loader/main.c
+++ b/drivers/base/firmware_loader/main.c
@@ -15,7 +15,7 @@
#include <linux/kernel_read_file.h>
#include <linux/module.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/timer.h>
#include <linux/vmalloc.h>
#include <linux/interrupt.h>
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 05c4325904d2..a15b699d3a09 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -10,7 +10,7 @@
*/
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/major.h>
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index 7cab72da2ea9..1dcaaea1dcfb 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -21,7 +21,7 @@
#include <linux/device.h>
#include <linux/efi.h>
#include <linux/of.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/io.h>
#include <linux/kexec.h>
#include <linux/platform_device.h>
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 127b37f211cb..2e73de8a1bbe 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -11,7 +11,7 @@
#include <linux/crash_dump.h>
#include <linux/crc32.h>
#include <linux/kernel.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/memblock.h>
#include <linux/mutex.h>
#include <linux/of.h>
diff --git a/include/linux/initrd.h b/include/linux/initramfs.h
similarity index 89%
rename from include/linux/initrd.h
rename to include/linux/initramfs.h
index 51c473b6a973..e9f523917a02 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initramfs.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __LINUX_INITRD_H
-#define __LINUX_INITRD_H
+#ifndef __LINUX_INITRAMFS_H
+#define __LINUX_INITRAMFS_H
/* 1 if it is not an error if virt_external_initramfs_start < memory_start */
extern int initramfs_below_start_ok;
@@ -23,4 +23,4 @@ extern unsigned long phys_external_initramfs_size;
extern char __builtin_initramfs_start[];
extern unsigned long __builtin_initramfs_size;
-#endif /* __LINUX_INITRD_H */
+#endif /* __LINUX_INITRAMFS_H */
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 5b55d0035e03..2df33c573d9c 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -14,7 +14,7 @@
#include <linux/init.h>
#include <linux/init_syscalls.h>
#include <linux/fs.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/async.h>
#include <linux/fs_struct.h>
#include <linux/slab.h>
diff --git a/init/initramfs.c b/init/initramfs.c
index a6c11260e62b..8b648b09247a 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -597,7 +597,7 @@ static int __init initramfs_async_setup(char *str)
}
__setup("initramfs_async=", initramfs_async_setup);
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/kexec.h>
unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
diff --git a/init/main.c b/init/main.c
index f119460bf8e1..5186233c64fd 100644
--- a/init/main.c
+++ b/init/main.c
@@ -26,7 +26,7 @@
#include <linux/delay.h>
#include <linux/ioport.h>
#include <linux/init.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/memblock.h>
#include <linux/acpi.h>
#include <linux/bootconfig.h>
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index cb6196e3fa99..3bf92703332b 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -12,7 +12,7 @@
#include <linux/kobject.h>
#include <linux/highuid.h>
#include <linux/writeback.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/times.h>
#include <linux/limits.h>
#include <linux/syscalls.h>
diff --git a/kernel/umh.c b/kernel/umh.c
index b4da45a3a7cf..c58b3e8e9256 100644
--- a/kernel/umh.c
+++ b/kernel/umh.c
@@ -26,7 +26,7 @@
#include <linux/ptrace.h>
#include <linux/async.h>
#include <linux/uaccess.h>
-#include <linux/initrd.h>
+#include <linux/initramfs.h>
#include <linux/freezer.h>
#include <trace/events/module.h>
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 41/62] init: rename reserve_initrd_mem to reserve_initramfs_mem
From: Askar Safin @ 2025-09-14 3:52 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arm/mm/init.c | 2 +-
arch/loongarch/kernel/setup.c | 2 +-
arch/riscv/mm/init.c | 2 +-
include/linux/initrd.h | 4 ++--
init/initramfs.c | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 290e9f9874c9..a564cbc36d18 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -186,7 +186,7 @@ void __init arm_memblock_init(const struct machine_desc *mdesc)
/* Register the kernel text, kernel data and initrd with memblock. */
memblock_reserve(__pa(KERNEL_START), KERNEL_END - KERNEL_START);
- reserve_initrd_mem();
+ reserve_initramfs_mem();
arm_mm_memblock_reserve();
diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c
index 075b79b2c1d3..226262f35dc1 100644
--- a/arch/loongarch/kernel/setup.c
+++ b/arch/loongarch/kernel/setup.c
@@ -602,7 +602,7 @@ void __init setup_arch(char **cmdline_p)
pagetable_init();
bootcmdline_init(cmdline_p);
parse_early_param();
- reserve_initrd_mem();
+ reserve_initramfs_mem();
platform_init();
arch_mem_init(cmdline_p);
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 15683ae13fa5..b1c4876dadae 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -295,7 +295,7 @@ static void __init setup_bootmem(void)
dma32_phys_limit = min(4UL * SZ_1G, (unsigned long)PFN_PHYS(max_low_pfn));
- reserve_initrd_mem();
+ reserve_initramfs_mem();
/*
* No allocation should be done before reserving the memory as defined
diff --git a/include/linux/initrd.h b/include/linux/initrd.h
index b2a0128c3438..51c473b6a973 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initrd.h
@@ -10,10 +10,10 @@ extern unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
extern void free_initramfs_mem(unsigned long, unsigned long);
#ifdef CONFIG_BLK_DEV_INITRD
-extern void __init reserve_initrd_mem(void);
+extern void __init reserve_initramfs_mem(void);
extern void wait_for_initramfs(void);
#else
-static inline void __init reserve_initrd_mem(void) {}
+static inline void __init reserve_initramfs_mem(void) {}
static inline void wait_for_initramfs(void) {}
#endif
diff --git a/init/initramfs.c b/init/initramfs.c
index 7a050e54ff1a..a6c11260e62b 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -631,7 +631,7 @@ early_param("initrd", early_initrd);
static BIN_ATTR(initrd, 0440, sysfs_bin_attr_simple_read, NULL, 0);
-void __init reserve_initrd_mem(void)
+void __init reserve_initramfs_mem(void)
{
phys_addr_t start;
unsigned long size;
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 40/62] init: rename free_initrd_mem to free_initramfs_mem
From: Askar Safin @ 2025-09-14 3:51 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arm/mm/init.c | 2 +-
arch/x86/mm/init.c | 2 +-
include/linux/initrd.h | 2 +-
init/initramfs.c | 10 +++++-----
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 4faeec51c522..290e9f9874c9 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -437,7 +437,7 @@ void free_initmem(void)
}
#ifdef CONFIG_BLK_DEV_INITRD
-void free_initrd_mem(unsigned long start, unsigned long end)
+void free_initramfs_mem(unsigned long start, unsigned long end)
{
if (start == virt_external_initramfs_start)
start = round_down(start, PAGE_SIZE);
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index bb57e93b4caf..c7ca996fb430 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -981,7 +981,7 @@ void __ref free_initmem(void)
}
#ifdef CONFIG_BLK_DEV_INITRD
-void __init free_initrd_mem(unsigned long start, unsigned long end)
+void __init free_initramfs_mem(unsigned long start, unsigned long end)
{
/*
* end could be not aligned, and We can not align that,
diff --git a/include/linux/initrd.h b/include/linux/initrd.h
index 55239701c4e0..b2a0128c3438 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initrd.h
@@ -7,7 +7,7 @@
extern int initramfs_below_start_ok;
extern unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
-extern void free_initrd_mem(unsigned long, unsigned long);
+extern void free_initramfs_mem(unsigned long, unsigned long);
#ifdef CONFIG_BLK_DEV_INITRD
extern void __init reserve_initrd_mem(void);
diff --git a/init/initramfs.c b/init/initramfs.c
index 8ed352721a79..7a050e54ff1a 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -642,7 +642,7 @@ void __init reserve_initrd_mem(void)
if (!phys_external_initramfs_size)
return;
/*
- * Round the memory region to page boundaries as per free_initrd_mem()
+ * Round the memory region to page boundaries as per free_initramfs_mem()
* This allows us to detect whether the pages overlapping the initrd
* are in use, but more importantly, reserves the entire set of pages
* as we don't want these pages allocated for other purposes.
@@ -676,7 +676,7 @@ void __init reserve_initrd_mem(void)
virt_external_initramfs_end = 0;
}
-void __weak __init free_initrd_mem(unsigned long start, unsigned long end)
+void __weak __init free_initramfs_mem(unsigned long start, unsigned long end)
{
#ifdef CONFIG_ARCH_KEEP_MEMBLOCK
unsigned long aligned_start = ALIGN_DOWN(start, PAGE_SIZE);
@@ -707,9 +707,9 @@ static bool __init kexec_free_initrd(void)
*/
memset((void *)virt_external_initramfs_start, 0, virt_external_initramfs_end - virt_external_initramfs_start);
if (virt_external_initramfs_start < crashk_start)
- free_initrd_mem(virt_external_initramfs_start, crashk_start);
+ free_initramfs_mem(virt_external_initramfs_start, crashk_start);
if (virt_external_initramfs_end > crashk_end)
- free_initrd_mem(crashk_end, virt_external_initramfs_end);
+ free_initramfs_mem(crashk_end, virt_external_initramfs_end);
return true;
}
#else
@@ -744,7 +744,7 @@ static void __init do_populate_rootfs(void *unused, async_cookie_t cookie)
* free only memory that is not part of crashkernel region.
*/
if (!do_retain_initrd && virt_external_initramfs_start && !kexec_free_initrd()) {
- free_initrd_mem(virt_external_initramfs_start, virt_external_initramfs_end);
+ free_initramfs_mem(virt_external_initramfs_start, virt_external_initramfs_end);
} else if (do_retain_initrd && virt_external_initramfs_start) {
bin_attr_initrd.size = virt_external_initramfs_end - virt_external_initramfs_start;
bin_attr_initrd.private = (void *)virt_external_initramfs_start;
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 39/62] init: make console_on_rootfs static
From: Askar Safin @ 2025-09-14 3:51 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
include/linux/initrd.h | 2 --
init/main.c | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/include/linux/initrd.h b/include/linux/initrd.h
index 364b603215ac..55239701c4e0 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initrd.h
@@ -23,6 +23,4 @@ extern unsigned long phys_external_initramfs_size;
extern char __builtin_initramfs_start[];
extern unsigned long __builtin_initramfs_size;
-void console_on_rootfs(void);
-
#endif /* __LINUX_INITRD_H */
diff --git a/init/main.c b/init/main.c
index 58a7199c81f7..f119460bf8e1 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1533,7 +1533,7 @@ static int __ref kernel_init(void *unused)
}
/* Open /dev/console, for stdin/stdout/stderr, this should never fail */
-void __init console_on_rootfs(void)
+static void __init console_on_rootfs(void)
{
struct file *file = filp_open("/dev/console", O_RDWR, 0);
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 38/62] init: remove most headers from init/do_mounts.h
From: Askar Safin @ 2025-09-14 3:50 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts.c | 2 ++
init/do_mounts.h | 10 ----------
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 7ec5ee5a5c19..5b55d0035e03 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -5,12 +5,14 @@
#include <linux/fd.h>
#include <linux/tty.h>
#include <linux/suspend.h>
+#include <linux/blkdev.h>
#include <linux/root_dev.h>
#include <linux/security.h>
#include <linux/delay.h>
#include <linux/mount.h>
#include <linux/device.h>
#include <linux/init.h>
+#include <linux/init_syscalls.h>
#include <linux/fs.h>
#include <linux/initrd.h>
#include <linux/async.h>
diff --git a/init/do_mounts.h b/init/do_mounts.h
index e225d594dd06..53e60add795a 100644
--- a/init/do_mounts.h
+++ b/init/do_mounts.h
@@ -1,14 +1,4 @@
/* SPDX-License-Identifier: GPL-2.0 */
-#include <linux/kernel.h>
-#include <linux/blkdev.h>
-#include <linux/init.h>
-#include <linux/syscalls.h>
-#include <linux/unistd.h>
-#include <linux/slab.h>
-#include <linux/mount.h>
-#include <linux/major.h>
-#include <linux/root_dev.h>
-#include <linux/init_syscalls.h>
#include <linux/task_work.h>
#include <linux/file.h>
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 37/62] init: remove root_mountflags from init/do_mounts.h
From: Askar Safin @ 2025-09-14 3:43 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
It is already declared in include/linux/kernel.h
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/init/do_mounts.h b/init/do_mounts.h
index 90422fb07c02..e225d594dd06 100644
--- a/init/do_mounts.h
+++ b/init/do_mounts.h
@@ -12,8 +12,6 @@
#include <linux/task_work.h>
#include <linux/file.h>
-extern int root_mountflags;
-
/* Ensure that async file closing finished to prevent spurious errors. */
static inline void init_flush_fput(void)
{
--
2.47.2
^ permalink raw reply related
* Re: [PATCH RESEND 00/62] initrd: remove classic initrd support
From: Julian Stecklina @ 2025-09-13 8:58 UTC (permalink / raw)
To: safinaskar@gmail.com, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: tytso@mit.edu, linux-csky@vger.kernel.org,
linux-arch@vger.kernel.org, rob@landley.net,
linux-snps-arc@lists.infradead.org, mzxreary@0pointer.de,
viro@zeniv.linux.org.uk, jack@suse.cz, linux-mips@vger.kernel.org,
axboe@kernel.dk, linux-riscv@lists.infradead.org, hch@lst.de,
thomas.weissschuh@linutronix.de, linux-block@vger.kernel.org,
linux-ext4@vger.kernel.org, linux-openrisc@vger.kernel.org,
linux-acpi@vger.kernel.org, linux-s390@vger.kernel.org,
x86@kernel.org, kees@kernel.org, linux-parisc@vger.kernel.org,
linux-api@vger.kernel.org, hsiangkao@linux.alibaba.com,
mcgrof@kernel.org, linux-efi@vger.kernel.org, cyphar@cyphar.com,
linuxppc-dev@lists.ozlabs.org, hca@linux.ibm.com,
linux-m68k@lists.linux-m68k.org, monstr@monstr.eu,
andy.shevchenko@gmail.com, graf@amazon.com, brauner@kernel.org,
gregkh@linuxfoundation.org, email2tema@gmail.com,
linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
ecurtin@redhat.com, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-hexagon@vger.kernel.org, linux-alpha@vger.kernel.org,
linux-um@lists.infradead.org, mingo@redhat.com,
loongarch@lists.linux.dev, initramfs@vger.kernel.org,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
linux-doc@vger.kernel.org, patches@lists.linux.dev,
thorsten.blum@linux.dev
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
On Sat, 2025-09-13 at 00:37 +0000, Askar Safin wrote:
> Intro
> ====
> This patchset removes classic initrd (initial RAM disk) support,
> which was deprecated in 2020.
> Initramfs still stays, and RAM disk itself (brd) still stays, too.
> init/do_mounts* and init/*initramfs* are listed in VFS entry in
> MAINTAINERS, so I think this patchset should go through VFS tree.
> This patchset touchs every subdirectory in arch/, so I tested it
> on 8 (!!!) archs in Qemu (see details below).
> Warning: this patchset renames CONFIG_BLK_DEV_INITRD (!!!) to CONFIG_INITRAMFS
> and CONFIG_RD_* to CONFIG_INITRAMFS_DECOMPRESS_* (for example,
> CONFIG_RD_GZIP to CONFIG_INITRAMFS_DECOMPRESS_GZIP).
> If you still use initrd, see below for workaround.
>
As the person who kicked this off by trying to get erofs support for initrds:
You have all my support for nuking so much legacy code! I'm all for removing
historical baggage even if it comes with slight inconveniences for fringe
usecase users (me!).
If this series goes through, I'll drink a beer to you!
Acked-by: Julian Stecklina <julian.stecklina@cyberus-technology.de>
>
> Also I renamed CONFIG_BLK_DEV_INITRD (which became total misnomer)
> to CONFIG_INITRAMFS. And CONFIG_RD_* to CONFIG_INITRAMFS_DECOMPRESS_*.
> This will break all configs out there (update your configs!).
This is beautiful. The original names were pretty misleading!
> Workaround
> ====
> If "retain_initrd" is passed to kernel, then initramfs/initrd,
> passed by bootloader, is retained and becomes available after boot
> as read-only magic file /sys/firmware/initrd [3].
This is pretty neat, because now you can use _all filesystems_ as initrds. :-D
This solves my original problem, albeit with a tiny shim initramfs. Nice!
Julian
^ permalink raw reply
* Re: [PATCH RESEND 28/62] init: alpha, arc, arm, arm64, csky, m68k, microblaze, mips, nios2, openrisc, parisc, powerpc, s390, sh, sparc, um, x86, xtensa: rename initrd_{start,end} to virt_external_initramfs_{start,end}
From: Borislav Petkov @ 2025-09-13 5:59 UTC (permalink / raw)
To: Askar Safin
Cc: linux-fsdevel, linux-kernel, Linus Torvalds, Greg Kroah-Hartman,
Christian Brauner, Al Viro, Jan Kara, Christoph Hellwig,
Jens Axboe, Andy Shevchenko, Aleksa Sarai, Thomas Weißschuh,
Julian Stecklina, Gao Xiang, Art Nikpal, Andrew Morton,
Alexander Graf, Rob Landley, Lennart Poettering, linux-arch,
linux-alpha, linux-snps-arc, linux-arm-kernel, linux-csky,
linux-hexagon, loongarch, linux-m68k, linux-mips, linux-openrisc,
linux-parisc, linuxppc-dev, linux-riscv, linux-s390, linux-sh,
sparclinux, linux-um, x86, Ingo Molnar, linux-block, initramfs,
linux-api, linux-doc, linux-efi, linux-ext4,
Theodore Y . Ts'o, linux-acpi, Michal Simek, devicetree,
Luis Chamberlain, Kees Cook, Thorsten Blum, Heiko Carstens,
patches
In-Reply-To: <20250913054837.GAaMUFtd4YlaPqL2Ov@fat_crate.local>
On Sat, Sep 13, 2025 at 07:48:37AM +0200, Borislav Petkov wrote:
> On Sat, Sep 13, 2025 at 12:38:07AM +0000, Askar Safin wrote:
> > Rename initrd_start to virt_external_initramfs_start and
> > initrd_end to virt_external_initramfs_end.
>
> "virt" as in "virtualization"?
Ooh, now I see it - you have virtual and physical initramfs address things. We
usually call those "va" and "pa". So
initramfs_{va,pa}_{start,end}
perhaps...
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply
* Re: [PATCH RESEND 28/62] init: alpha, arc, arm, arm64, csky, m68k, microblaze, mips, nios2, openrisc, parisc, powerpc, s390, sh, sparc, um, x86, xtensa: rename initrd_{start,end} to virt_external_initramfs_{start,end}
From: Borislav Petkov @ 2025-09-13 5:48 UTC (permalink / raw)
To: Askar Safin
Cc: linux-fsdevel, linux-kernel, Linus Torvalds, Greg Kroah-Hartman,
Christian Brauner, Al Viro, Jan Kara, Christoph Hellwig,
Jens Axboe, Andy Shevchenko, Aleksa Sarai, Thomas Weißschuh,
Julian Stecklina, Gao Xiang, Art Nikpal, Andrew Morton,
Eric Curtin, Alexander Graf, Rob Landley, Lennart Poettering,
linux-arch, linux-alpha, linux-snps-arc, linux-arm-kernel,
linux-csky, linux-hexagon, loongarch, linux-m68k, linux-mips,
linux-openrisc, linux-parisc, linuxppc-dev, linux-riscv,
linux-s390, linux-sh, sparclinux, linux-um, x86, Ingo Molnar,
linux-block, initramfs, linux-api, linux-doc, linux-efi,
linux-ext4, Theodore Y . Ts'o, linux-acpi, Michal Simek,
devicetree, Luis Chamberlain, Kees Cook, Thorsten Blum,
Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-29-safinaskar@gmail.com>
On Sat, Sep 13, 2025 at 12:38:07AM +0000, Askar Safin wrote:
> Rename initrd_start to virt_external_initramfs_start and
> initrd_end to virt_external_initramfs_end.
"virt" as in "virtualization"?
That's not confusing at all... :-\
And "external" means what?
> They refer to initramfs, not to initrd
Why not simply initramfs_{start,end} if they belong to it?
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply
* [PATCH RESEND 36/62] init: make mount_root static
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts.c | 2 +-
init/do_mounts.h | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/init/do_mounts.c b/init/do_mounts.c
index c722351c991f..7ec5ee5a5c19 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -381,7 +381,7 @@ static inline void mount_block_root(char *root_device_name)
}
#endif /* CONFIG_BLOCK */
-void __init mount_root(char *root_device_name)
+static void __init mount_root(char *root_device_name)
{
switch (ROOT_DEV) {
case Root_NFS:
diff --git a/init/do_mounts.h b/init/do_mounts.h
index f291c30f7407..90422fb07c02 100644
--- a/init/do_mounts.h
+++ b/init/do_mounts.h
@@ -12,7 +12,6 @@
#include <linux/task_work.h>
#include <linux/file.h>
-void mount_root(char *root_device_name);
extern int root_mountflags;
/* Ensure that async file closing finished to prevent spurious errors. */
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 35/62] init: make mount_root_generic static
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts.c | 2 +-
init/do_mounts.h | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 60ba8a633d32..c722351c991f 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -174,7 +174,7 @@ static int __init do_mount_root(const char *name, const char *fs,
return ret;
}
-void __init mount_root_generic(char *name, char *pretty_name, int flags)
+static void __init mount_root_generic(char *name, char *pretty_name, int flags)
{
struct page *page = alloc_page(GFP_KERNEL);
char *fs_names = page_address(page);
diff --git a/init/do_mounts.h b/init/do_mounts.h
index f3df9d697304..f291c30f7407 100644
--- a/init/do_mounts.h
+++ b/init/do_mounts.h
@@ -12,7 +12,6 @@
#include <linux/task_work.h>
#include <linux/file.h>
-void mount_root_generic(char *name, char *pretty_name, int flags);
void mount_root(char *root_device_name);
extern int root_mountflags;
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 34/62] init: inline create_dev into the only caller
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts.c | 5 ++++-
init/do_mounts.h | 6 ------
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 5c407ca54063..60ba8a633d32 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -366,7 +366,10 @@ static int __init mount_nodev_root(char *root_device_name)
#ifdef CONFIG_BLOCK
static void __init mount_block_root(char *root_device_name)
{
- int err = create_dev("/dev/root", ROOT_DEV);
+ int err;
+
+ init_unlink("/dev/root");
+ err = init_mknod("/dev/root", S_IFBLK | 0600, new_encode_dev(ROOT_DEV));
if (err < 0)
pr_emerg("Failed to create /dev/root: %d\n", err);
diff --git a/init/do_mounts.h b/init/do_mounts.h
index 6c7a535e71ce..f3df9d697304 100644
--- a/init/do_mounts.h
+++ b/init/do_mounts.h
@@ -16,12 +16,6 @@ void mount_root_generic(char *name, char *pretty_name, int flags);
void mount_root(char *root_device_name);
extern int root_mountflags;
-static inline __init int create_dev(char *name, dev_t dev)
-{
- init_unlink(name);
- return init_mknod(name, S_IFBLK | 0600, new_encode_dev(dev));
-}
-
/* Ensure that async file closing finished to prevent spurious errors. */
static inline void init_flush_fput(void)
{
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 33/62] init: remove init/do_mounts_initrd.c
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/Makefile | 1 -
init/do_mounts_initrd.c | 36 ------------------------------------
init/initramfs.c | 23 +++++++++++++++++++++++
3 files changed, 23 insertions(+), 37 deletions(-)
delete mode 100644 init/do_mounts_initrd.c
diff --git a/init/Makefile b/init/Makefile
index b020154b3d2a..09657c0274eb 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -17,7 +17,6 @@ obj-$(CONFIG_INITRAMFS_TEST) += initramfs_test.o
obj-y += init_task.o
mounts-y := do_mounts.o
-mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o
#
# UTS_VERSION
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
deleted file mode 100644
index 509f912c0fce..000000000000
--- a/init/do_mounts_initrd.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/unistd.h>
-#include <linux/kernel.h>
-#include <linux/fs.h>
-#include <linux/minix_fs.h>
-#include <linux/romfs_fs.h>
-#include <linux/initrd.h>
-#include <linux/sched.h>
-#include <linux/freezer.h>
-#include <linux/kmod.h>
-#include <uapi/linux/mount.h>
-
-#include "do_mounts.h"
-
-static int __init early_initrdmem(char *p)
-{
- phys_addr_t start;
- unsigned long size;
- char *endp;
-
- start = memparse(p, &endp);
- if (*endp == ',') {
- size = memparse(endp + 1, NULL);
-
- phys_external_initramfs_start = start;
- phys_external_initramfs_size = size;
- }
- return 0;
-}
-early_param("initrdmem", early_initrdmem);
-
-static int __init early_initrd(char *p)
-{
- return early_initrdmem(p);
-}
-early_param("initrd", early_initrd);
diff --git a/init/initramfs.c b/init/initramfs.c
index 90096177a867..8ed352721a79 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -606,6 +606,29 @@ int initramfs_below_start_ok;
phys_addr_t phys_external_initramfs_start __initdata;
unsigned long phys_external_initramfs_size __initdata;
+static int __init early_initrdmem(char *p)
+{
+ phys_addr_t start;
+ unsigned long size;
+ char *endp;
+
+ start = memparse(p, &endp);
+ if (*endp == ',') {
+ size = memparse(endp + 1, NULL);
+
+ phys_external_initramfs_start = start;
+ phys_external_initramfs_size = size;
+ }
+ return 0;
+}
+early_param("initrdmem", early_initrdmem);
+
+static int __init early_initrd(char *p)
+{
+ return early_initrdmem(p);
+}
+early_param("initrd", early_initrd);
+
static BIN_ATTR(initrd, 0440, sysfs_bin_attr_simple_read, NULL, 0);
void __init reserve_initrd_mem(void)
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 32/62] init: move initramfs_below_start_ok to init/initramfs.c
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
This is cleanup after initrd removal
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts_initrd.c | 2 --
init/initramfs.c | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index d8b809ced11b..509f912c0fce 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -12,8 +12,6 @@
#include "do_mounts.h"
-int initramfs_below_start_ok;
-
static int __init early_initrdmem(char *p)
{
phys_addr_t start;
diff --git a/init/initramfs.c b/init/initramfs.c
index a9c5d211665d..90096177a867 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -601,6 +601,7 @@ __setup("initramfs_async=", initramfs_async_setup);
#include <linux/kexec.h>
unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
+int initramfs_below_start_ok;
phys_addr_t phys_external_initramfs_start __initdata;
unsigned long phys_external_initramfs_size __initdata;
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 31/62] init: rename initrd_below_start_ok to initramfs_below_start_ok
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
It refers to initramfs, not to initrd
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/csky/kernel/setup.c | 2 +-
arch/mips/kernel/setup.c | 2 +-
arch/openrisc/kernel/setup.c | 2 +-
arch/parisc/mm/init.c | 2 +-
arch/xtensa/kernel/setup.c | 4 ++--
drivers/of/fdt.c | 2 +-
include/linux/initrd.h | 2 +-
init/do_mounts_initrd.c | 2 +-
init/initramfs.c | 2 +-
init/main.c | 2 +-
10 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/arch/csky/kernel/setup.c b/arch/csky/kernel/setup.c
index ce128888462e..403a977b8c1f 100644
--- a/arch/csky/kernel/setup.c
+++ b/arch/csky/kernel/setup.c
@@ -40,7 +40,7 @@ static void __init setup_initrd(void)
pr_info("Initial ramdisk at: 0x%p (%lu bytes)\n",
(void *)(virt_external_initramfs_start), size);
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
return;
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index da11ae875539..aed454ebd751 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -225,7 +225,7 @@ static void __init finalize_initrd(void)
maybe_bswap_initrd();
memblock_reserve(__pa(virt_external_initramfs_start), size);
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
pr_info("Initial ramdisk at: 0x%lx (%lu bytes)\n",
virt_external_initramfs_start, size);
diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c
index f387dc57ec35..337a0381c452 100644
--- a/arch/openrisc/kernel/setup.c
+++ b/arch/openrisc/kernel/setup.c
@@ -246,7 +246,7 @@ void __init setup_arch(char **cmdline_p)
} else {
printk(KERN_INFO "Initial ramdisk at: 0x%p (%lu bytes)\n",
(void *)(virt_external_initramfs_start), virt_external_initramfs_end - virt_external_initramfs_start);
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
}
#endif
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 74bfe9797589..af7a33c8bd31 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -308,7 +308,7 @@ static void __init setup_bootmem(void)
} else {
initrd_reserve = virt_external_initramfs_end - virt_external_initramfs_start;
}
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
printk(KERN_INFO "initrd: reserving %08lx-%08lx (mem_max %08lx)\n", __pa(virt_external_initramfs_start), __pa(virt_external_initramfs_start) + initrd_reserve, mem_max);
memblock_reserve(__pa(virt_external_initramfs_start), initrd_reserve);
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index 2e9003be3e8c..b86367178bce 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -51,7 +51,7 @@
#ifdef CONFIG_BLK_DEV_INITRD
extern unsigned long virt_external_initramfs_start;
extern unsigned long virt_external_initramfs_end;
-extern int initrd_below_start_ok;
+extern int initramfs_below_start_ok;
#endif
#ifdef CONFIG_USE_OF
@@ -292,7 +292,7 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_BLK_DEV_INITRD
if (virt_external_initramfs_start < virt_external_initramfs_end &&
!mem_reserve(__pa(virt_external_initramfs_start), __pa(virt_external_initramfs_end)))
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
else
virt_external_initramfs_start = 0;
#endif
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index baf8347e0314..127b37f211cb 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -767,7 +767,7 @@ static void __early_init_dt_declare_initrd(unsigned long start,
!(IS_ENABLED(CONFIG_RISCV) && IS_ENABLED(CONFIG_64BIT))) {
virt_external_initramfs_start = (unsigned long)__va(start);
virt_external_initramfs_end = (unsigned long)__va(end);
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
}
}
diff --git a/include/linux/initrd.h b/include/linux/initrd.h
index f19efebe8221..364b603215ac 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initrd.h
@@ -4,7 +4,7 @@
#define __LINUX_INITRD_H
/* 1 if it is not an error if virt_external_initramfs_start < memory_start */
-extern int initrd_below_start_ok;
+extern int initramfs_below_start_ok;
extern unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
extern void free_initrd_mem(unsigned long, unsigned long);
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 535ce459ab94..d8b809ced11b 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -12,7 +12,7 @@
#include "do_mounts.h"
-int initrd_below_start_ok;
+int initramfs_below_start_ok;
static int __init early_initrdmem(char *p)
{
diff --git a/init/initramfs.c b/init/initramfs.c
index d2301cc6c470..a9c5d211665d 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -643,7 +643,7 @@ void __init reserve_initrd_mem(void)
/* Now convert initrd to virtual addresses */
virt_external_initramfs_start = (unsigned long)__va(phys_external_initramfs_start);
virt_external_initramfs_end = virt_external_initramfs_start + phys_external_initramfs_size;
- initrd_below_start_ok = 1;
+ initramfs_below_start_ok = 1;
return;
disable:
diff --git a/init/main.c b/init/main.c
index 5f4d860ab72a..58a7199c81f7 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1047,7 +1047,7 @@ void start_kernel(void)
locking_selftest();
#ifdef CONFIG_BLK_DEV_INITRD
- if (virt_external_initramfs_start && !initrd_below_start_ok &&
+ if (virt_external_initramfs_start && !initramfs_below_start_ok &&
page_to_pfn(virt_to_page((void *)virt_external_initramfs_start)) < min_low_pfn) {
pr_crit("initrd overwritten (0x%08lx < 0x%08lx) - disabling it.\n",
page_to_pfn(virt_to_page((void *)virt_external_initramfs_start)),
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 30/62] doc: remove documentation for block device 4 0
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
It doesn't work. I tested this both in system booted
using initramfs and in system booted from real root
device directly
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
Documentation/admin-guide/devices.txt | 6 ------
1 file changed, 6 deletions(-)
diff --git a/Documentation/admin-guide/devices.txt b/Documentation/admin-guide/devices.txt
index 27835389ca49..6ce0940233a8 100644
--- a/Documentation/admin-guide/devices.txt
+++ b/Documentation/admin-guide/devices.txt
@@ -138,12 +138,6 @@
number for BSD PTY devices. As of Linux 2.1.115, this
is no longer supported. Use major numbers 2 and 3.
- 4 block Aliases for dynamically allocated major devices to be used
- when its not possible to create the real device nodes
- because the root filesystem is mounted read-only.
-
- 0 = /dev/root
-
5 char Alternate TTY devices
0 = /dev/tty Current TTY device
1 = /dev/console System console
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 29/62] init: move virt_external_initramfs_{start,end} to init/initramfs.c
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Move definitions of virt_external_initramfs_start and
virt_external_initramfs_end to init/initramfs.c
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts_initrd.c | 1 -
init/initramfs.c | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 8bdeb205a0cd..535ce459ab94 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -12,7 +12,6 @@
#include "do_mounts.h"
-unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
int initrd_below_start_ok;
static int __init early_initrdmem(char *p)
diff --git a/init/initramfs.c b/init/initramfs.c
index 9a221c713c60..d2301cc6c470 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -600,6 +600,8 @@ __setup("initramfs_async=", initramfs_async_setup);
#include <linux/initrd.h>
#include <linux/kexec.h>
+unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
+
phys_addr_t phys_external_initramfs_start __initdata;
unsigned long phys_external_initramfs_size __initdata;
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 28/62] init: alpha, arc, arm, arm64, csky, m68k, microblaze, mips, nios2, openrisc, parisc, powerpc, s390, sh, sparc, um, x86, xtensa: rename initrd_{start,end} to virt_external_initramfs_{start,end}
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Rename initrd_start to virt_external_initramfs_start and
initrd_end to virt_external_initramfs_end.
They refer to initramfs, not to initrd
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/alpha/kernel/core_irongate.c | 6 ++--
arch/alpha/kernel/setup.c | 24 +++++++-------
arch/arc/mm/init.c | 4 +--
arch/arm/mm/init.c | 4 +--
arch/arm64/mm/init.c | 4 +--
arch/csky/kernel/setup.c | 16 ++++-----
arch/m68k/kernel/setup_mm.c | 6 ++--
arch/m68k/kernel/setup_no.c | 6 ++--
arch/m68k/kernel/uboot.c | 6 ++--
arch/microblaze/mm/init.c | 6 ++--
arch/mips/ath79/prom.c | 8 ++---
arch/mips/kernel/setup.c | 44 ++++++++++++-------------
arch/mips/sibyte/common/cfe.c | 22 ++++++-------
arch/nios2/kernel/setup.c | 10 +++---
arch/openrisc/kernel/setup.c | 14 ++++----
arch/parisc/kernel/pdt.c | 2 +-
arch/parisc/kernel/setup.c | 4 +--
arch/parisc/mm/init.c | 24 +++++++-------
arch/powerpc/kernel/prom.c | 14 ++++----
arch/powerpc/kernel/setup-common.c | 14 ++++----
arch/powerpc/platforms/powermac/setup.c | 2 +-
arch/s390/kernel/setup.c | 4 +--
arch/sh/kernel/setup.c | 8 ++---
arch/sparc/mm/init_32.c | 18 +++++-----
arch/sparc/mm/init_64.c | 14 ++++----
arch/um/kernel/initrd.c | 4 +--
arch/x86/kernel/cpu/microcode/core.c | 8 ++---
arch/x86/kernel/setup.c | 12 +++----
arch/xtensa/kernel/setup.c | 14 ++++----
drivers/acpi/tables.c | 4 +--
drivers/of/fdt.c | 4 +--
include/linux/initrd.h | 4 +--
init/do_mounts_initrd.c | 2 +-
init/initramfs.c | 40 +++++++++++-----------
init/main.c | 18 +++++-----
35 files changed, 197 insertions(+), 197 deletions(-)
diff --git a/arch/alpha/kernel/core_irongate.c b/arch/alpha/kernel/core_irongate.c
index 3411564144ae..5519bb8fc6f2 100644
--- a/arch/alpha/kernel/core_irongate.c
+++ b/arch/alpha/kernel/core_irongate.c
@@ -226,11 +226,11 @@ albacore_init_arch(void)
if (memtop > pci_mem) {
#ifdef CONFIG_BLK_DEV_INITRD
/* Move the initrd out of the way. */
- if (initrd_end && __pa(initrd_end) > pci_mem) {
+ if (virt_external_initramfs_end && __pa(virt_external_initramfs_end) > pci_mem) {
unsigned long size;
- size = initrd_end - initrd_start;
- memblock_free((void *)initrd_start, PAGE_ALIGN(size));
+ size = virt_external_initramfs_end - virt_external_initramfs_start;
+ memblock_free((void *)virt_external_initramfs_start, PAGE_ALIGN(size));
if (!move_initrd(pci_mem))
printk("irongate_init_arch: initrd too big "
"(%ldK)\ndisabling initrd\n",
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
index bebdffafaee8..a344e71b2d2a 100644
--- a/arch/alpha/kernel/setup.c
+++ b/arch/alpha/kernel/setup.c
@@ -268,15 +268,15 @@ move_initrd(unsigned long mem_limit)
void *start;
unsigned long size;
- size = initrd_end - initrd_start;
+ size = virt_external_initramfs_end - virt_external_initramfs_start;
start = memblock_alloc(PAGE_ALIGN(size), PAGE_SIZE);
if (!start || __pa(start) + size > mem_limit) {
- initrd_start = initrd_end = 0;
+ virt_external_initramfs_start = virt_external_initramfs_end = 0;
return NULL;
}
- memmove(start, (void *)initrd_start, size);
- initrd_start = (unsigned long)start;
- initrd_end = initrd_start + size;
+ memmove(start, (void *)virt_external_initramfs_start, size);
+ virt_external_initramfs_start = (unsigned long)start;
+ virt_external_initramfs_end = virt_external_initramfs_start + size;
printk("initrd moved to %p\n", start);
return start;
}
@@ -347,20 +347,20 @@ setup_memory(void *kernel_end)
memblock_reserve(KERNEL_START_PHYS, kernel_size);
#ifdef CONFIG_BLK_DEV_INITRD
- initrd_start = INITRD_START;
- if (initrd_start) {
- initrd_end = initrd_start+INITRD_SIZE;
+ virt_external_initramfs_start = INITRD_START;
+ if (virt_external_initramfs_start) {
+ virt_external_initramfs_end = virt_external_initramfs_start+INITRD_SIZE;
printk("Initial ramdisk at: 0x%p (%lu bytes)\n",
- (void *) initrd_start, INITRD_SIZE);
+ (void *) virt_external_initramfs_start, INITRD_SIZE);
- if ((void *)initrd_end > phys_to_virt(PFN_PHYS(max_low_pfn))) {
+ if ((void *)virt_external_initramfs_end > phys_to_virt(PFN_PHYS(max_low_pfn))) {
if (!move_initrd(PFN_PHYS(max_low_pfn)))
printk("initrd extends beyond end of memory "
"(0x%08lx > 0x%p)\ndisabling initrd\n",
- initrd_end,
+ virt_external_initramfs_end,
phys_to_virt(PFN_PHYS(max_low_pfn)));
} else {
- memblock_reserve(virt_to_phys((void *)initrd_start),
+ memblock_reserve(virt_to_phys((void *)virt_external_initramfs_start),
INITRD_SIZE);
}
}
diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c
index eb8a616a63c6..1e098d7fc6af 100644
--- a/arch/arc/mm/init.c
+++ b/arch/arc/mm/init.c
@@ -112,8 +112,8 @@ void __init setup_arch_memory(void)
#ifdef CONFIG_BLK_DEV_INITRD
if (phys_external_initramfs_size) {
memblock_reserve(phys_external_initramfs_start, phys_external_initramfs_size);
- initrd_start = (unsigned long)__va(phys_external_initramfs_start);
- initrd_end = initrd_start + phys_external_initramfs_size;
+ virt_external_initramfs_start = (unsigned long)__va(phys_external_initramfs_start);
+ virt_external_initramfs_end = virt_external_initramfs_start + phys_external_initramfs_size;
}
#endif
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 93f8010b9115..4faeec51c522 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -439,9 +439,9 @@ void free_initmem(void)
#ifdef CONFIG_BLK_DEV_INITRD
void free_initrd_mem(unsigned long start, unsigned long end)
{
- if (start == initrd_start)
+ if (start == virt_external_initramfs_start)
start = round_down(start, PAGE_SIZE);
- if (end == initrd_end)
+ if (end == virt_external_initramfs_end)
end = round_up(end, PAGE_SIZE);
poison_init_mem((void *)start, PAGE_ALIGN(end) - start);
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index da517edcf824..3414e48c8c82 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -283,8 +283,8 @@ void __init arm64_memblock_init(void)
memblock_reserve(__pa_symbol(_stext), _end - _stext);
if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_external_initramfs_size) {
/* the generic initrd code expects virtual addresses */
- initrd_start = __phys_to_virt(phys_external_initramfs_start);
- initrd_end = initrd_start + phys_external_initramfs_size;
+ virt_external_initramfs_start = __phys_to_virt(phys_external_initramfs_start);
+ virt_external_initramfs_end = virt_external_initramfs_start + phys_external_initramfs_size;
}
early_init_fdt_scan_reserved_mem();
diff --git a/arch/csky/kernel/setup.c b/arch/csky/kernel/setup.c
index e0d6ca86ea8c..ce128888462e 100644
--- a/arch/csky/kernel/setup.c
+++ b/arch/csky/kernel/setup.c
@@ -17,35 +17,35 @@ static void __init setup_initrd(void)
{
unsigned long size;
- if (initrd_start >= initrd_end) {
+ if (virt_external_initramfs_start >= virt_external_initramfs_end) {
pr_err("initrd not found or empty");
goto disable;
}
- if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) {
+ if (__pa(virt_external_initramfs_end) > PFN_PHYS(max_low_pfn)) {
pr_err("initrd extends beyond end of memory");
goto disable;
}
- size = initrd_end - initrd_start;
+ size = virt_external_initramfs_end - virt_external_initramfs_start;
- if (memblock_is_region_reserved(__pa(initrd_start), size)) {
+ if (memblock_is_region_reserved(__pa(virt_external_initramfs_start), size)) {
pr_err("INITRD: 0x%08lx+0x%08lx overlaps in-use memory region",
- __pa(initrd_start), size);
+ __pa(virt_external_initramfs_start), size);
goto disable;
}
- memblock_reserve(__pa(initrd_start), size);
+ memblock_reserve(__pa(virt_external_initramfs_start), size);
pr_info("Initial ramdisk at: 0x%p (%lu bytes)\n",
- (void *)(initrd_start), size);
+ (void *)(virt_external_initramfs_start), size);
initrd_below_start_ok = 1;
return;
disable:
- initrd_start = initrd_end = 0;
+ virt_external_initramfs_start = virt_external_initramfs_end = 0;
pr_err(" - disabling initrd\n");
}
diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c
index c7e8de0d34bb..80f0544c1041 100644
--- a/arch/m68k/kernel/setup_mm.c
+++ b/arch/m68k/kernel/setup_mm.c
@@ -333,9 +333,9 @@ void __init setup_arch(char **cmdline_p)
paging_init();
if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && m68k_ramdisk.size) {
- initrd_start = (unsigned long)phys_to_virt(m68k_ramdisk.addr);
- initrd_end = initrd_start + m68k_ramdisk.size;
- pr_info("initrd: %08lx - %08lx\n", initrd_start, initrd_end);
+ virt_external_initramfs_start = (unsigned long)phys_to_virt(m68k_ramdisk.addr);
+ virt_external_initramfs_end = virt_external_initramfs_start + m68k_ramdisk.size;
+ pr_info("initrd: %08lx - %08lx\n", virt_external_initramfs_start, virt_external_initramfs_end);
}
#ifdef CONFIG_NATFEAT
diff --git a/arch/m68k/kernel/setup_no.c b/arch/m68k/kernel/setup_no.c
index f724875b15cc..4d98e0063725 100644
--- a/arch/m68k/kernel/setup_no.c
+++ b/arch/m68k/kernel/setup_no.c
@@ -155,9 +155,9 @@ void __init setup_arch(char **cmdline_p)
max_pfn = max_low_pfn = PFN_DOWN(memory_end);
#if defined(CONFIG_UBOOT) && defined(CONFIG_BLK_DEV_INITRD)
- if ((initrd_start > 0) && (initrd_start < initrd_end) &&
- (initrd_end < memory_end))
- memblock_reserve(initrd_start, initrd_end - initrd_start);
+ if ((virt_external_initramfs_start > 0) && (virt_external_initramfs_start < virt_external_initramfs_end) &&
+ (virt_external_initramfs_end < memory_end))
+ memblock_reserve(virt_external_initramfs_start, virt_external_initramfs_end - virt_external_initramfs_start);
#endif /* if defined(CONFIG_BLK_DEV_INITRD) */
/*
diff --git a/arch/m68k/kernel/uboot.c b/arch/m68k/kernel/uboot.c
index d278060a250c..5fc831a0794a 100644
--- a/arch/m68k/kernel/uboot.c
+++ b/arch/m68k/kernel/uboot.c
@@ -81,9 +81,9 @@ static void __init parse_uboot_commandline(char *commandp, int size)
if (uboot_initrd_start && uboot_initrd_end &&
(uboot_initrd_end > uboot_initrd_start)) {
- initrd_start = uboot_initrd_start;
- initrd_end = uboot_initrd_end;
- pr_info("initrd at 0x%lx:0x%lx\n", initrd_start, initrd_end);
+ virt_external_initramfs_start = uboot_initrd_start;
+ virt_external_initramfs_end = uboot_initrd_end;
+ pr_info("initrd at 0x%lx:0x%lx\n", virt_external_initramfs_start, virt_external_initramfs_end);
}
#endif /* if defined(CONFIG_BLK_DEV_INITRD) */
}
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
index 31d475cdb1c5..fabeca49c2c6 100644
--- a/arch/microblaze/mm/init.c
+++ b/arch/microblaze/mm/init.c
@@ -202,10 +202,10 @@ asmlinkage void __init mmu_init(void)
#if defined(CONFIG_BLK_DEV_INITRD)
/* Remove the init RAM disk from the available memory. */
- if (initrd_start) {
+ if (virt_external_initramfs_start) {
unsigned long size;
- size = initrd_end - initrd_start;
- memblock_reserve(__virt_to_phys(initrd_start), size);
+ size = virt_external_initramfs_end - virt_external_initramfs_start;
+ memblock_reserve(__virt_to_phys(virt_external_initramfs_start), size);
}
#endif /* CONFIG_BLK_DEV_INITRD */
diff --git a/arch/mips/ath79/prom.c b/arch/mips/ath79/prom.c
index cc6dc5600677..506dcada711b 100644
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
@@ -25,10 +25,10 @@ void __init prom_init(void)
#ifdef CONFIG_BLK_DEV_INITRD
/* Read the initrd address from the firmware environment */
- initrd_start = fw_getenvl("initrd_start");
- if (initrd_start) {
- initrd_start = KSEG0ADDR(initrd_start);
- initrd_end = initrd_start + fw_getenvl("initrd_size");
+ virt_external_initramfs_start = fw_getenvl("initrd_start");
+ if (virt_external_initramfs_start) {
+ virt_external_initramfs_start = KSEG0ADDR(virt_external_initramfs_start);
+ virt_external_initramfs_end = virt_external_initramfs_start + fw_getenvl("initrd_size");
}
#endif
}
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index a78e24873231..da11ae875539 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -126,15 +126,15 @@ static int __init rd_start_early(char *p)
if (start < XKPHYS)
start = (int)start;
#endif
- initrd_start = start;
- initrd_end += start;
+ virt_external_initramfs_start = start;
+ virt_external_initramfs_end += start;
return 0;
}
early_param("rd_start", rd_start_early);
static int __init rd_size_early(char *p)
{
- initrd_end += memparse(p, &p);
+ virt_external_initramfs_end += memparse(p, &p);
return 0;
}
early_param("rd_size", rd_size_early);
@@ -146,13 +146,13 @@ static unsigned long __init init_initrd(void)
/*
* Board specific code or command line parser should have
- * already set up initrd_start and initrd_end. In these cases
+ * already set up virt_external_initramfs_start and virt_external_initramfs_end. In these cases
* perform sanity checks and use them if all looks good.
*/
- if (!initrd_start || initrd_end <= initrd_start)
+ if (!virt_external_initramfs_start || virt_external_initramfs_end <= virt_external_initramfs_start)
goto disable;
- if (initrd_start & ~PAGE_MASK) {
+ if (virt_external_initramfs_start & ~PAGE_MASK) {
pr_err("initrd start must be page aligned\n");
goto disable;
}
@@ -164,19 +164,19 @@ static unsigned long __init init_initrd(void)
* 32-bit. We need also to switch from KSEG0 to XKPHYS
* addresses now, so the code can now safely use __pa().
*/
- end = __pa(initrd_end);
- initrd_end = (unsigned long)__va(end);
- initrd_start = (unsigned long)__va(__pa(initrd_start));
+ end = __pa(virt_external_initramfs_end);
+ virt_external_initramfs_end = (unsigned long)__va(end);
+ virt_external_initramfs_start = (unsigned long)__va(__pa(virt_external_initramfs_start));
- if (initrd_start < PAGE_OFFSET) {
+ if (virt_external_initramfs_start < PAGE_OFFSET) {
pr_err("initrd start < PAGE_OFFSET\n");
goto disable;
}
return PFN_UP(end);
disable:
- initrd_start = 0;
- initrd_end = 0;
+ virt_external_initramfs_start = 0;
+ virt_external_initramfs_end = 0;
return 0;
}
@@ -189,21 +189,21 @@ static void __init maybe_bswap_initrd(void)
u64 buf;
/* Check for CPIO signature */
- if (!memcmp((void *)initrd_start, "070701", 6))
+ if (!memcmp((void *)virt_external_initramfs_start, "070701", 6))
return;
/* Check for compressed initrd */
- if (decompress_method((unsigned char *)initrd_start, 8, NULL))
+ if (decompress_method((unsigned char *)virt_external_initramfs_start, 8, NULL))
return;
/* Try again with a byte swapped header */
- buf = swab64p((u64 *)initrd_start);
+ buf = swab64p((u64 *)virt_external_initramfs_start);
if (!memcmp(&buf, "070701", 6) ||
decompress_method((unsigned char *)(&buf), 8, NULL)) {
unsigned long i;
pr_info("Byteswapped initrd detected\n");
- for (i = initrd_start; i < ALIGN(initrd_end, 8); i += 8)
+ for (i = virt_external_initramfs_start; i < ALIGN(virt_external_initramfs_end, 8); i += 8)
swab64s((u64 *)i);
}
#endif
@@ -211,29 +211,29 @@ static void __init maybe_bswap_initrd(void)
static void __init finalize_initrd(void)
{
- unsigned long size = initrd_end - initrd_start;
+ unsigned long size = virt_external_initramfs_end - virt_external_initramfs_start;
if (size == 0) {
printk(KERN_INFO "Initrd not found or empty");
goto disable;
}
- if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) {
+ if (__pa(virt_external_initramfs_end) > PFN_PHYS(max_low_pfn)) {
printk(KERN_ERR "Initrd extends beyond end of memory");
goto disable;
}
maybe_bswap_initrd();
- memblock_reserve(__pa(initrd_start), size);
+ memblock_reserve(__pa(virt_external_initramfs_start), size);
initrd_below_start_ok = 1;
pr_info("Initial ramdisk at: 0x%lx (%lu bytes)\n",
- initrd_start, size);
+ virt_external_initramfs_start, size);
return;
disable:
printk(KERN_CONT " - disabling initrd\n");
- initrd_start = 0;
- initrd_end = 0;
+ virt_external_initramfs_start = 0;
+ virt_external_initramfs_end = 0;
}
#else /* !CONFIG_BLK_DEV_INITRD */
diff --git a/arch/mips/sibyte/common/cfe.c b/arch/mips/sibyte/common/cfe.c
index 2cb90dbbe843..642b7d615594 100644
--- a/arch/mips/sibyte/common/cfe.c
+++ b/arch/mips/sibyte/common/cfe.c
@@ -38,7 +38,7 @@
int cfe_cons_handle;
#ifdef CONFIG_BLK_DEV_INITRD
-extern unsigned long initrd_start, initrd_end;
+extern unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
#endif
static void __noreturn cfe_linux_exit(void *arg)
@@ -86,9 +86,9 @@ static __init void prom_meminit(void)
unsigned long initrd_pstart;
unsigned long initrd_pend;
- initrd_pstart = CPHYSADDR(initrd_start);
- initrd_pend = CPHYSADDR(initrd_end);
- if (initrd_start &&
+ initrd_pstart = CPHYSADDR(virt_external_initramfs_start);
+ initrd_pend = CPHYSADDR(virt_external_initramfs_end);
+ if (virt_external_initramfs_start &&
((initrd_pstart > MAX_RAM_SIZE)
|| (initrd_pend > MAX_RAM_SIZE))) {
panic("initrd out of addressable memory");
@@ -105,7 +105,7 @@ static __init void prom_meminit(void)
* ramdisk
*/
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start) {
+ if (virt_external_initramfs_start) {
if ((initrd_pstart > addr) &&
(initrd_pstart < (addr + size))) {
memblock_add(addr,
@@ -139,7 +139,7 @@ static __init void prom_meminit(void)
}
}
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start) {
+ if (virt_external_initramfs_start) {
memblock_add(initrd_pstart, initrd_pend - initrd_pstart);
memblock_reserve(initrd_pstart, initrd_pend - initrd_pstart);
}
@@ -183,17 +183,17 @@ static int __init initrd_setup(char *str)
goto fail;
}
*(tmp-1) = '@';
- initrd_start = simple_strtoul(tmp, &endptr, 16);
+ virt_external_initramfs_start = simple_strtoul(tmp, &endptr, 16);
if (*endptr) {
goto fail;
}
- initrd_end = initrd_start + initrd_size;
- printk("Found initrd of %lx@%lx\n", initrd_size, initrd_start);
+ virt_external_initramfs_end = virt_external_initramfs_start + initrd_size;
+ printk("Found initrd of %lx@%lx\n", initrd_size, virt_external_initramfs_start);
return 1;
fail:
printk("Bad initrd argument. Disabling initrd\n");
- initrd_start = 0;
- initrd_end = 0;
+ virt_external_initramfs_start = 0;
+ virt_external_initramfs_end = 0;
return 1;
}
diff --git a/arch/nios2/kernel/setup.c b/arch/nios2/kernel/setup.c
index 2a40150142c3..3cc44fa4931c 100644
--- a/arch/nios2/kernel/setup.c
+++ b/arch/nios2/kernel/setup.c
@@ -109,8 +109,8 @@ asmlinkage void __init nios2_boot_init(unsigned r4, unsigned r5, unsigned r6,
if (r4 == 0x534f494e) { /* r4 is magic NIOS */
#if defined(CONFIG_BLK_DEV_INITRD)
if (r5) { /* initramfs */
- initrd_start = r5;
- initrd_end = r6;
+ virt_external_initramfs_start = r5;
+ virt_external_initramfs_end = r6;
}
#endif /* CONFIG_BLK_DEV_INITRD */
dtb_passed = r6;
@@ -161,9 +161,9 @@ void __init setup_arch(char **cmdline_p)
memblock_reserve(__pa_symbol(_stext), _end - _stext);
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start) {
- memblock_reserve(virt_to_phys((void *)initrd_start),
- initrd_end - initrd_start);
+ if (virt_external_initramfs_start) {
+ memblock_reserve(virt_to_phys((void *)virt_external_initramfs_start),
+ virt_external_initramfs_end - virt_external_initramfs_start);
}
#endif /* CONFIG_BLK_DEV_INITRD */
diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c
index a9fb9cc6779e..f387dc57ec35 100644
--- a/arch/openrisc/kernel/setup.c
+++ b/arch/openrisc/kernel/setup.c
@@ -77,9 +77,9 @@ static void __init setup_memory(void)
#ifdef CONFIG_BLK_DEV_INITRD
/* Then reserve the initrd, if any */
- if (initrd_start && (initrd_end > initrd_start)) {
- unsigned long aligned_start = ALIGN_DOWN(initrd_start, PAGE_SIZE);
- unsigned long aligned_end = ALIGN(initrd_end, PAGE_SIZE);
+ if (virt_external_initramfs_start && (virt_external_initramfs_end > virt_external_initramfs_start)) {
+ unsigned long aligned_start = ALIGN_DOWN(virt_external_initramfs_start, PAGE_SIZE);
+ unsigned long aligned_end = ALIGN(virt_external_initramfs_end, PAGE_SIZE);
memblock_reserve(__pa(aligned_start), aligned_end - aligned_start);
}
@@ -239,13 +239,13 @@ void __init setup_arch(char **cmdline_p)
setup_initial_init_mm(_stext, _etext, _edata, _end);
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start == initrd_end) {
+ if (virt_external_initramfs_start == virt_external_initramfs_end) {
printk(KERN_INFO "Initial ramdisk not found\n");
- initrd_start = 0;
- initrd_end = 0;
+ virt_external_initramfs_start = 0;
+ virt_external_initramfs_end = 0;
} else {
printk(KERN_INFO "Initial ramdisk at: 0x%p (%lu bytes)\n",
- (void *)(initrd_start), initrd_end - initrd_start);
+ (void *)(virt_external_initramfs_start), virt_external_initramfs_end - virt_external_initramfs_start);
initrd_below_start_ok = 1;
}
#endif
diff --git a/arch/parisc/kernel/pdt.c b/arch/parisc/kernel/pdt.c
index b70b67adb855..3715a3b088a7 100644
--- a/arch/parisc/kernel/pdt.c
+++ b/arch/parisc/kernel/pdt.c
@@ -229,7 +229,7 @@ void __init pdc_pdt_init(void)
addr = pdt_entry[i] & PDT_ADDR_PHYS_MASK;
if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) &&
- addr >= initrd_start && addr < initrd_end)
+ addr >= virt_external_initramfs_start && addr < virt_external_initramfs_end)
pr_crit("CRITICAL: initrd possibly broken "
"due to bad memory!\n");
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index ace483b6f19a..41f45fa177d0 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -71,8 +71,8 @@ static void __init setup_cmdline(char **cmdline_p)
#ifdef CONFIG_BLK_DEV_INITRD
/* did palo pass us a ramdisk? */
if (boot_args[2] != 0) {
- initrd_start = (unsigned long)__va(boot_args[2]);
- initrd_end = (unsigned long)__va(boot_args[3]);
+ virt_external_initramfs_start = (unsigned long)__va(boot_args[2]);
+ virt_external_initramfs_end = (unsigned long)__va(boot_args[3]);
}
#endif
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 14270715d754..74bfe9797589 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -298,20 +298,20 @@ static void __init setup_bootmem(void)
#endif
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start) {
- printk(KERN_INFO "initrd: %08lx-%08lx\n", initrd_start, initrd_end);
- if (__pa(initrd_start) < mem_max) {
+ if (virt_external_initramfs_start) {
+ printk(KERN_INFO "initrd: %08lx-%08lx\n", virt_external_initramfs_start, virt_external_initramfs_end);
+ if (__pa(virt_external_initramfs_start) < mem_max) {
unsigned long initrd_reserve;
- if (__pa(initrd_end) > mem_max) {
- initrd_reserve = mem_max - __pa(initrd_start);
+ if (__pa(virt_external_initramfs_end) > mem_max) {
+ initrd_reserve = mem_max - __pa(virt_external_initramfs_start);
} else {
- initrd_reserve = initrd_end - initrd_start;
+ initrd_reserve = virt_external_initramfs_end - virt_external_initramfs_start;
}
initrd_below_start_ok = 1;
- printk(KERN_INFO "initrd: reserving %08lx-%08lx (mem_max %08lx)\n", __pa(initrd_start), __pa(initrd_start) + initrd_reserve, mem_max);
+ printk(KERN_INFO "initrd: reserving %08lx-%08lx (mem_max %08lx)\n", __pa(virt_external_initramfs_start), __pa(virt_external_initramfs_start) + initrd_reserve, mem_max);
- memblock_reserve(__pa(initrd_start), initrd_reserve);
+ memblock_reserve(__pa(virt_external_initramfs_start), initrd_reserve);
}
}
#endif
@@ -633,10 +633,10 @@ static void __init pagetable_init(void)
}
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_end && initrd_end > mem_limit) {
- printk(KERN_INFO "initrd: mapping %08lx-%08lx\n", initrd_start, initrd_end);
- map_pages(initrd_start, __pa(initrd_start),
- initrd_end - initrd_start, PAGE_KERNEL, 0);
+ if (virt_external_initramfs_end && virt_external_initramfs_end > mem_limit) {
+ printk(KERN_INFO "initrd: mapping %08lx-%08lx\n", virt_external_initramfs_start, virt_external_initramfs_end);
+ map_pages(virt_external_initramfs_start, __pa(virt_external_initramfs_start),
+ virt_external_initramfs_end - virt_external_initramfs_start, PAGE_KERNEL, 0);
}
#endif
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 9ed9dde7d231..b7858b0bd697 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -97,11 +97,11 @@ early_param("mem", early_parse_mem);
static inline int overlaps_initrd(unsigned long start, unsigned long size)
{
#ifdef CONFIG_BLK_DEV_INITRD
- if (!initrd_start)
+ if (!virt_external_initramfs_start)
return 0;
- return (start + size) > ALIGN_DOWN(initrd_start, PAGE_SIZE) &&
- start <= ALIGN(initrd_end, PAGE_SIZE);
+ return (start + size) > ALIGN_DOWN(virt_external_initramfs_start, PAGE_SIZE) &&
+ start <= ALIGN(virt_external_initramfs_end, PAGE_SIZE);
#else
return 0;
#endif
@@ -686,10 +686,10 @@ static void __init early_reserve_mem(void)
#ifdef CONFIG_BLK_DEV_INITRD
/* Then reserve the initrd, if any */
- if (initrd_start && (initrd_end > initrd_start)) {
- memblock_reserve(ALIGN_DOWN(__pa(initrd_start), PAGE_SIZE),
- ALIGN(initrd_end, PAGE_SIZE) -
- ALIGN_DOWN(initrd_start, PAGE_SIZE));
+ if (virt_external_initramfs_start && (virt_external_initramfs_end > virt_external_initramfs_start)) {
+ memblock_reserve(ALIGN_DOWN(__pa(virt_external_initramfs_start), PAGE_SIZE),
+ ALIGN(virt_external_initramfs_end, PAGE_SIZE) -
+ ALIGN_DOWN(virt_external_initramfs_start, PAGE_SIZE));
}
#endif /* CONFIG_BLK_DEV_INITRD */
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 97d330f3b8f1..eff369cba0e5 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -360,17 +360,17 @@ const struct seq_operations cpuinfo_op = {
void __init check_for_initrd(void)
{
#ifdef CONFIG_BLK_DEV_INITRD
- DBG(" -> check_for_initrd() initrd_start=0x%lx initrd_end=0x%lx\n",
- initrd_start, initrd_end);
+ DBG(" -> check_for_initrd() virt_external_initramfs_start=0x%lx virt_external_initramfs_end=0x%lx\n",
+ virt_external_initramfs_start, virt_external_initramfs_end);
/* If we were not passed an sensible initramfs, clear initramfs reference.
*/
- if (!(is_kernel_addr(initrd_start) && is_kernel_addr(initrd_end) &&
- initrd_end > initrd_start))
- initrd_start = initrd_end = 0;
+ if (!(is_kernel_addr(virt_external_initramfs_start) && is_kernel_addr(virt_external_initramfs_end) &&
+ virt_external_initramfs_end > virt_external_initramfs_start))
+ virt_external_initramfs_start = virt_external_initramfs_end = 0;
- if (initrd_start)
- pr_info("Found initramfs at 0x%lx:0x%lx\n", initrd_start, initrd_end);
+ if (virt_external_initramfs_start)
+ pr_info("Found initramfs at 0x%lx:0x%lx\n", virt_external_initramfs_start, virt_external_initramfs_end);
DBG(" <- check_for_initrd()\n");
#endif /* CONFIG_BLK_DEV_INITRD */
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 237d8386a3f4..4c3b9ed5428d 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -296,7 +296,7 @@ static void __init pmac_setup_arch(void)
#endif
#ifdef CONFIG_PPC32
#ifdef CONFIG_BLK_DEV_INITRD
- if (!initrd_start)
+ if (!virt_external_initramfs_start)
#endif
ROOT_DEV = DEFAULT_ROOT_DEVICE;
#endif
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index a4ce721b7fe8..9bdb6f6b893e 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -672,8 +672,8 @@ static void __init reserve_initrd(void)
if (!IS_ENABLED(CONFIG_BLK_DEV_INITRD) || !get_physmem_reserved(RR_INITRD, &addr, &size))
return;
- initrd_start = (unsigned long)__va(addr);
- initrd_end = initrd_start + size;
+ virt_external_initramfs_start = (unsigned long)__va(addr);
+ virt_external_initramfs_end = virt_external_initramfs_start + size;
memblock_reserve(addr, size);
}
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index c4312ee13db9..9ce9dc5b9e56 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -153,16 +153,16 @@ void __init check_for_initrd(void)
/*
* Address sanitization
*/
- initrd_start = (unsigned long)__va(start);
- initrd_end = initrd_start + INITRD_SIZE;
+ virt_external_initramfs_start = (unsigned long)__va(start);
+ virt_external_initramfs_end = virt_external_initramfs_start + INITRD_SIZE;
- memblock_reserve(__pa(initrd_start), INITRD_SIZE);
+ memblock_reserve(__pa(virt_external_initramfs_start), INITRD_SIZE);
return;
disable:
pr_info("initrd disabled\n");
- initrd_start = initrd_end = 0;
+ virt_external_initramfs_start = virt_external_initramfs_end = 0;
#endif
}
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c
index fdc93dd12c3e..7b7722ff5232 100644
--- a/arch/sparc/mm/init_32.c
+++ b/arch/sparc/mm/init_32.c
@@ -109,20 +109,20 @@ static void __init find_ramdisk(unsigned long end_of_phys_memory)
if (sparc_ramdisk_image) {
if (sparc_ramdisk_image >= (unsigned long)&_end - 2 * PAGE_SIZE)
sparc_ramdisk_image -= KERNBASE;
- initrd_start = sparc_ramdisk_image + phys_base;
- initrd_end = initrd_start + sparc_ramdisk_size;
- if (initrd_end > end_of_phys_memory) {
+ virt_external_initramfs_start = sparc_ramdisk_image + phys_base;
+ virt_external_initramfs_end = virt_external_initramfs_start + sparc_ramdisk_size;
+ if (virt_external_initramfs_end > end_of_phys_memory) {
printk(KERN_CRIT "initrd extends beyond end of memory "
"(0x%016lx > 0x%016lx)\ndisabling initrd\n",
- initrd_end, end_of_phys_memory);
- initrd_start = 0;
+ virt_external_initramfs_end, end_of_phys_memory);
+ virt_external_initramfs_start = 0;
} else {
/* Reserve the initrd image area. */
- size = initrd_end - initrd_start;
- memblock_reserve(initrd_start, size);
+ size = virt_external_initramfs_end - virt_external_initramfs_start;
+ memblock_reserve(virt_external_initramfs_start, size);
- initrd_start = (initrd_start - phys_base) + PAGE_OFFSET;
- initrd_end = (initrd_end - phys_base) + PAGE_OFFSET;
+ virt_external_initramfs_start = (virt_external_initramfs_start - phys_base) + PAGE_OFFSET;
+ virt_external_initramfs_end = (virt_external_initramfs_end - phys_base) + PAGE_OFFSET;
}
}
#endif
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
index 7ed58bf3aaca..af249a654e79 100644
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -901,13 +901,13 @@ static void __init find_ramdisk(unsigned long phys_base)
numadbg("Found ramdisk at physical address 0x%lx, size %u\n",
ramdisk_image, sparc_ramdisk_size);
- initrd_start = ramdisk_image;
- initrd_end = ramdisk_image + sparc_ramdisk_size;
+ virt_external_initramfs_start = ramdisk_image;
+ virt_external_initramfs_end = ramdisk_image + sparc_ramdisk_size;
- memblock_reserve(initrd_start, sparc_ramdisk_size);
+ memblock_reserve(virt_external_initramfs_start, sparc_ramdisk_size);
- initrd_start += PAGE_OFFSET;
- initrd_end += PAGE_OFFSET;
+ virt_external_initramfs_start += PAGE_OFFSET;
+ virt_external_initramfs_end += PAGE_OFFSET;
}
#endif
}
@@ -2485,8 +2485,8 @@ int page_in_phys_avail(unsigned long paddr)
if (paddr >= kern_base && paddr < (kern_base + kern_size))
return 1;
#ifdef CONFIG_BLK_DEV_INITRD
- if (paddr >= __pa(initrd_start) &&
- paddr < __pa(PAGE_ALIGN(initrd_end)))
+ if (paddr >= __pa(virt_external_initramfs_start) &&
+ paddr < __pa(PAGE_ALIGN(virt_external_initramfs_end)))
return 1;
#endif
diff --git a/arch/um/kernel/initrd.c b/arch/um/kernel/initrd.c
index 99dba827461c..e6113192a6b6 100644
--- a/arch/um/kernel/initrd.c
+++ b/arch/um/kernel/initrd.c
@@ -27,8 +27,8 @@ int __init read_initrd(void)
if (!area)
return 0;
- initrd_start = (unsigned long) area;
- initrd_end = initrd_start + size;
+ virt_external_initramfs_start = (unsigned long) area;
+ virt_external_initramfs_end = virt_external_initramfs_start + size;
return 0;
}
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
index b92e09a87c69..b8169f14d175 100644
--- a/arch/x86/kernel/cpu/microcode/core.c
+++ b/arch/x86/kernel/cpu/microcode/core.c
@@ -213,13 +213,13 @@ struct cpio_data __init find_microcode_in_initrd(const char *path)
#endif
/*
- * Fixup the start address: after reserve_initrd() runs, initrd_start
+ * Fixup the start address: after reserve_initrd() runs, virt_external_initramfs_start
* has the virtual address of the beginning of the initrd. It also
- * possibly relocates the ramdisk. In either case, initrd_start contains
+ * possibly relocates the ramdisk. In either case, virt_external_initramfs_start contains
* the updated address so use that instead.
*/
- if (initrd_start)
- start = initrd_start;
+ if (virt_external_initramfs_start)
+ start = virt_external_initramfs_start;
return find_cpio_data(path, (void *)start, size, NULL);
#else /* !CONFIG_BLK_DEV_INITRD */
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index e727c7a7f648..167b9ef12ebb 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -328,12 +328,12 @@ static void __init relocate_initrd(void)
panic("Cannot find place for new RAMDISK of size %lld\n",
ramdisk_size);
- initrd_start = relocated_ramdisk + PAGE_OFFSET;
- initrd_end = initrd_start + ramdisk_size;
+ virt_external_initramfs_start = relocated_ramdisk + PAGE_OFFSET;
+ virt_external_initramfs_end = virt_external_initramfs_start + ramdisk_size;
printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
relocated_ramdisk, relocated_ramdisk + ramdisk_size - 1);
- ret = copy_from_early_mem((void *)initrd_start, ramdisk_image, ramdisk_size);
+ ret = copy_from_early_mem((void *)virt_external_initramfs_start, ramdisk_image, ramdisk_size);
if (ret)
panic("Copy RAMDISK failed\n");
@@ -368,7 +368,7 @@ static void __init reserve_initrd(void)
!ramdisk_image || !ramdisk_size)
return; /* No initrd provided by bootloader */
- initrd_start = 0;
+ virt_external_initramfs_start = 0;
printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
ramdisk_end - 1);
@@ -376,8 +376,8 @@ static void __init reserve_initrd(void)
if (pfn_range_is_mapped(PFN_DOWN(ramdisk_image),
PFN_DOWN(ramdisk_end))) {
/* All are mapped, easy case */
- initrd_start = ramdisk_image + PAGE_OFFSET;
- initrd_end = initrd_start + ramdisk_size;
+ virt_external_initramfs_start = ramdisk_image + PAGE_OFFSET;
+ virt_external_initramfs_end = virt_external_initramfs_start + ramdisk_size;
return;
}
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index f72e280363be..2e9003be3e8c 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -49,8 +49,8 @@
#include <asm/traps.h>
#ifdef CONFIG_BLK_DEV_INITRD
-extern unsigned long initrd_start;
-extern unsigned long initrd_end;
+extern unsigned long virt_external_initramfs_start;
+extern unsigned long virt_external_initramfs_end;
extern int initrd_below_start_ok;
#endif
@@ -106,8 +106,8 @@ static int __init parse_tag_initrd(const bp_tag_t* tag)
{
struct bp_meminfo *mi = (struct bp_meminfo *)(tag->data);
- initrd_start = (unsigned long)__va(mi->start);
- initrd_end = (unsigned long)__va(mi->end);
+ virt_external_initramfs_start = (unsigned long)__va(mi->start);
+ virt_external_initramfs_end = (unsigned long)__va(mi->end);
return 0;
}
@@ -290,11 +290,11 @@ void __init setup_arch(char **cmdline_p)
/* Reserve some memory regions */
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start < initrd_end &&
- !mem_reserve(__pa(initrd_start), __pa(initrd_end)))
+ if (virt_external_initramfs_start < virt_external_initramfs_end &&
+ !mem_reserve(__pa(virt_external_initramfs_start), __pa(virt_external_initramfs_end)))
initrd_below_start_ok = 1;
else
- initrd_start = 0;
+ virt_external_initramfs_start = 0;
#endif
mem_reserve(__pa(_stext), __pa(_end));
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 3160cb7dca00..37ad99c10ac4 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -432,8 +432,8 @@ void __init acpi_table_upgrade(void)
data = __builtin_initramfs_start;
size = __builtin_initramfs_size;
} else {
- data = (void *)initrd_start;
- size = initrd_end - initrd_start;
+ data = (void *)virt_external_initramfs_start;
+ size = virt_external_initramfs_end - virt_external_initramfs_start;
}
if (data == NULL || size == 0)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 9c4c9be948c5..baf8347e0314 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -765,8 +765,8 @@ static void __early_init_dt_declare_initrd(unsigned long start,
*/
if (!IS_ENABLED(CONFIG_ARM64) &&
!(IS_ENABLED(CONFIG_RISCV) && IS_ENABLED(CONFIG_64BIT))) {
- initrd_start = (unsigned long)__va(start);
- initrd_end = (unsigned long)__va(end);
+ virt_external_initramfs_start = (unsigned long)__va(start);
+ virt_external_initramfs_end = (unsigned long)__va(end);
initrd_below_start_ok = 1;
}
}
diff --git a/include/linux/initrd.h b/include/linux/initrd.h
index 23c08e88234c..f19efebe8221 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initrd.h
@@ -3,10 +3,10 @@
#ifndef __LINUX_INITRD_H
#define __LINUX_INITRD_H
-/* 1 if it is not an error if initrd_start < memory_start */
+/* 1 if it is not an error if virt_external_initramfs_start < memory_start */
extern int initrd_below_start_ok;
-extern unsigned long initrd_start, initrd_end;
+extern unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
extern void free_initrd_mem(unsigned long, unsigned long);
#ifdef CONFIG_BLK_DEV_INITRD
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 06be76aa602c..8bdeb205a0cd 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -12,7 +12,7 @@
#include "do_mounts.h"
-unsigned long initrd_start, initrd_end;
+unsigned long virt_external_initramfs_start, virt_external_initramfs_end;
int initrd_below_start_ok;
static int __init early_initrdmem(char *p)
diff --git a/init/initramfs.c b/init/initramfs.c
index 5242d851e839..9a221c713c60 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -611,7 +611,7 @@ void __init reserve_initrd_mem(void)
unsigned long size;
/* Ignore the virtul address computed during device tree parsing */
- initrd_start = initrd_end = 0;
+ virt_external_initramfs_start = virt_external_initramfs_end = 0;
if (!phys_external_initramfs_size)
return;
@@ -639,15 +639,15 @@ void __init reserve_initrd_mem(void)
memblock_reserve(start, size);
/* Now convert initrd to virtual addresses */
- initrd_start = (unsigned long)__va(phys_external_initramfs_start);
- initrd_end = initrd_start + phys_external_initramfs_size;
+ virt_external_initramfs_start = (unsigned long)__va(phys_external_initramfs_start);
+ virt_external_initramfs_end = virt_external_initramfs_start + phys_external_initramfs_size;
initrd_below_start_ok = 1;
return;
disable:
pr_cont(" - disabling initrd\n");
- initrd_start = 0;
- initrd_end = 0;
+ virt_external_initramfs_start = 0;
+ virt_external_initramfs_end = 0;
}
void __weak __init free_initrd_mem(unsigned long start, unsigned long end)
@@ -673,17 +673,17 @@ static bool __init kexec_free_initrd(void)
* If the initrd region is overlapped with crashkernel reserved region,
* free only memory that is not part of crashkernel region.
*/
- if (initrd_start >= crashk_end || initrd_end <= crashk_start)
+ if (virt_external_initramfs_start >= crashk_end || virt_external_initramfs_end <= crashk_start)
return false;
/*
* Initialize initrd memory region since the kexec boot does not do.
*/
- memset((void *)initrd_start, 0, initrd_end - initrd_start);
- if (initrd_start < crashk_start)
- free_initrd_mem(initrd_start, crashk_start);
- if (initrd_end > crashk_end)
- free_initrd_mem(crashk_end, initrd_end);
+ memset((void *)virt_external_initramfs_start, 0, virt_external_initramfs_end - virt_external_initramfs_start);
+ if (virt_external_initramfs_start < crashk_start)
+ free_initrd_mem(virt_external_initramfs_start, crashk_start);
+ if (virt_external_initramfs_end > crashk_end)
+ free_initrd_mem(crashk_end, virt_external_initramfs_end);
return true;
}
#else
@@ -700,12 +700,12 @@ static void __init do_populate_rootfs(void *unused, async_cookie_t cookie)
if (err)
panic_show_mem("%s", err); /* Failed to decompress INTERNAL initramfs */
- if (!initrd_start || IS_ENABLED(CONFIG_INITRAMFS_FORCE))
+ if (!virt_external_initramfs_start || IS_ENABLED(CONFIG_INITRAMFS_FORCE))
goto done;
printk(KERN_INFO "Unpacking initramfs...\n");
- err = unpack_to_rootfs((char *)initrd_start, initrd_end - initrd_start);
+ err = unpack_to_rootfs((char *)virt_external_initramfs_start, virt_external_initramfs_end - virt_external_initramfs_start);
if (err) {
printk(KERN_EMERG "Initramfs unpacking failed: %s\n", err);
}
@@ -717,16 +717,16 @@ static void __init do_populate_rootfs(void *unused, async_cookie_t cookie)
* If the initrd region is overlapped with crashkernel reserved region,
* free only memory that is not part of crashkernel region.
*/
- if (!do_retain_initrd && initrd_start && !kexec_free_initrd()) {
- free_initrd_mem(initrd_start, initrd_end);
- } else if (do_retain_initrd && initrd_start) {
- bin_attr_initrd.size = initrd_end - initrd_start;
- bin_attr_initrd.private = (void *)initrd_start;
+ if (!do_retain_initrd && virt_external_initramfs_start && !kexec_free_initrd()) {
+ free_initrd_mem(virt_external_initramfs_start, virt_external_initramfs_end);
+ } else if (do_retain_initrd && virt_external_initramfs_start) {
+ bin_attr_initrd.size = virt_external_initramfs_end - virt_external_initramfs_start;
+ bin_attr_initrd.private = (void *)virt_external_initramfs_start;
if (sysfs_create_bin_file(firmware_kobj, &bin_attr_initrd))
pr_err("Failed to create initrd sysfs file");
}
- initrd_start = 0;
- initrd_end = 0;
+ virt_external_initramfs_start = 0;
+ virt_external_initramfs_end = 0;
init_flush_fput();
}
diff --git a/init/main.c b/init/main.c
index 0ee0ee7b7c2c..5f4d860ab72a 100644
--- a/init/main.c
+++ b/init/main.c
@@ -271,10 +271,10 @@ static void * __init get_boot_config_from_initrd(size_t *_size)
u32 *hdr;
int i;
- if (!initrd_end)
+ if (!virt_external_initramfs_end)
return NULL;
- data = (char *)initrd_end - BOOTCONFIG_MAGIC_LEN;
+ data = (char *)virt_external_initramfs_end - BOOTCONFIG_MAGIC_LEN;
/*
* Since Grub may align the size of initrd to 4, we must
* check the preceding 3 bytes as well.
@@ -292,9 +292,9 @@ static void * __init get_boot_config_from_initrd(size_t *_size)
csum = le32_to_cpu(hdr[1]);
data = ((void *)hdr) - size;
- if ((unsigned long)data < initrd_start) {
+ if ((unsigned long)data < virt_external_initramfs_start) {
pr_err("bootconfig size %d is greater than initrd size %ld\n",
- size, initrd_end - initrd_start);
+ size, virt_external_initramfs_end - virt_external_initramfs_start);
return NULL;
}
@@ -304,7 +304,7 @@ static void * __init get_boot_config_from_initrd(size_t *_size)
}
/* Remove bootconfig from initramfs/initrd */
- initrd_end = (unsigned long)data;
+ virt_external_initramfs_end = (unsigned long)data;
if (_size)
*_size = size;
@@ -1047,12 +1047,12 @@ void start_kernel(void)
locking_selftest();
#ifdef CONFIG_BLK_DEV_INITRD
- if (initrd_start && !initrd_below_start_ok &&
- page_to_pfn(virt_to_page((void *)initrd_start)) < min_low_pfn) {
+ if (virt_external_initramfs_start && !initrd_below_start_ok &&
+ page_to_pfn(virt_to_page((void *)virt_external_initramfs_start)) < min_low_pfn) {
pr_crit("initrd overwritten (0x%08lx < 0x%08lx) - disabling it.\n",
- page_to_pfn(virt_to_page((void *)initrd_start)),
+ page_to_pfn(virt_to_page((void *)virt_external_initramfs_start)),
min_low_pfn);
- initrd_start = 0;
+ virt_external_initramfs_start = 0;
}
#endif
setup_per_cpu_pageset();
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 27/62] init: alpha: remove "extern unsigned long initrd_start, initrd_end"
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
These variables already declared in <linux/initrd.h>, which is
included
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/alpha/kernel/core_irongate.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/alpha/kernel/core_irongate.c b/arch/alpha/kernel/core_irongate.c
index 05dc4c1b9074..3411564144ae 100644
--- a/arch/alpha/kernel/core_irongate.c
+++ b/arch/alpha/kernel/core_irongate.c
@@ -225,8 +225,6 @@ albacore_init_arch(void)
alpha_mv.min_mem_address = pci_mem;
if (memtop > pci_mem) {
#ifdef CONFIG_BLK_DEV_INITRD
- extern unsigned long initrd_start, initrd_end;
-
/* Move the initrd out of the way. */
if (initrd_end && __pa(initrd_end) > pci_mem) {
unsigned long size;
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 26/62] init: move phys_external_initramfs_{start,size} to init/initramfs.c
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Move definitions of phys_external_initramfs_start and
phys_external_initramfs_size to init/initramfs.c
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
init/do_mounts_initrd.c | 3 ---
init/initramfs.c | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 444182a76999..06be76aa602c 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -15,9 +15,6 @@
unsigned long initrd_start, initrd_end;
int initrd_below_start_ok;
-phys_addr_t phys_external_initramfs_start __initdata;
-unsigned long phys_external_initramfs_size __initdata;
-
static int __init early_initrdmem(char *p)
{
phys_addr_t start;
diff --git a/init/initramfs.c b/init/initramfs.c
index 6abe0a3ca4ce..5242d851e839 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -600,6 +600,9 @@ __setup("initramfs_async=", initramfs_async_setup);
#include <linux/initrd.h>
#include <linux/kexec.h>
+phys_addr_t phys_external_initramfs_start __initdata;
+unsigned long phys_external_initramfs_size __initdata;
+
static BIN_ATTR(initrd, 0440, sysfs_bin_attr_simple_read, NULL, 0);
void __init reserve_initrd_mem(void)
--
2.47.2
^ permalink raw reply related
* [PATCH RESEND 25/62] init: rename phys_initrd_{start,size} to phys_external_initramfs_{start,size}
From: Askar Safin @ 2025-09-13 0:38 UTC (permalink / raw)
To: linux-fsdevel, linux-kernel
Cc: Linus Torvalds, Greg Kroah-Hartman, Christian Brauner, Al Viro,
Jan Kara, Christoph Hellwig, Jens Axboe, Andy Shevchenko,
Aleksa Sarai, Thomas Weißschuh, Julian Stecklina, Gao Xiang,
Art Nikpal, Andrew Morton, Eric Curtin, Alexander Graf,
Rob Landley, Lennart Poettering, linux-arch, linux-alpha,
linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, x86, Ingo Molnar, linux-block, initramfs, linux-api,
linux-doc, linux-efi, linux-ext4, Theodore Y . Ts'o,
linux-acpi, Michal Simek, devicetree, Luis Chamberlain, Kees Cook,
Thorsten Blum, Heiko Carstens, patches
In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com>
Rename phys_initrd_start to phys_external_initramfs_start and
phys_initrd_size to phys_external_initramfs_size.
They refer to initramfs, not to initrd
Signed-off-by: Askar Safin <safinaskar@gmail.com>
---
arch/arc/mm/init.c | 8 ++++----
arch/arm/mm/init.c | 8 ++++----
arch/arm64/mm/init.c | 15 ++++++++-------
arch/x86/kernel/setup.c | 4 ++--
drivers/firmware/efi/efi.c | 6 +++---
drivers/of/fdt.c | 8 ++++----
include/linux/initrd.h | 4 ++--
init/do_mounts_initrd.c | 8 ++++----
init/initramfs.c | 10 +++++-----
9 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c
index a73cc94f806e..eb8a616a63c6 100644
--- a/arch/arc/mm/init.c
+++ b/arch/arc/mm/init.c
@@ -110,10 +110,10 @@ void __init setup_arch_memory(void)
__pa(_end) - CONFIG_LINUX_LINK_BASE);
#ifdef CONFIG_BLK_DEV_INITRD
- if (phys_initrd_size) {
- memblock_reserve(phys_initrd_start, phys_initrd_size);
- initrd_start = (unsigned long)__va(phys_initrd_start);
- initrd_end = initrd_start + phys_initrd_size;
+ if (phys_external_initramfs_size) {
+ memblock_reserve(phys_external_initramfs_start, phys_external_initramfs_size);
+ initrd_start = (unsigned long)__va(phys_external_initramfs_start);
+ initrd_end = initrd_start + phys_external_initramfs_size;
}
#endif
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 54bdca025c9f..93f8010b9115 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -55,8 +55,8 @@ static int __init parse_tag_initrd(const struct tag *tag)
{
pr_warn("ATAG_INITRD is deprecated; "
"please update your bootloader.\n");
- phys_initrd_start = __virt_to_phys(tag->u.initrd.start);
- phys_initrd_size = tag->u.initrd.size;
+ phys_external_initramfs_start = __virt_to_phys(tag->u.initrd.start);
+ phys_external_initramfs_size = tag->u.initrd.size;
return 0;
}
@@ -64,8 +64,8 @@ __tagtable(ATAG_INITRD, parse_tag_initrd);
static int __init parse_tag_initrd2(const struct tag *tag)
{
- phys_initrd_start = tag->u.initrd.start;
- phys_initrd_size = tag->u.initrd.size;
+ phys_external_initramfs_start = tag->u.initrd.start;
+ phys_external_initramfs_size = tag->u.initrd.size;
return 0;
}
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index ea84a61ed508..da517edcf824 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -246,14 +246,15 @@ void __init arm64_memblock_init(void)
memblock_add(__pa_symbol(_text), (u64)(_end - _text));
}
- if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_initrd_size) {
+ if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_external_initramfs_size) {
/*
* Add back the memory we just removed if it results in the
* initrd to become inaccessible via the linear mapping.
* Otherwise, this is a no-op
*/
- u64 base = phys_initrd_start & PAGE_MASK;
- u64 size = PAGE_ALIGN(phys_initrd_start + phys_initrd_size) - base;
+ u64 base = phys_external_initramfs_start & PAGE_MASK;
+ u64 size = PAGE_ALIGN(phys_external_initramfs_start +
+ phys_external_initramfs_size) - base;
/*
* We can only add back the initrd memory if we don't end up
@@ -267,7 +268,7 @@ void __init arm64_memblock_init(void)
base + size > memblock_start_of_DRAM() +
linear_region_size,
"initrd not fully accessible via the linear mapping -- please check your bootloader ...\n")) {
- phys_initrd_size = 0;
+ phys_external_initramfs_size = 0;
} else {
memblock_add(base, size);
memblock_clear_nomap(base, size);
@@ -280,10 +281,10 @@ void __init arm64_memblock_init(void)
* pagetables with memblock.
*/
memblock_reserve(__pa_symbol(_stext), _end - _stext);
- if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_initrd_size) {
+ if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_external_initramfs_size) {
/* the generic initrd code expects virtual addresses */
- initrd_start = __phys_to_virt(phys_initrd_start);
- initrd_end = initrd_start + phys_initrd_size;
+ initrd_start = __phys_to_virt(phys_external_initramfs_start);
+ initrd_end = initrd_start + phys_external_initramfs_size;
}
early_init_fdt_scan_reserved_mem();
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 797c3c9fc75e..e727c7a7f648 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -297,7 +297,7 @@ static u64 __init get_ramdisk_image(void)
ramdisk_image |= (u64)boot_params.ext_ramdisk_image << 32;
if (ramdisk_image == 0)
- ramdisk_image = phys_initrd_start;
+ ramdisk_image = phys_external_initramfs_start;
return ramdisk_image;
}
@@ -308,7 +308,7 @@ static u64 __init get_ramdisk_size(void)
ramdisk_size |= (u64)boot_params.ext_ramdisk_size << 32;
if (ramdisk_size == 0)
- ramdisk_size = phys_initrd_size;
+ ramdisk_size = phys_external_initramfs_size;
return ramdisk_size;
}
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index 1ce428e2ac8a..7cab72da2ea9 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -808,13 +808,13 @@ int __init efi_config_parse_tables(const efi_config_table_t *config_tables,
}
if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) &&
- initrd != EFI_INVALID_TABLE_ADDR && phys_initrd_size == 0) {
+ initrd != EFI_INVALID_TABLE_ADDR && phys_external_initramfs_size == 0) {
struct linux_efi_initrd *tbl;
tbl = early_memremap(initrd, sizeof(*tbl));
if (tbl) {
- phys_initrd_start = tbl->base;
- phys_initrd_size = tbl->size;
+ phys_external_initramfs_start = tbl->base;
+ phys_external_initramfs_size = tbl->size;
early_memunmap(tbl, sizeof(*tbl));
}
}
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 0edd639898a6..9c4c9be948c5 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -760,8 +760,8 @@ static void __early_init_dt_declare_initrd(unsigned long start,
{
/*
* __va() is not yet available this early on some platforms. In that
- * case, the platform uses phys_initrd_start/phys_initrd_size instead
- * and does the VA conversion itself.
+ * case, the platform uses phys_external_initramfs_start/phys_external_initramfs_size
+ * instead and does the VA conversion itself.
*/
if (!IS_ENABLED(CONFIG_ARM64) &&
!(IS_ENABLED(CONFIG_RISCV) && IS_ENABLED(CONFIG_64BIT))) {
@@ -799,8 +799,8 @@ static void __init early_init_dt_check_for_initrd(unsigned long node)
return;
__early_init_dt_declare_initrd(start, end);
- phys_initrd_start = start;
- phys_initrd_size = end - start;
+ phys_external_initramfs_start = start;
+ phys_external_initramfs_size = end - start;
pr_debug("initrd_start=0x%llx initrd_end=0x%llx\n", start, end);
}
diff --git a/include/linux/initrd.h b/include/linux/initrd.h
index 4080ba82d4c9..23c08e88234c 100644
--- a/include/linux/initrd.h
+++ b/include/linux/initrd.h
@@ -17,8 +17,8 @@ static inline void __init reserve_initrd_mem(void) {}
static inline void wait_for_initramfs(void) {}
#endif
-extern phys_addr_t phys_initrd_start;
-extern unsigned long phys_initrd_size;
+extern phys_addr_t phys_external_initramfs_start;
+extern unsigned long phys_external_initramfs_size;
extern char __builtin_initramfs_start[];
extern unsigned long __builtin_initramfs_size;
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index d5264e9a52e0..444182a76999 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -15,8 +15,8 @@
unsigned long initrd_start, initrd_end;
int initrd_below_start_ok;
-phys_addr_t phys_initrd_start __initdata;
-unsigned long phys_initrd_size __initdata;
+phys_addr_t phys_external_initramfs_start __initdata;
+unsigned long phys_external_initramfs_size __initdata;
static int __init early_initrdmem(char *p)
{
@@ -28,8 +28,8 @@ static int __init early_initrdmem(char *p)
if (*endp == ',') {
size = memparse(endp + 1, NULL);
- phys_initrd_start = start;
- phys_initrd_size = size;
+ phys_external_initramfs_start = start;
+ phys_external_initramfs_size = size;
}
return 0;
}
diff --git a/init/initramfs.c b/init/initramfs.c
index 2866d7a0afd7..6abe0a3ca4ce 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -610,7 +610,7 @@ void __init reserve_initrd_mem(void)
/* Ignore the virtul address computed during device tree parsing */
initrd_start = initrd_end = 0;
- if (!phys_initrd_size)
+ if (!phys_external_initramfs_size)
return;
/*
* Round the memory region to page boundaries as per free_initrd_mem()
@@ -618,8 +618,8 @@ void __init reserve_initrd_mem(void)
* are in use, but more importantly, reserves the entire set of pages
* as we don't want these pages allocated for other purposes.
*/
- start = round_down(phys_initrd_start, PAGE_SIZE);
- size = phys_initrd_size + (phys_initrd_start - start);
+ start = round_down(phys_external_initramfs_start, PAGE_SIZE);
+ size = phys_external_initramfs_size + (phys_external_initramfs_start - start);
size = round_up(size, PAGE_SIZE);
if (!memblock_is_region_memory(start, size)) {
@@ -636,8 +636,8 @@ void __init reserve_initrd_mem(void)
memblock_reserve(start, size);
/* Now convert initrd to virtual addresses */
- initrd_start = (unsigned long)__va(phys_initrd_start);
- initrd_end = initrd_start + phys_initrd_size;
+ initrd_start = (unsigned long)__va(phys_external_initramfs_start);
+ initrd_end = initrd_start + phys_external_initramfs_size;
initrd_below_start_ok = 1;
return;
--
2.47.2
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox