mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: menglong8.dong@gmail.com
To: mhiramat@kernel.org, mcgrof@kernel.org, josh@joshtriplett.org
Cc: viro@zeniv.linux.org.uk, keescook@chromium.org,
	samitolvanen@google.com, ojeda@kernel.org, johan@kernel.org,
	jeyu@kernel.org, masahiroy@kernel.org, dong.menglong@zte.com.cn,
	joe@perches.com, axboe@kernel.dk, jack@suse.cz, hare@suse.de,
	tj@kernel.org, gregkh@linuxfoundation.org, song@kernel.org,
	neilb@suse.de, akpm@linux-foundation.org, f.fainelli@gmail.com,
	wangkefeng.wang@huawei.com, arnd@arndb.de,
	linux@rasmusvillemoes.dk, brho@google.com, rostedt@goodmis.org,
	vbabka@suse.cz, pmladek@suse.com, glider@google.com,
	chris@chrisdown.name, jojing64@gmail.com, ebiederm@xmission.com,
	mingo@kernel.org, terrelln@fb.com, geert@linux-m68k.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	bhelgaas@google.com
Subject: [PATCH v3 0/3] init/initramfs.c: make initramfs support pivot_root
Date: Fri, 28 May 2021 22:37:59 +0800	[thread overview]
Message-ID: <20210528143802.78635-1-dong.menglong@zte.com.cn> (raw)

From: Menglong Dong <dong.menglong@zte.com.cn>

As Luis Chamberlain suggested, I split the patch:
[init/initramfs.c: make initramfs support pivot_root]
(https://lore.kernel.org/linux-fsdevel/20210520154244.20209-1-dong.menglong@zte.com.cn/)
into three.

The goal of the series patches is to make pivot_root() support initramfs.

In the first patch, I introduce the function ramdisk_exec_exist(), which
is used to check the exist of 'ramdisk_execute_command' in LOOKUP_DOWN
lookup mode.

In the second patch, I create a second mount, which is called
'user root', and make it become the root. Therefore, the root has a
parent mount, and it can be umounted or pivot_root.

In the third patch, I fix rootfs_fs_type with ramfs, as it is not used
directly any more, and it make no sense to switch it between ramfs and
tmpfs, just fix it with ramfs to simplify the code.


Changes since V2:

In the first patch, I use vfs_path_lookup() in init_eaccess() to make the
path lookup follow the mount on '/'. After this, the problem reported by
Masami Hiramatsu is solved. Thanks for your report :/


Changes since V1:

In the first patch, I add the flag LOOKUP_DOWN to init_eaccess(), to make
it support the check of filesystem mounted on '/'.

In the second patch, I control 'user root' with kconfig option
'CONFIG_INITRAMFS_USER_ROOT', and add some comments, as Luis Chamberlain
suggested.

In the third patch, I make 'rootfs_fs_type' in control of
'CONFIG_INITRAMFS_USER_ROOT'.



Menglong Dong (3):
  init/main.c: introduce function ramdisk_exec_exist()
  init/do_cmounts.c: introduce 'user_root' for initramfs
  init/do_mounts.c: fix rootfs_fs_type with ramfs

 fs/init.c            |  11 ++++-
 include/linux/init.h |   5 ++
 init/do_mounts.c     | 109 +++++++++++++++++++++++++++++++++++++++++++
 init/do_mounts.h     |  18 ++++++-
 init/initramfs.c     |  10 ++++
 init/main.c          |   7 ++-
 usr/Kconfig          |  10 ++++
 7 files changed, 166 insertions(+), 4 deletions(-)

-- 
2.32.0.rc0


             reply	other threads:[~2021-05-28 14:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-28 14:37 menglong8.dong [this message]
2021-05-28 14:38 ` [PATCH v3 1/3] init/main.c: introduce function ramdisk_exec_exist() menglong8.dong
2021-05-28 14:38 ` [PATCH v3 2/3] init/do_cmounts.c: introduce 'user_root' for initramfs menglong8.dong
2021-06-01 14:39   ` Christian Brauner
2021-06-02  2:56     ` Menglong Dong
2021-05-28 14:38 ` [PATCH v3 3/3] init/do_mounts.c: fix rootfs_fs_type with ramfs menglong8.dong
2021-05-29  2:26 ` [PATCH v3 0/3] init/initramfs.c: make initramfs support pivot_root Masami Hiramatsu
2021-06-01 13:55   ` Menglong Dong
2021-06-01 14:03     ` Matthew Wilcox
2021-06-01 14:25       ` Menglong Dong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210528143802.78635-1-dong.menglong@zte.com.cn \
    --to=menglong8.dong@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=axboe@kernel.dk \
    --cc=bhelgaas@google.com \
    --cc=brho@google.com \
    --cc=chris@chrisdown.name \
    --cc=dong.menglong@zte.com.cn \
    --cc=ebiederm@xmission.com \
    --cc=f.fainelli@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=glider@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hare@suse.de \
    --cc=jack@suse.cz \
    --cc=jeyu@kernel.org \
    --cc=joe@perches.com \
    --cc=johan@kernel.org \
    --cc=jojing64@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=keescook@chromium.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=masahiroy@kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@kernel.org \
    --cc=neilb@suse.de \
    --cc=ojeda@kernel.org \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=samitolvanen@google.com \
    --cc=song@kernel.org \
    --cc=terrelln@fb.com \
    --cc=tj@kernel.org \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    --cc=wangkefeng.wang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®