r297225 broke udp_output() for the case where the "addr" argument
authorrmacklem <rmacklem@FreeBSD.org>
Sat, 1 Oct 2016 19:39:09 +0000 (19:39 +0000)
committerrmacklem <rmacklem@FreeBSD.org>
Sat, 1 Oct 2016 19:39:09 +0000 (19:39 +0000)
commit1ed6d7ee6712d4b8a6de29a98673f2bdbb5ffa2b
tree4d4bc1e856933670ede361dcdd991514ec217fad
parente5cb8bc09699a16040402db5c399775598a6229b
r297225 broke udp_output() for the case where the "addr" argument
is NULL and the function jumps to the "release:" label.
For this case, the "inp" was write locked, but the code attempted to
read unlock it. This patch fixes the problem.
This case could occur for NFS over UDP mounts, where the server was
down for a few minutes under certain circumstances.

Reported by: bde
Tested by: bde
Reviewed by: gnn
MFC after: 2 weeks
sys/netinet/udp_usrreq.c