Looking at the termination of t_immutable test program:
ARM: mprotect(0xffff86092000, 4096, PROT_READ) = 0 mprotect(0xffff860b3000, 4096, PROT_READ) = 0 munmap(0xffff86295000, 38279) = 0 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 4 lseek(4, 0, SEEK_CUR) = 0 fstat(4, {st_mode=S_IFREG|0644, st_size=1682, ...}) = 0 mmap(NULL, 1682, PROT_READ, MAP_SHARED, 4, 0) = 0xffff8629e000 lseek(4, 1682, SEEK_SET) = 1682 munmap(0xffff8629e000, 1682) = 0 close(4) = 0 dup(2) = 4 fcntl(4, F_GETFL) = 0x20002 (flags O_RDWR|0x20000) fstat(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 write(4, "acl: Function not implemented\n", 30acl: Function not implemented ) = 30 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++
x86 at same place: mprotect(0x7f677e46f000, 4096, PROT_READ) = 0 mprotect(0x7f677e67d000, 4096, PROT_READ) = 0 munmap(0x7f677f097000, 165753) = 0 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 4 lseek(4, 0, SEEK_CUR) = 0 fstat(4, {st_mode=S_IFREG|0644, st_size=3023, ...}) = 0 mmap(NULL, 3023, PROT_READ, MAP_SHARED, 4, 0) = 0x7f677f0bf000 lseek(4, 3023, SEEK_SET) = 3023 munmap(0x7f677f0bf000, 3023) = 0 close(4) = 0 fsetxattr(3, "system.posix_acl_access", "\2\0\0\0\1\0\6\0\377\377\377\377\2\0\6\0\376\377\0\0\4\0\6\0\377\377\377\377\20\0\6", 44, 0) = -1 EOPNOTSUPP (Operation not supported) fsetxattr(3, "trusted.test", "readonly", 8, XATTR_CREATE) = 0 fsetxattr(3, "user.test", "readonly", 8, XATTR_CREATE) = 0 ..etc
So it's something different in the test program in the acl handling side
Looking at the termination of t_immutable test program:
ARM: 0xffff86092000, 4096, PROT_READ) = 0 0xffff860b3000, 4096, PROT_READ) = 0 0xffff86295000, 38279) = 0 S_IFREG| 0644, st_size=1682, ...}) = 0 0xffff8629e000, 1682) = 0 S_IFCHR| 0620, st_rdev= makedev( 136, 0), ...}) = 0
mprotect(
mprotect(
munmap(
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
lseek(4, 0, SEEK_CUR) = 0
fstat(4, {st_mode=
mmap(NULL, 1682, PROT_READ, MAP_SHARED, 4, 0) = 0xffff8629e000
lseek(4, 1682, SEEK_SET) = 1682
munmap(
close(4) = 0
dup(2) = 4
fcntl(4, F_GETFL) = 0x20002 (flags O_RDWR|0x20000)
fstat(4, {st_mode=
write(4, "acl: Function not implemented\n", 30acl: Function not implemented
) = 30
close(4) = 0
exit_group(1) = ?
+++ exited with 1 +++
x86 at same place: 0x7f677e46f000, 4096, PROT_READ) = 0 0x7f677e67d000, 4096, PROT_READ) = 0 0x7f677f097000, 165753) = 0 S_IFREG| 0644, st_size=3023, ...}) = 0 0x7f677f0bf000, 3023) = 0 posix_acl_ access" , "\2\0\0\ 0\1\0\6\ 0\377\377\ 377\377\ 2\0\6\0\ 376\377\ 0\0\4\0\ 6\0\377\ 377\377\ 377\20\ 0\6", 44, 0) = -1 EOPNOTSUPP (Operation not supported)
mprotect(
mprotect(
munmap(
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
lseek(4, 0, SEEK_CUR) = 0
fstat(4, {st_mode=
mmap(NULL, 3023, PROT_READ, MAP_SHARED, 4, 0) = 0x7f677f0bf000
lseek(4, 3023, SEEK_SET) = 3023
munmap(
close(4) = 0
fsetxattr(3, "system.
fsetxattr(3, "trusted.test", "readonly", 8, XATTR_CREATE) = 0
fsetxattr(3, "user.test", "readonly", 8, XATTR_CREATE) = 0
..etc
So it's something different in the test program in the acl handling side