]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
There are various cases where we modify the inp_vflag and inp_inc.inc_flags
authorgordon <gordon@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 27 Sep 2018 18:48:50 +0000 (18:48 +0000)
committergordon <gordon@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 27 Sep 2018 18:48:50 +0000 (18:48 +0000)
commit063cc799d08bf38b2fcdf933d57a3878200ed905
tree4294b0db5db6bc1581dcf819f74915fbccef523b
parente0171baa26f59a61cec6f192e9a3cf145a6d9e53
There are various cases where we modify the inp_vflag and inp_inc.inc_flags
fields during a syscall, but don't restore those fields if the operation
fails.  This can leave the inp structure in an inconsistent state and cause
various problems.

Restore the inp_vflag and inp_inc.inc_flags fields when the underlying
operation fails and the inp could be in an inconsistent state.

This is a direct commit to the branch as the code is different enough in
the other branches to make it difficult to resolve a merge.

Submitted by: jtl@
Reported by: Jakub Jirasek, Secunia Research at Flexera
Reviewed by: jhb@
Approved by: so
Security: FreeBSD-EN-18:11.listen
Security: CVE-2018-6925

git-svn-id: svn://svn.freebsd.org/base/stable/10@338985 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netinet/tcp_usrreq.c
sys/netinet6/sctp6_usrreq.c
sys/netinet6/udp6_usrreq.c