diff --git a/common/flatpak-common-types-private.h b/common/flatpak-common-types-private.h index a5123be74..842e958d8 100644 --- a/common/flatpak-common-types-private.h +++ b/common/flatpak-common-types-private.h @@ -46,6 +46,7 @@ typedef enum { FLATPAK_RUN_FLAG_BLUETOOTH = (1 << 16), FLATPAK_RUN_FLAG_CANBUS = (1 << 17), FLATPAK_RUN_FLAG_DO_NOT_REAP = (1 << 18), + FLATPAK_RUN_FLAG_NO_PROC = (1 << 19), } FlatpakRunFlags; typedef struct FlatpakDir FlatpakDir; diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index e89c49dc9..6f0526d29 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -6786,7 +6786,7 @@ apply_extra_data (FlatpakDir *self, NULL); if (!flatpak_run_setup_base_argv (bwrap, runtime_files, NULL, runtime_ref_parts[2], - FLATPAK_RUN_FLAG_NO_SESSION_HELPER, + FLATPAK_RUN_FLAG_NO_SESSION_HELPER | FLATPAK_RUN_FLAG_NO_PROC, error)) return FALSE; diff --git a/common/flatpak-run.c b/common/flatpak-run.c index e967c8364..16faf9b72 100644 --- a/common/flatpak-run.c +++ b/common/flatpak-run.c @@ -2606,9 +2606,13 @@ flatpak_run_setup_base_argv (FlatpakBwrap *bwrap, "# Disable user pkcs11 config, because the host modules don't work in the runtime\n" "user-config: none\n"; + if ((flags & FLATPAK_RUN_FLAG_NO_PROC) == 0) + flatpak_bwrap_add_args (bwrap, + "--proc", "/proc", + NULL); + flatpak_bwrap_add_args (bwrap, "--unshare-pid", - "--proc", "/proc", "--dir", "/tmp", "--dir", "/var/tmp", "--dir", "/run/host",