[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40837: core-updates: webkitgtk web process sandbox incomplete
From: |
Marius Bakke |
Subject: |
bug#40837: core-updates: webkitgtk web process sandbox incomplete |
Date: |
Wed, 06 May 2020 18:39:20 +0200 |
User-agent: |
Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
Hello Jack,
Thanks a lot for this work.
Jack Hill <address@hidden> writes:
> Some additional observations:
>
> With my patched webkitgtk, if I set:
>
> PULSE_CLIENTCONFIG=/gnu/store/zc4dsmvdabi00nvisrjhi9w00ff4igs7-client.conf
>
> it does work, which is an improvement compared to without the patch.
Great. I have attached a patch for Guix that stops using /etc for these
variables.
> I notice that Nix [0] has a similar patch:
>
> """
> diff -ru
> old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> ---
> old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> 2019-09-09 04:47:07.000000000 -0400
> +++
> webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> 2019-09-20 21:14:10.537921173 -0400
> @@ -585,7 +585,7 @@
> { SCMP_SYS(keyctl), nullptr },
> { SCMP_SYS(request_key), nullptr },
>
> - // Scary VM/NUMA ops
> + // Scary VM/NUMA ops
> { SCMP_SYS(move_pages), nullptr },
> { SCMP_SYS(mbind), nullptr },
> { SCMP_SYS(get_mempolicy), nullptr },
> @@ -724,6 +724,10 @@
> "--ro-bind-try", "/usr/local/lib64", "/usr/local/lib64",
>
> "--ro-bind-try", PKGLIBEXECDIR, PKGLIBEXECDIR,
> +
> + // Nix Directories
> + "--ro-bind", "@storeDir@", "@storeDir@",
> + "--ro-bind", "/run/current-system", "/run/current-system",
> };
> // We would have to parse ld config files for more info.
> bindPathVar(sandboxArgs, "LD_LIBRARY_PATH");
> """
>
> [0]
> https://github.com/NixOS/nixpkgs/blob/465566948393cf533e3617704d1c4ccc34cf3753/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch
>
> so I wonder if I didn't do the mounts in the right place and or if it is
> becasue I missed /run/current-system.
>
> I'm going to try to adapt the Nix patch to see if that helps.
Were you able to verify whether /run/current-system is required inside
the sandbox?
I cleaned up your patch a bit and rebased it on the latest master
branch, available as patch 2/2 below. Currently building it on
'core-updates' to verify that it works. It takes a while on my dinky
quad-core server though. :-)
It does not bind /run/current-system, and I think we should avoid it if
possible. Ideally we would only mount the store paths required by the
consumers instead of all of /gnu/store, but not sure how to achieve
that.
0001-services-Do-not-use-symbolic-links-in-PulseAudio-var.patch
Description: Text Data
0002-gnu-webkitgtk-Patch-to-share-store-via-Bubblewrap.patch
Description: Text Data
signature.asc
Description: PGP signature
- bug#40837: core-updates: webkitgtk web process sandbox incomplete,
Marius Bakke <=