[krbdev.mit.edu #7454] select on set of all bad fds

problems@stud.informatik.uni-erlangen.de via RT rt-comment at krbdev.mit.edu
Wed Nov 21 10:31:03 EST 2012


Submitter-Id:  new
Originator:    Johannes Schilling
Confidential:  no
Synopsis:      select on set of all bad fds
Severity:      non-critical
Priority:      medium
Category:      krb5-libs
Class:         sw-bug
Release:       1.10.1+dfsg
Environment:   debian wheezy, various machines. all have the debian
wheezy 1.10.1+dfsg kerberos packages installed. // TODO: wollen die mehr?
System:        Linux 3.0.31 #1 SMP x86_64 GNU/Linux
Machine:       x86_64
Description:   in src/lib/krb5/os/sendto_kdc.c:service_fds we iterate
over all fds in conns, doing a "continue" if the current fd is <0
(INVALID_SOCKET). now from time to time it happened that all these fds
were bad, so select() immediately returned, but nothing was done inside
the handling loop, so select() is called again, immediately returning,
... ssh was still functional, but sshds with >500 cpu-hours at 600h
uptime are not the nicest of things.
How-To-Repeat:  this is where i'm not exactly sure. setup sshd with
kerberos and wait.
Fix:            the attached patch checks if any fds are ok, and if not
returns 1, the error-code for which is also used if select failed, and
which is checked by the calling function so things can be
retried/aborted/...




More information about the krb5-bugs mailing list