From: Hajime Tazaki <thehajime@gmail.com>
To: linux-um@lists.infradead.org
Cc: thehajime@gmail.com, ricarkol@google.com,
Liam.Howlett@oracle.com, linux-kernel@vger.kernel.org
Subject: [PATCH RESEND v11 00/13] nommu UML
Date: Thu, 18 Sep 2025 16:38:55 +0900 [thread overview]
Message-ID: <cover.1758181109.git.thehajime@gmail.com> (raw)
This patchset is another spin of nommu mode addition to UML. It would
be nice to hear about your opinions on that.
There are still several limitations/issues which we already found;
here is the list of those issues.
- memory mapped by loadable modules are not distinguished from
userspace memory.
-- Hajime
v11:
- clean up userspace return routine and integrate to userspace() ([04/13])
- fix direction flag issue on using nolibc memcpy ([04/13])
- fix a crash issue when using usermode helper ([06/13])
- test with out-of-tree kunit-uapi patches (which uses umh)
- https://lore.kernel.org/all/20250626-kunit-kselftests-v4-0-48760534fef5@linutronix.de/
- https://lore.kernel.org/all/20250626195714.2123694-3-benjamin@sipsolutions.net/
v10:
- fix wrong comment on gs register handling ([09/13])
- remove unnecessary code of early syscall implementation ([04/13])
- https://lore.kernel.org/all/cover.1750594487.git.thehajime@gmail.com/
v9:
- rebase with the latest uml/next branch
- add performance numbers of new SECCOMP mode, and update results ([12/13])
- add a workaround for upstream change on MMU depedency to PCI drivers ([10/13])
- https://lore.kernel.org/all/cover.1750294482.git.thehajime@gmail.com/
v8:
- rebase with the latest uml/next branch
- clean up segv_handler to align with the latest uml ([9/12])
- https://lore.kernel.org/all/cover.1745980082.git.thehajime@gmail.com/
v7:
- properly handle FP register upon signal delivery [10/13]
- update benchmark result with new FP register handling [12/13]
- fix arch_has_single_step() for !MMU case [07/13]
- revert stack alignment as it is in uml/fixes tree [10/13]
- https://lore.kernel.org/all/cover.1737348399.git.thehajime@gmail.com/
v6:
- rebase to the latest uml/next tree
- more clean up on mmu/nommu for signal handling [10/13]
- rename functions of mcontext routines [06,10/13]
- added Acked-by tag for binfmt_elf_fdpic [02/13]
- https://lore.kernel.org/linux-um/cover.1736853925.git.thehajime@gmail.com/
v5:
- clean up stack manipulation code [05,06,07,10/13]
- https://lore.kernel.org/linux-um/cover.1733998168.git.thehajime@gmail.com/
v4:
- add arch/um/nommu, arch/x86/um/nommu to contain !MMU specific codes
- remove zpoline patch
- drop binfmt_elf_fdpic patch
- reduce ifndef CONFIG_MMU if possible
- split to elf header cleanup patch [01/13]
- fix kernel test robot warnings [06/13]
- fix coding styles [07/13]
- move task_top_of_stack definition [05/13]
- https://lore.kernel.org/linux-um/cover.1733652929.git.thehajime@gmail.com/
v3:
- https://lore.kernel.org/linux-um/cover.1733199769.git.thehajime@gmail.com/
- add seccomp-based syscall hook in addition to zpoline [06/13]
- remove RFC, add a line to MAINTAINERS file
- fix kernel test robot warnings [02/13,08/13,10/13]
- add base-commit tag to cover letter
- pull the latest uml/next
- clean up SIGSEGV handling [10/13]
- detect fsgsbase availability with elf aux vector [08/13]
- simplify vdso code with macros [09/13]
RFC v2:
- https://lore.kernel.org/linux-um/cover.1731290567.git.thehajime@gmail.com/
- base branch is now uml/linux.git instead of torvalds/linux.git.
- reorganize the patch series to clean up
- fixed various coding styles issues
- clean up exec code path [07/13]
- fixed the crash/SIGSEGV case on userspace programs [10/13]
- add seccomp filter to limit syscall caller address [06/13]
- detect fsgsbase availability with sigsetjmp/siglongjmp [08/13]
- removes unrelated changes
- removes unneeded ifndef CONFIG_MMU
- convert UML_CONFIG_MMU to CONFIG_MMU as using uml/linux.git
- proposed a patch of maple-tree issue (resolving a limitation in RFC v1)
https://lore.kernel.org/linux-mm/20241108222834.3625217-1-thehajime@gmail.com/
RFC:
- https://lore.kernel.org/linux-um/cover.1729770373.git.thehajime@gmail.com/
Hajime Tazaki (13):
x86/um: nommu: elf loader for fdpic
um: decouple MMU specific code from the common part
um: nommu: memory handling
x86/um: nommu: syscall handling
um: nommu: seccomp syscalls hook
x86/um: nommu: process/thread handling
um: nommu: configure fs register on host syscall invocation
x86/um/vdso: nommu: vdso memory update
x86/um: nommu: signal handling
um: nommu: a work around for MMU dependency to PCI driver
um: change machine name for uname output
um: nommu: add documentation of nommu UML
um: nommu: plug nommu code into build system
Documentation/virt/uml/nommu-uml.rst | 180 ++++++++++++++++++++++
MAINTAINERS | 1 +
arch/um/Kconfig | 14 +-
arch/um/Makefile | 10 ++
arch/um/configs/x86_64_nommu_defconfig | 54 +++++++
arch/um/include/asm/dma.h | 13 ++
arch/um/include/asm/futex.h | 4 +
arch/um/include/asm/mmu.h | 8 +
arch/um/include/asm/mmu_context.h | 2 +
arch/um/include/asm/ptrace-generic.h | 8 +-
arch/um/include/asm/uaccess.h | 7 +-
arch/um/include/shared/kern_util.h | 6 +
arch/um/include/shared/os.h | 16 ++
arch/um/kernel/Makefile | 5 +-
arch/um/kernel/mem-pgtable.c | 55 +++++++
arch/um/kernel/mem.c | 38 +----
arch/um/kernel/process.c | 25 +++
arch/um/kernel/skas/process.c | 25 ---
arch/um/kernel/um_arch.c | 3 +
arch/um/nommu/Makefile | 3 +
arch/um/nommu/os-Linux/Makefile | 7 +
arch/um/nommu/os-Linux/seccomp.c | 87 +++++++++++
arch/um/nommu/os-Linux/signal.c | 24 +++
arch/um/nommu/trap.c | 201 +++++++++++++++++++++++++
arch/um/os-Linux/Makefile | 3 +-
arch/um/os-Linux/mem.c | 4 +
arch/um/os-Linux/process.c | 138 ++++++++++++++++-
arch/um/os-Linux/signal.c | 11 +-
arch/um/os-Linux/skas/process.c | 126 ----------------
arch/um/os-Linux/start_up.c | 25 ++-
arch/um/os-Linux/util.c | 3 +-
arch/x86/um/Makefile | 7 +-
arch/x86/um/asm/elf.h | 8 +-
arch/x86/um/asm/syscall.h | 6 +
arch/x86/um/nommu/Makefile | 8 +
arch/x86/um/nommu/do_syscall_64.c | 75 +++++++++
arch/x86/um/nommu/entry_64.S | 114 ++++++++++++++
arch/x86/um/nommu/os-Linux/Makefile | 6 +
arch/x86/um/nommu/os-Linux/mcontext.c | 26 ++++
arch/x86/um/nommu/syscalls.h | 18 +++
arch/x86/um/nommu/syscalls_64.c | 121 +++++++++++++++
arch/x86/um/shared/sysdep/mcontext.h | 5 +
arch/x86/um/shared/sysdep/ptrace.h | 2 +-
arch/x86/um/vdso/vma.c | 17 ++-
fs/Kconfig.binfmt | 2 +-
45 files changed, 1312 insertions(+), 209 deletions(-)
create mode 100644 Documentation/virt/uml/nommu-uml.rst
create mode 100644 arch/um/configs/x86_64_nommu_defconfig
create mode 100644 arch/um/kernel/mem-pgtable.c
create mode 100644 arch/um/nommu/Makefile
create mode 100644 arch/um/nommu/os-Linux/Makefile
create mode 100644 arch/um/nommu/os-Linux/seccomp.c
create mode 100644 arch/um/nommu/os-Linux/signal.c
create mode 100644 arch/um/nommu/trap.c
create mode 100644 arch/x86/um/nommu/Makefile
create mode 100644 arch/x86/um/nommu/do_syscall_64.c
create mode 100644 arch/x86/um/nommu/entry_64.S
create mode 100644 arch/x86/um/nommu/os-Linux/Makefile
create mode 100644 arch/x86/um/nommu/os-Linux/mcontext.c
create mode 100644 arch/x86/um/nommu/syscalls.h
create mode 100644 arch/x86/um/nommu/syscalls_64.c
base-commit: e66ae377fe219c98d3d5b8a0d35da4413a5390ca
--
2.43.0
next reply other threads:[~2025-09-18 7:39 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-18 7:38 Hajime Tazaki [this message]
2025-09-18 7:38 ` [PATCH RESEND v11 01/13] x86/um: nommu: elf loader for fdpic Hajime Tazaki
2025-09-18 7:38 ` [PATCH RESEND v11 02/13] um: decouple MMU specific code from the common part Hajime Tazaki
2025-09-18 7:38 ` [PATCH RESEND v11 03/13] um: nommu: memory handling Hajime Tazaki
2025-09-18 7:38 ` [PATCH RESEND v11 04/13] x86/um: nommu: syscall handling Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 05/13] um: nommu: seccomp syscalls hook Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 06/13] x86/um: nommu: process/thread handling Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 07/13] um: nommu: configure fs register on host syscall invocation Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 08/13] x86/um/vdso: nommu: vdso memory update Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 09/13] x86/um: nommu: signal handling Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 10/13] um: nommu: a work around for MMU dependency to PCI driver Hajime Tazaki
2025-09-18 8:30 ` Johannes Berg
2025-09-19 0:03 ` Hajime Tazaki
2025-09-19 7:24 ` Johannes Berg
2025-09-19 9:32 ` Hajime Tazaki
2025-09-19 9:38 ` Johannes Berg
2025-09-19 9:38 ` Johannes Berg
2025-09-19 9:43 ` Johannes Berg
2025-09-19 23:46 ` Hajime Tazaki
2025-09-22 6:32 ` Johannes Berg
2025-09-23 23:44 ` Hajime Tazaki
2025-09-23 15:42 ` Geert Uytterhoeven
2025-09-23 17:13 ` Johannes Berg
2025-09-23 23:51 ` Hajime Tazaki
2025-09-24 8:02 ` Geert Uytterhoeven
2025-09-24 11:03 ` Arnd Bergmann
2025-09-24 23:27 ` Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 11/13] um: change machine name for uname output Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 12/13] um: nommu: add documentation of nommu UML Hajime Tazaki
2025-09-18 7:39 ` [PATCH RESEND v11 13/13] um: nommu: plug nommu code into build system Hajime Tazaki
2025-09-18 10:39 ` [PATCH RESEND v11 00/13] nommu UML Lorenzo Stoakes
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=cover.1758181109.git.thehajime@gmail.com \
--to=thehajime@gmail.com \
--cc=Liam.Howlett@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=ricarkol@google.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;
as well as URLs for NNTP newsgroup(s).