getuid() is called indirectly by libparted during file system bootstrap when using a gpt partitioned disk. This is within uuid_generate() in libuuid. Returning the root uid 0 at this time is appropriate as a special case. --- sysdeps/mach/hurd/getuid.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sysdeps/mach/hurd/getuid.c b/sysdeps/mach/hurd/getuid.c index 7de221c945..4520919934 100644 --- a/sysdeps/mach/hurd/getuid.c +++ b/sysdeps/mach/hurd/getuid.c @@ -27,6 +27,10 @@ __getuid (void) error_t err; uid_t uid; + if (_hurd_ports == NULL) + /* We are still in system bootstrap. */ + return 0; + retry: HURD_CRITICAL_BEGIN; __mutex_lock (&_hurd_id.lock); -- 2.47.3
