To allow blkid to visit block_devices attributes via low level probing, so that
we can get information like partition table type or PART_ENTRY_UUID
which could be useful for script based snap without parsing
/run/udev/data/b{major}:{minor}.
Signed-off-by: Hsieh-Tseng Shen <woodrow.shen@canonical.com>
Add permissions to the connected slot so MM can actually talk to
incoming connections to mbim/qmi proxies. Remove "accept" from the
permanent slot, as it is not actually the right place for it.
The official libnm client library uses the
ObjectManager.GetManagedObjects() DBus interface method to query properties
from NetworkManager, as well as using the InterfacesAdded /
InterfacesRemoved signals, so update this interface to provide access to
that, plus ensure they can also receive the PropertiesChanged signal from
NetworkManager objects as well as this is also required.
This change should also allow Dart applications which use the nm.dart library to
get interface addresses etc without requiring to use the more privileged
network-manager interface, as this library is similar to libnm:
https://forum.snapcraft.io/t/request-auto-connect-network-manager-for-cybear-jinni-app-again/26520
* interfaces/dsp: add more ambarella things
As per customer ticket 00321783.
Signed-off-by: Ian Johnson <ian.johnson@canonical.com>
* interfaces/builtin/dsp_test.go: adjust tests too
Signed-off-by: Ian Johnson <ian.johnson@canonical.com>
Recent combinations of Go 1.17, glibc 2.34 and Linux 5.14 ended up triggering
pthread_create() code paths that try to use clone3() syscall when executing
snap-exec. Since snap-exec runs under the seccomp profile of the application,
make sure that clone3 is allowed in the default template. Also, applications may
trigger this code path themselves anyway.
The strace output when this fails looks like this:
mprotect(0x7f4ad3ea2000, 8388608, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1], 8) = 0
syscall_435(0x7ffc466b4c60, 0x58, 0x58b300, 0x8, 0x7f4ad46a1640, 0x7ffc466b4d4f) = -1 (errno 1)
rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
write(2, "runtime/cgo: ", 13runtime/cgo: ) = 13
write(2, "pthread_create failed: Operation not permitted", 46pthread_create
failed: Operation not permitted) = 46
Where syscall 435 is also known as clone3:
$ scmp_sys_resolver 435
clone3
Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>