[SRU][PATCH 0/4] Backport mseal to ubuntu 24.04 LTS kernel 6.8.y

Jeff Xu jeffxu at chromium.org
Wed Jan 22 17:09:53 UTC 2025


Hi Juerg

On Wed, Jan 22, 2025 at 7:20 AM Juerg Haefliger
<juerg.haefliger at canonical.com> wrote:
>
> Hi Jeff,
>
>
> > From: Jeff Xu <jeffxu at chromium.org>
> >
> > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2089711
> >
> > [ Impact ]
> >
> > My name is Jeff Xu, I work with Stephen Röttger on hardening the chrome
> > browser. I'm reaching out to explore the possibility of backporting memory
> > sealing into the 22.04 LTS kernel.
> >
> > For context, it is worth noting that the Kernel introduces mseal support in
> > version 6.10 [1]. The Chrome V8 engine will utilize the memory sealing
> > function to protect its JIT compiler from memory corruption vulnerabilities.
> > The change is merged in Chrome, and we believe that Ubuntu users would benefit
> > from using this safer version of Chrome. In addition, Chrome uses Ubuntu LTS
> > extensively for testing, which makes ubuntu one of the first systems to have
> > this enhenced security of Chrome.
> >
> > glibc’s dynamic linker is adding mseal to seal RO mapping such
> > as .text, .rodata, .relco [2], the integration test is completed.
> >
> > The backport work includes 4 commits, and is based on 6.8.12 kernel.
> >
> > ChromeOS and Android GKI both have the mseal backported to
> > the 6.6 kernel [3] [4] [5] [6]
> >
> > Thank you for your time and consideration.
> > Best regards,
> > Jeff
> >
> > [1] https://docs.kernel.org/userspace-api/mseal.html
> > [2] https://sourceware.org/pipermail/libc-alpha/2024-September/160291.html
> > [3] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5595211/4
> > [4] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5595853/4
> > [5] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5742931
> > [6] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5802772
> >
> > [ Test Plan ]
> > The test is performed by running selftest (mseal_test) on 6.8 kernel with the backport.
> > I didn't include selftest as part of backport because there are many revisions of the tests
> > I believe it is unnecessary to backport those.
> >
> > [ Where problems could occur ]
> > This is not bug, backporting this will enable chrome browser's security enhencement.
> >
> > [ Other Info ]
> > None.
>
> Thanks for this. I'm not sure though. glibc in Noble is too old so only
> chrome would benefit, correct? Given that the 6.11 HWE kernel should have
> mseal support, I'm hesitant to entertain a backport to 6.8. We typically
> don't backport new features. I haven't looked at how intrusive this backport
> even is. We're having an internal discussion.
>
When will the next ubuntu LTE version be released ? Is that based on 6.11 ?

Thanks
-Jeff


> ...Juerg
>
>
> >
> >
> > Jeff Xu (3):
> >   mseal: wire up mseal syscall
> >   mseal: add mseal syscall
> >   /proc/pid/smaps: add mseal info for vma
> >
> > Pedro Falcato (1):
> >   mseal: fix is_madv_discard()
> >
> >  Documentation/filesystems/proc.rst          |   1 +
> >  arch/alpha/kernel/syscalls/syscall.tbl      |   1 +
> >  arch/arm/tools/syscall.tbl                  |   1 +
> >  arch/arm64/include/asm/unistd.h             |   2 +-
> >  arch/arm64/include/asm/unistd32.h           |   2 +
> >  arch/m68k/kernel/syscalls/syscall.tbl       |   1 +
> >  arch/microblaze/kernel/syscalls/syscall.tbl |   1 +
> >  arch/mips/kernel/syscalls/syscall_n32.tbl   |   1 +
> >  arch/mips/kernel/syscalls/syscall_n64.tbl   |   1 +
> >  arch/mips/kernel/syscalls/syscall_o32.tbl   |   1 +
> >  arch/parisc/kernel/syscalls/syscall.tbl     |   1 +
> >  arch/powerpc/kernel/syscalls/syscall.tbl    |   1 +
> >  arch/s390/kernel/syscalls/syscall.tbl       |   1 +
> >  arch/sh/kernel/syscalls/syscall.tbl         |   1 +
> >  arch/sparc/kernel/syscalls/syscall.tbl      |   1 +
> >  arch/x86/entry/syscalls/syscall_32.tbl      |   1 +
> >  arch/x86/entry/syscalls/syscall_64.tbl      |   1 +
> >  arch/xtensa/kernel/syscalls/syscall.tbl     |   1 +
> >  fs/proc/task_mmu.c                          |   3 +
> >  include/linux/mm.h                          |   5 +
> >  include/linux/syscalls.h                    |   1 +
> >  include/uapi/asm-generic/unistd.h           |   5 +-
> >  kernel/sys_ni.c                             |   1 +
> >  mm/Makefile                                 |   4 +
> >  mm/internal.h                               |  32 ++
> >  mm/madvise.c                                |  12 +
> >  mm/mmap.c                                   |  31 +-
> >  mm/mprotect.c                               |  10 +
> >  mm/mremap.c                                 |  31 ++
> >  mm/mseal.c                                  | 315 ++++++++++++++++++++
> >  30 files changed, 467 insertions(+), 3 deletions(-)
> >  create mode 100644 mm/mseal.c
> >
>



More information about the kernel-team mailing list