<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/kern/uipc_socket.c, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/kern/uipc_socket.c?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/kern/uipc_socket.c?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-06-22T13:14:32Z</updated>
<entry>
<title>Extend kqueue interface with EVFILT_EXCEPT filter.</title>
<updated>2020-06-22T13:14:32Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2020-06-22T13:14:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=7ab02df9ba969938f0d288bc81680642c429c9c4'/>
<id>urn:sha1:7ab02df9ba969938f0d288bc81680642c429c9c4</id>
<content type='text'>
This filter, already implemented in macOS and Dragonfly BSD, returns
exceptional conditions like the reception of out-of-band data.

The functionnality is similar to poll(2)'s POLLPRI &amp; POLLRDBAND and
it can be used by the kqfilter-based poll &amp; select implementation.

ok millert@ on a previous version, ok visa@
</content>
</entry>
<entry>
<title>Compare `so' and `sosp' types just after `sosp' obtaining. We can't splice</title>
<updated>2020-06-18T14:05:21Z</updated>
<author>
<name>mvs</name>
<email>mvs@openbsd.org</email>
</author>
<published>2020-06-18T14:05:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=6a4f7213e40fa1e06c0f29499c22abd45246ff7c'/>
<id>urn:sha1:6a4f7213e40fa1e06c0f29499c22abd45246ff7c</id>
<content type='text'>
sockets from different domains so there is no reason to have locking and memory
allocation in this error path. Also in this case only `so' will be locked by
solock() so we should avoid `sosp' modification.

ok mpi@
</content>
</entry>
<entry>
<title>Set __EV_HUP when the conditions matching poll(2)'s POLLUP are found.</title>
<updated>2020-06-15T15:29:40Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2020-06-15T15:29:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2b88cdafd374c425bef518b6071e7ccde4677902'/>
<id>urn:sha1:2b88cdafd374c425bef518b6071e7ccde4677902</id>
<content type='text'>
This is only done in poll-compatibility mode, when __EV_POLL is set.

ok visa@, millert@
</content>
</entry>
<entry>
<title>In sosplice(), temporarily release the socket lock before calling</title>
<updated>2020-04-12T16:15:18Z</updated>
<author>
<name>anton</name>
<email>anton@openbsd.org</email>
</author>
<published>2020-04-12T16:15:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=27427a72e313439258e46363f1bc801d3c750a5c'/>
<id>urn:sha1:27427a72e313439258e46363f1bc801d3c750a5c</id>
<content type='text'>
FRELE() as the last reference could be dropped which in turn will cause
soclose() to be called where the socket lock is unconditionally
acquired. Note that this is only a problem for sockets protected by the
non-recursive NET_LOCK() right now.

ok mpi@ visa@

Reported-by: syzbot+7c805a09545d997b924d@syzkaller.appspotmail.com
</content>
</entry>
<entry>
<title>Abstract the head of knote lists. This allows extending the lists,</title>
<updated>2020-04-07T13:27:50Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2020-04-07T13:27:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9c969c9ab4dbfc69101f439c13329bb852e9fe18'/>
<id>urn:sha1:9c969c9ab4dbfc69101f439c13329bb852e9fe18</id>
<content type='text'>
for example, with locking assertions.

OK mpi@, anton@
</content>
</entry>
<entry>
<title>Fix unlimited recursion caused by local outbound bcast/mcast packet</title>
<updated>2020-03-11T22:21:28Z</updated>
<author>
<name>sashan</name>
<email>sashan@openbsd.org</email>
</author>
<published>2020-03-11T22:21:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=aa1987fe7ce43547b96c53f0bcd1bcbc69d88e5a'/>
<id>urn:sha1:aa1987fe7ce43547b96c53f0bcd1bcbc69d88e5a</id>
<content type='text'>
sent via spliced socket.

Reported-by: syzbot+2f9616f39d3f3b281cfb@syzkaller.appspotmail.com

OK bluhm@
</content>
</entry>
<entry>
<title>Replace field f_isfd with field f_flags in struct filterops to allow</title>
<updated>2020-02-20T16:56:51Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2020-02-20T16:56:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b821368957f060d7b1e9eeaa4fbc563e892edb32'/>
<id>urn:sha1:b821368957f060d7b1e9eeaa4fbc563e892edb32</id>
<content type='text'>
adding more filter properties without cluttering the struct.

OK mpi@, anton@
</content>
</entry>
<entry>
<title>Push the KERNEL_LOCK() insidge pgsigio() and selwakeup().</title>
<updated>2020-02-14T14:32:44Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2020-02-14T14:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=112e0b7cd8c0810f5e6ec8c11d147cff217a606d'/>
<id>urn:sha1:112e0b7cd8c0810f5e6ec8c11d147cff217a606d</id>
<content type='text'>
The 3 subsystems: signal, poll/select and kqueue can now be addressed
separatly.

Note that bpf(4) and audio(4) currently delay the wakeups to a separate
context in order to respect the KERNEL_LOCK() requirement.  Sockets (UDP,
TCP) and pipes spin to grab the lock for the sames reasons.

ok anton@, visa@
</content>
</entry>
<entry>
<title>Keep socket timeout intervals in nsecs and use them with tsleep_nsec(9).</title>
<updated>2020-01-15T13:17:35Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2020-01-15T13:17:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1a273344ae32a61ecc379c236ac9b23f6623257d'/>
<id>urn:sha1:1a273344ae32a61ecc379c236ac9b23f6623257d</id>
<content type='text'>
Introduce and use TIMEVAL_TO_NSEC() to convert SO_RCVTIMEO/SO_SNDTIMEO
specified values into nanoseconds.  As a side effect it is now possible
to specify a timeout larger that (USHRT_MAX / 100) seconds.

To keep code simple `so_linger' now represents a number of seconds with
0 meaning no timeout or 'infinity'.

Yes, the 0 -&gt; INFSLP API change makes conversions complicated as many
timeout holders are still memset()'d.

Inputs from cheloha@ and bluhm@, ok bluhm@
</content>
</entry>
<entry>
<title>Use C99 designated initializers with struct filterops. In addition,</title>
<updated>2019-12-31T13:48:31Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2019-12-31T13:48:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=94321eb495589ab239b0671b5b64153695549a6a'/>
<id>urn:sha1:94321eb495589ab239b0671b5b64153695549a6a</id>
<content type='text'>
make the structs const so that the data are put in .rodata.

OK mpi@, deraadt@, anton@, bluhm@
</content>
</entry>
</feed>
