<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/netgraph/ng_socket.c, branch releng/14.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-04-16T04:34:56Z</updated>
<entry>
<title>ng_socket: Treat EEXIST from kern_kldload() as success</title>
<updated>2024-04-16T04:34:56Z</updated>
<author>
<name>Zhenlei Huang</name>
<email>zlei@FreeBSD.org</email>
</author>
<published>2024-04-09T10:04:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2e8d60c6854006a391491bc2c1c48c459c32e2c4'/>
<id>urn:sha1:2e8d60c6854006a391491bc2c1c48c459c32e2c4</id>
<content type='text'>
EEXIST is possible in a race condition.

Inspired by:	ffc72591b1f5 (Don't worry if a module is already loaded ...)
Reviewed by:	glebius
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D44633

(cherry picked from commit f6f67f58c19db4f25f5c2cf4869efc7054493a55)
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:11Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=95ee2897e98f5d444f26ed2334cc7c439f9c16c6'/>
<id>urn:sha1:95ee2897e98f5d444f26ed2334cc7c439f9c16c6</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>protosw: refactor protosw and domain static declaration and load</title>
<updated>2022-08-17T18:50:32Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2022-08-17T18:50:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e7d02be19d40063783d6b8f1ff2bc4c7170fd434'/>
<id>urn:sha1:e7d02be19d40063783d6b8f1ff2bc4c7170fd434</id>
<content type='text'>
o Assert that every protosw has pr_attach.  Now this structure is
  only for socket protocols declarations and nothing else.
o Merge struct pr_usrreqs into struct protosw.  This was suggested
  in 1996 by wollman@ (see 7b187005d18ef), and later reiterated
  in 2006 by rwatson@ (see 6fbb9cf860dcd).
o Make struct domain hold a variable sized array of protosw pointers.
  For most protocols these pointers are initialized statically.
  Those domains that may have loadable protocols have spacers. IPv4
  and IPv6 have 8 spacers each (andre@ dff3237ee54ea).
o For inetsw and inet6sw leave a comment noting that many protosw
  entries very likely are dead code.
o Refactor pf_proto_[un]register() into protosw_[un]register().
o Isolate pr_*_notsupp() methods into uipc_domain.c

Reviewed by:		melifaro
Differential revision:	https://reviews.freebsd.org/D36232
</content>
</entry>
<entry>
<title>ng_socket: don't assign NULL in C99 sparse initializer</title>
<updated>2022-05-09T17:42:48Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2022-05-09T17:42:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7496792841b9528ed4160c1972449bfb1486bc41'/>
<id>urn:sha1:7496792841b9528ed4160c1972449bfb1486bc41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>domains: make domain_init() initialize only global state</title>
<updated>2022-01-03T18:15:22Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2022-01-03T18:15:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=644ca0846da3492bf286201fd9a81659d044f589'/>
<id>urn:sha1:644ca0846da3492bf286201fd9a81659d044f589</id>
<content type='text'>
Now that each module handles its global and VNET initialization
itself, there is no VNET related stuff left to do in domain_init().

Differential revision:	https://reviews.freebsd.org/D33541
</content>
</entry>
<entry>
<title>socket: Implement SO_RERROR</title>
<updated>2021-07-28T16:35:09Z</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2021-07-28T15:46:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7045b1603bdf054145dd958a4acc17b410fb62a0'/>
<id>urn:sha1:7045b1603bdf054145dd958a4acc17b410fb62a0</id>
<content type='text'>
SO_RERROR indicates that receive buffer overflows should be handled as
errors. Historically receive buffer overflows have been ignored and
programs could not tell if they missed messages or messages had been
truncated because of overflows. Since programs historically do not
expect to get receive overflow errors, this behavior is not the
default.

This is really really important for programs that use route(4) to keep
in sync with the system. If we loose a message then we need to reload
the full system state, otherwise the behaviour from that point is
undefined and can lead to chasing bogus bug reports.

Reviewed by:	philip (network), kbowling (transport), gbe (manpages)
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D26652
</content>
</entry>
<entry>
<title>Add missing sockaddr length and family validation to various protocols</title>
<updated>2021-05-03T17:35:19Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-05-03T16:51:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f161d294b92732df6254a89f393ab24999e122bf'/>
<id>urn:sha1:f161d294b92732df6254a89f393ab24999e122bf</id>
<content type='text'>
Several protocol methods take a sockaddr as input.  In some cases the
sockaddr lengths were not being validated, or were validated after some
out-of-bounds accesses could occur.  Add requisite checking to various
protocol entry points, and convert some existing checks to assertions
where appropriate.

Reported by:	syzkaller+KASAN
Reviewed by:	tuexen, melifaro
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29519
</content>
</entry>
<entry>
<title>Revert "SO_RERROR indicates that receive buffer overflows should be handled as errors."</title>
<updated>2021-02-08T22:32:32Z</updated>
<author>
<name>Alexander V. Chernikov</name>
<email>melifaro@FreeBSD.org</email>
</author>
<published>2021-02-08T22:30:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=924d1c9a050d7e355d0562fca62bd2bb9b5f53d7'/>
<id>urn:sha1:924d1c9a050d7e355d0562fca62bd2bb9b5f53d7</id>
<content type='text'>
Wrong version of the change was pushed inadvertenly.

This reverts commit 4a01b854ca5c2e5124958363b3326708b913af71.
</content>
</entry>
<entry>
<title>SO_RERROR indicates that receive buffer overflows should be handled as errors.</title>
<updated>2021-02-08T21:42:20Z</updated>
<author>
<name>Alexander V. Chernikov</name>
<email>melifaro@FreeBSD.org</email>
</author>
<published>2021-02-07T17:21:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4a01b854ca5c2e5124958363b3326708b913af71'/>
<id>urn:sha1:4a01b854ca5c2e5124958363b3326708b913af71</id>
<content type='text'>
Historically receive buffer overflows have been ignored and programs
could not tell if they missed messages or messages had been truncated
because of overflows. Since programs historically do not expect to get
receive overflow errors, this behavior is not the default.

This is really really important for programs that use route(4) to keep in sync
with the system. If we loose a message then we need to reload the full system
state, otherwise the behaviour from that point is undefined and can lead
to chasing bogus bug reports.
</content>
</entry>
<entry>
<title>[ng_socket] Don't take the SOCKBUF_LOCK() twice in the RX data path.</title>
<updated>2020-12-17T18:15:07Z</updated>
<author>
<name>Aleksandr Fedorov</name>
<email>afedorov@FreeBSD.org</email>
</author>
<published>2020-12-17T18:15:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3326f7e9bbd94a5059d104122bc5204108b3f448'/>
<id>urn:sha1:3326f7e9bbd94a5059d104122bc5204108b3f448</id>
<content type='text'>
This is just a minor optimization, but it's sensitive. This gives an improvement of 30-50 kpps.

Reviewed by:	kp, markj, glebius, lutz_donnerhacke.de
Approved by:	vmaffione (mentor)
Sponsored by:	vstack.com
Differential Revision:	https://reviews.freebsd.org/D27382
</content>
</entry>
</feed>
