]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
* Handle SIGPIPE in gssd
authorsef <sef@FreeBSD.org>
Thu, 21 Feb 2019 01:30:37 +0000 (01:30 +0000)
committersef <sef@FreeBSD.org>
Thu, 21 Feb 2019 01:30:37 +0000 (01:30 +0000)
commit0a594400b5424db0e00edd8921715d4be352d349
tree1e4afad613e00d4c7d212f52b30f27235112ca0e
parent67c682938085e5d5c2076fc545c1db678787f579
* Handle SIGPIPE in gssd
We've got some cases where the other end of gssd's AF_LOCAL socket gets
closed, resulting in an error (and SIGPIPE) when it tries to do I/O to it.
Closing without cleaning up means the next time nfsd starts up, it hangs,
unkillably; this allows gssd to handle that particular error.

* Limit the retry cound in gssd_syscall to 5.
The default is INT_MAX, which effectively means forever.  And it's an
uninterruptable RPC call, so it will never stop.

The two changes mitigate the problem.

Reviewed by: macklem
MFC after: 2 weeks
Sponsored by: iXsystems Inc.
Differential Revision: https://reviews.freebsd.org/D19153
sys/kgssapi/gss_impl.c
usr.sbin/gssd/gssd.c