apparmor_stacking
check to fail and print the message you mentioned above.sudo criu check --feature apparmor_stacking || echo 'apparmor stacking not supported'
(00.339232) pie: 2565: restoring lsm profile (current) unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
(00.446113) pie: 2562: restoring lsm profile (current) unconfined_u:unconfined_r:xserver_t:s0-s0:c0.c1023
(00.447109) pie: 2562: Error (criu/pie/restorer.c:180): can't write lsm profile -13
Try setenforce 0 for a quick check to see if disabling selinux helps
That works!
I'm seeing the following build break on Fedora Rawhide:
In file included from criu/pie/util.c:3:
/usr/include/sys/mount.h:240:6: error: redeclaration of 'enum fsconfig_command'
240 | enum fsconfig_command
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/sys/mount.h:32:
criu/include/linux/mount.h:11:6: note: originally defined here
11 | enum fsconfig_command {
| ^~~~~~~~~~~~~~~~
I thought it was fixed by checkpoint-restore/criu#1943 but it looks like /usr/include/sys/mount.h
has
30 #ifdef __has_include
31 # if __has_include ("linux/mount.h")
32 # include "linux/mount.h"
33 # endif
34 #endif
which normally finds /usr/include/linux/mount.h
but when building CRIU instead grabs criu/include/linux/mount.h
. Was that the intention? @rst0git any idea?
Reproduce:
[snorch@turmoil test]$ cat include/linux/mount.h
enum fsconfig_command {
FSCONFIG_SET_FLAG = 10,
};
[snorch@turmoil test]$ cat test.c
#include <stdio.h>
/* Include new glibc sys/mount.h header */
#include "/home/snorch/devel/general/glibc/sysdeps/unix/sysv/linux/sys/mount.h"
int main () {
printf("%d\n", FSCONFIG_SET_FLAG);
return 0;
}
[snorch@turmoil test]$ gcc -o test -I include test.c
In file included from test.c:2:
/home/snorch/devel/general/glibc/sysdeps/unix/sysv/linux/sys/mount.h:240:6: error: redeclaration of ‘enum fsconfig_command’
240 | enum fsconfig_command
| ^~~~~~~~~~~~~~~~
In file included from /home/snorch/devel/general/glibc/sysdeps/unix/sysv/linux/sys/mount.h:32:
include/linux/mount.h:1:6: note: originally defined here
1 | enum fsconfig_command {
| ^~~~~~~~~~~~~~~~
/home/snorch/devel/general/glibc/sysdeps/unix/sysv/linux/sys/mount.h:242:3: error: redeclaration of enumerator ‘FSCONFIG_SET_FLAG’
242 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
| ^~~~~~~~~~~~~~~~~
include/linux/mount.h:2:9: note: previous definition of ‘FSCONFIG_SET_FLAG’ with type ‘enum fsconfig_command’
2 | FSCONFIG_SET_FLAG = 10,
| ^~~~~~~~~~~~~~~~~
Let's wait for second opinion on it.
criu/include/linux/mount.h
was introduced in commit: checkpoint-restore/criu@b5b1c4elinux/mount.h
, but the subfolder name (sys
or linux
) in the criu source tree does not make any difference.
enum fsconfig_command
was recently added to sys/mount.h
: