2.6.0-test3: setuid32(8) returns EAGAIN (WTF?!)

From: Felix von Leitner
Date: Sat Aug 16 2003 - 20:07:23 EST


I just changed from 2.5.75 to 2.6.0-test3 and suddenly my imap server
fails to start (it's dovecot). It wrote to syslog:

Aug 17 02:58:02 hellhound dovecot: Dovecot starting up
Aug 17 02:58:03 hellhound imap-login: setuid(8) failed: Resource temporarily unavailable
Aug 17 02:58:03 hellhound dovecot: Login process died too early - shutting down

So I strace -f it, and sure enough, here is what happens:

[init, fork, tzfile...]
8094 chroot("/var/run/dovecot//login") = 0
8094 chdir("/") = 0
8094 setuid32(0x8) = -1 EAGAIN (Resource temporarily unavailable)

Now this does not appear to be a valid return value for setuid32, and
my understanding of POSIX and Susv3 is that dovecot is absolutely right
in barfing at this.

Why is this happening? Please fix!

Felix

PS: Time for a brown paper bag bug-fix release, if you ask me.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/