]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
There are various cases where we modify the inp_vflag and inp_inc.inc_flags
authorgordon <gordon@FreeBSD.org>
Thu, 27 Sep 2018 18:50:10 +0000 (18:50 +0000)
committergordon <gordon@FreeBSD.org>
Thu, 27 Sep 2018 18:50:10 +0000 (18:50 +0000)
commit854244afa3ccf0baa19ea60569bedd26267cf534
tree5f9b3bc18d0de31ed73fa8584202f3cf82627158
parent7d66fd1e932a68e0bd893f0a19724069d5c80ace
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
sys/netinet/tcp_usrreq.c
sys/netinet6/sctp6_usrreq.c
sys/netinet6/udp6_usrreq.c