Files
snapd/tests/lib
James Henstridge 1f8164c1fd interfaces: add a steam-support interface (#11708)
This interface is intended to provide some additional permissions needed by the steam snap.

At present, this is primarily AppArmor and seccomp rules to allow Steam to launch pressure-vessel containers, which it uses to provide a consistent runtime environment to some games (at the moment mainly Windows games it runs under Proton/Wine). PV is based on Bubblewrap, as used by Flatpak and various other process sandboxes on GNOME systems.

Related to getting Steam games to run, I've added the futex_waitv syscall to the base template. Although the Ubuntu kernels don't yet support this syscall, we want to let Proton try to call it so it will fall back to the old futex API. As this has essentially the same security concerns as the existing futex syscalls, it seemed sensible to add it to the base template rather than the steam-support interface.

snap-seccomp knows about this syscall as of 15th April, when PR #11674 was merged.

* interfaces: add a steam-support interface with permissions needed to set up pressure-vessel containers

* interfaces/seccomp: add futex_waitv to the base template

This is a new syscall used to wait on multiple futexes at once, and
Wine/Proton will attempt to use it if the kernel supports it. Blocking
access prevents it from falling back to the other futex related
syscalls.

* tests: add steam-support to policy snap

* interfaces: limit proc access to same owner in steam interface

* interfaces: lock down the remount AppArmor rules for steam-support

* interfaces: allow pressure-vessel to mount tmpfs to mask certain directories

* interfaces/policy: add base declaration tests for steam-support
2022-04-29 21:20:40 +02:00
..
2021-08-24 15:16:37 -03:00
2022-02-11 14:30:36 +01:00
2022-02-11 14:30:36 +01:00