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]
Message-ID: <cb1cf0be-871d-4982-9a1b-5fdd54deec8d@lucifer.local>
Date: Thu, 18 Sep 2025 11:39:53 +0100
From: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
To: Hajime Tazaki <thehajime@...il.com>
Cc: linux-um@...ts.infradead.org, ricarkol@...gle.com, Liam.Howlett@...cle.com,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND v11 00/13] nommu UML

On Thu, Sep 18, 2025 at 04:38:55PM +0900, Hajime Tazaki wrote:
> 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

I think this will need attention of um people etc. but THANK YOU for sending
this :)

If we can get this in that'd be _very useful_ for nommu testing for us in mm
especially :)

Cheers, Lorenzo

>
> 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
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ