lkml.org 
[lkml]   [2020]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectadd file system helpers that take kernel pointers for the init code v3
Date
Hi Al and Linus,

currently a lot of the file system calls in the early in code (and the
devtmpfs kthread) rely on the implicit set_fs(KERNEL_DS) during boot.
This is one of the few last remaining places we need to deal with to kill
off set_fs entirely, so this series adds new helpers that take kernel
pointers. These helpers are in init/ and marked __init and thus will
be discarded after bootup. A few also need to be duplicated in devtmpfs,
though unfortunately.

The series sits on top of my previous

"decruft the early init / initrd / initramfs code v2"

series.


Git tree:

git://git.infradead.org/users/hch/misc.git init_path

Gitweb:

http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/init_path


Changes since v2:
- move to fs/for-init.c
- reuse the init routines in devtmpfs after refactoring devtmpfsd
(and thus the broken error handling in the previous version)
- actually use kern_path in a place where user_path_at sneaked back in

Changes since v1:
- avoid most core VFS changes
- renamed the functions and move them to init/ and devtmpfs
- drop a bunch of cleanups that can be submitted independently now


Diffstat:
drivers/base/devtmpfs.c | 54 +++++----
drivers/md/md-autodetect.c | 3
fs/Makefile | 2
fs/for_init.c | 249 ++++++++++++++++++++++++++++++++++++++++++
fs/internal.h | 19 +--
fs/namei.c | 20 +--
fs/namespace.c | 107 ++++++++----------
fs/open.c | 22 +--
include/linux/init_syscalls.h | 18 +++
include/linux/syscalls.h | 66 -----------
init/do_mounts.c | 12 +-
init/do_mounts.h | 7 -
init/do_mounts_initrd.c | 26 ++--
init/do_mounts_rd.c | 2
init/initramfs.c | 29 ++--
init/main.c | 10 -
init/noinitramfs.c | 8 -
17 files changed, 423 insertions(+), 231 deletions(-)

\
 
 \ /
  Last update: 2020-07-26 09:15    [W:0.286 / U:1.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site