Yes, and it doesn't matter whether you use the interpreter from the
build directory or the default one (the binary has PF_INTERP set to /lib
/ld-linux-aarch64.so.1 but the testsuite invokes it with the one from
the build tree).
Some gdb time later, it transpires that this is systemd's fault :) (at
least partially)
I'm a bit hazy on NSS in general, but valid uids present in /etc/passwd
are (I assume) found by the "compat" nss module. Ones that are not found
there are sent off to the libnss-systemd.so.
In there, _nss_systemd_getpwuid_r calls userdb_getpwuid which calls
userdb_nss_compat_is_enabled which calls userdb_thread_sockaddr which
calls getauxval(AT_RANDOM) which for some reason in this situation
_fails_. userdb_thread_sockaddr then returns -EIO which leads to
userdb_getpwuid setting errnop to EIO and returning NSS_STATUS_UNAVAIL
which leads to _nss_systemd_getpwuid_r setting its errnop to EIO and
that's what the test program sees as errno.
This leads me to this experiment:
ubuntu@juju-b11c42-ubuntu-24:~$ cat getauxval.c
#include <sys/auxv.h>
#include <stdio.h>
int main(int argc, char** argv) {
printf("%lu\n", getauxval(AT_RANDOM));
}
ubuntu@juju-b11c42-ubuntu-24:~$ gcc -o getauxval getauxval.c
ubuntu@juju-b11c42-ubuntu-24:~$ ./getauxval
281474825715272
ubuntu@juju-b11c42-ubuntu-24:~$ /lib/ld-linux-aarch64.so.1 ./getauxval
0
which seems like a bug (it doesn't happen on amd64 or s390x).
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1869364
Title:
glibc pwd/test-getpw test failures in autopkgtest
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1869364/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs