lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 9 Jun 2021 23:03:12 +0900
From:   Masami Hiramatsu <mhiramat@...nel.org>
To:     menglong8.dong@...il.com
Cc:     christian.brauner@...ntu.com, viro@...iv.linux.org.uk,
        keescook@...omium.org, samitolvanen@...gle.com, johan@...nel.org,
        ojeda@...nel.org, jeyu@...nel.org, masahiroy@...nel.org,
        joe@...ches.com, dong.menglong@....com.cn, jack@...e.cz,
        hare@...e.de, axboe@...nel.dk, tj@...nel.org,
        gregkh@...uxfoundation.org, song@...nel.org, neilb@...e.de,
        akpm@...ux-foundation.org, linux@...musvillemoes.dk,
        brho@...gle.com, f.fainelli@...il.com, palmerdabbelt@...gle.com,
        wangkefeng.wang@...wei.com, mhiramat@...nel.org,
        rostedt@...dmis.org, vbabka@...e.cz, glider@...gle.com,
        pmladek@...e.com, johannes.berg@...el.com, ebiederm@...ssion.com,
        jojing64@...il.com, terrelln@...com, geert@...ux-m68k.org,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
        mcgrof@...nel.org, arnd@...db.de, chris@...isdown.name,
        mingo@...nel.org, bhelgaas@...gle.com, josh@...htriplett.org
Subject: Re: [PATCH v6 0/2] init/initramfs.c: make initramfs support
 pivot_root

On Sat,  5 Jun 2021 11:44:45 +0800
menglong8.dong@...il.com wrote:

> From: Menglong Dong <dong.menglong@....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.

Hi,

I have tested this series on qemu with shell script container on initramfs.
It works for me!

Tested-by: Masami Hiramatsu <mhiramat@...nel.org>

Thank you,

> 
> 
> Changes since V5:
> 
> Remove the third patch and make it combined with the second one.
> 
> 
> Changes since V4:                                                                                                                                                     
>                                                                                                                                                                       
> Do some more code cleanup for the second patch, include:                                                                                                              
> - move 'ramdisk_exec_exist()' to 'init.h'                                                                                                                             
> - remove unnecessary struct 'fs_rootfs_root'                                                                                                                          
> - introduce 'revert_mount_rootfs()'                                                                                                                                   
> - [...]                                                                                                                                                               
> 
> 
> Changes since V3:
> 
> Do a code cleanup for the second patch, as Christian Brauner suggested:
> - remove the concept 'user root', which seems not suitable.
> - introduce inline function 'check_tmpfs_enabled()' to avoid duplicated
>   code.
> - rename function 'mount_user_root' to 'prepare_mount_rootfs'
> - rename function 'end_mount_user_root' to 'finish_mount_rootfs'
> - join 'init_user_rootfs()' with 'prepare_mount_rootfs()'
> 
> 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 (2):
>   init/do_mounts.c: create second mount for initramfs
>   init/do_mounts.c: fix rootfs_fs_type with ramfs
> 
>  include/linux/init.h |   4 ++
>  init/do_mounts.c     | 101 ++++++++++++++++++++++++++++++++++++++++---
>  init/do_mounts.h     |  16 ++++++-
>  init/initramfs.c     |   8 ++++
>  usr/Kconfig          |  10 +++++
>  5 files changed, 131 insertions(+), 8 deletions(-)
> 
> -- 
> 2.32.0.rc0
> 


-- 
Masami Hiramatsu <mhiramat@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ