<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/netgraph/bluetooth/socket, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-09-01T21:19:14Z</updated>
<entry>
<title>net: clean up empty lines in .c and .h files</title>
<updated>2020-09-01T21:19:14Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-09-01T21:19:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=662c13053f4bf2d6245ba7e2b66c10d1cd5c1fb9'/>
<id>urn:sha1:662c13053f4bf2d6245ba7e2b66c10d1cd5c1fb9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow some Bluetooth LE related HCI request to non-root user.</title>
<updated>2020-07-01T04:00:54Z</updated>
<author>
<name>Takanori Watanabe</name>
<email>takawata@FreeBSD.org</email>
</author>
<published>2020-07-01T04:00:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=263a104f435ed2742dc6ed926278d422527d482f'/>
<id>urn:sha1:263a104f435ed2742dc6ed926278d422527d482f</id>
<content type='text'>
PR:	247588
Reported by:	Greg V (greg@unrelenting.technology)
Reviewed by:	emax
Differential Revision:	https://reviews.freebsd.org/D25516
</content>
</entry>
<entry>
<title>Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)</title>
<updated>2020-02-26T14:26:36Z</updated>
<author>
<name>Pawel Biernacki</name>
<email>kaktus@FreeBSD.org</email>
</author>
<published>2020-02-26T14:26:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7029da5c36f2d3cf6bb6c81bf551229f416399e8'/>
<id>urn:sha1:7029da5c36f2d3cf6bb6c81bf551229f416399e8</id>
<content type='text'>
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE.  All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by:	kib (mentor, blanket)
Commented by:	kib, gallatin, melifaro
Differential Revision:	https://reviews.freebsd.org/D23718
</content>
</entry>
<entry>
<title>avoid holding PCB mutex during copyin/copyout()</title>
<updated>2019-08-30T16:35:31Z</updated>
<author>
<name>Maksim Yevmenkin</name>
<email>emax@FreeBSD.org</email>
</author>
<published>2019-08-30T16:35:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=444e5d09b56876803cd4ed3c13c8ed9d9e3a2c65'/>
<id>urn:sha1:444e5d09b56876803cd4ed3c13c8ed9d9e3a2c65</id>
<content type='text'>
Reported by:	imp, mms dot vanbreukelingen at gmail dot com
Reviewed by:	imp
</content>
</entry>
<entry>
<title>sys: general adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T15:23:17Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T15:23:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=fe267a559009cbf34f9341666fe4d88a92c02d5e'/>
<id>urn:sha1:fe267a559009cbf34f9341666fe4d88a92c02d5e</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.
</content>
</entry>
<entry>
<title>Listening sockets improvements.</title>
<updated>2017-06-08T21:30:34Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2017-06-08T21:30:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=779f106aa169256b7010a1d8f963ff656b881e92'/>
<id>urn:sha1:779f106aa169256b7010a1d8f963ff656b881e92</id>
<content type='text'>
o Separate fields of struct socket that belong to listening from
  fields that belong to normal dataflow, and unionize them.  This
  shrinks the structure a bit.
  - Take out selinfo's from the socket buffers into the socket. The
    first reason is to support braindamaged scenario when a socket is
    added to kevent(2) and then listen(2) is cast on it. The second
    reason is that there is future plan to make socket buffers pluggable,
    so that for a dataflow socket a socket buffer can be changed, and
    in this case we also want to keep same selinfos through the lifetime
    of a socket.
  - Remove struct struct so_accf. Since now listening stuff no longer
    affects struct socket size, just move its fields into listening part
    of the union.
  - Provide sol_upcall field and enforce that so_upcall_set() may be called
    only on a dataflow socket, which has buffers, and for listening sockets
    provide solisten_upcall_set().

o Remove ACCEPT_LOCK() global.
  - Add a mutex to socket, to be used instead of socket buffer lock to lock
    fields of struct socket that don't belong to a socket buffer.
  - Allow to acquire two socket locks, but the first one must belong to a
    listening socket.
  - Make soref()/sorele() to use atomic(9).  This allows in some situations
    to do soref() without owning socket lock.  There is place for improvement
    here, it is possible to make sorele() also to lock optionally.
  - Most protocols aren't touched by this change, except UNIX local sockets.
    See below for more information.

o Reduce copy-and-paste in kernel modules that accept connections from
  listening sockets: provide function solisten_dequeue(), and use it in
  the following modules: ctl(4), iscsi(4), ng_btsocket(4), ng_ksocket(4),
  infiniband, rpc.

o UNIX local sockets.
  - Removal of ACCEPT_LOCK() global uncovered several races in the UNIX
    local sockets.  Most races exist around spawning a new socket, when we
    are connecting to a local listening socket.  To cover them, we need to
    hold locks on both PCBs when spawning a third one.  This means holding
    them across sonewconn().  This creates a LOR between pcb locks and
    unp_list_lock.
  - To fix the new LOR, abandon the global unp_list_lock in favor of global
    unp_link_lock.  Indeed, separating these two locks didn't provide us any
    extra parralelism in the UNIX sockets.
  - Now call into uipc_attach() may happen with unp_link_lock hold if, we
    are accepting, or without unp_link_lock in case if we are just creating
    a socket.
  - Another problem in UNIX sockets is that uipc_close() basicly did nothing
    for a listening socket.  The vnode remained opened for connections.  This
    is fixed by removing vnode in uipc_close().  Maybe the right way would be
    to do it for all sockets (not only listening), simply move the vnode
    teardown from uipc_detach() to uipc_close()?

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D9770
</content>
</entry>
<entry>
<title>Disconnect LE socket when the HCI connection associated is disconnected.</title>
<updated>2016-06-07T16:57:13Z</updated>
<author>
<name>Takanori Watanabe</name>
<email>takawata@FreeBSD.org</email>
</author>
<published>2016-06-07T16:57:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b32073c458dd68bef0c63ff78d737a2e963c0381'/>
<id>urn:sha1:b32073c458dd68bef0c63ff78d737a2e963c0381</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sys/netgraph: spelling fixes in comments.</title>
<updated>2016-04-29T21:25:05Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-04-29T21:25:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=053359b7f43aa87c06bef8be6d4fbea48bae4ca9'/>
<id>urn:sha1:053359b7f43aa87c06bef8be6d4fbea48bae4ca9</id>
<content type='text'>
No functional change.
</content>
</entry>
<entry>
<title>Remove slightly used const values that can be replaced with nitems().</title>
<updated>2016-04-21T15:38:28Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-04-21T15:38:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=8dfea46460a0befc49458e87d2078a5ca100e0eb'/>
<id>urn:sha1:8dfea46460a0befc49458e87d2078a5ca100e0eb</id>
<content type='text'>
Suggested by:	jhb
</content>
</entry>
<entry>
<title>Make it possible for sbappend() to preserve M_NOTREADY on mbufs, just like</title>
<updated>2016-01-08T19:03:20Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2016-01-08T19:03:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=829fae9063685b393b1fc5670abd9c0d2c3686a1'/>
<id>urn:sha1:829fae9063685b393b1fc5670abd9c0d2c3686a1</id>
<content type='text'>
sbappendstream() does. Although, M_NOTREADY may appear only on SOCK_STREAM
sockets, due to sendfile(2) supporting only the latter, there is a corner
case of AF_UNIX/SOCK_STREAM socket, that still uses records for the sake
of control data, albeit being stream socket.

Provide private version of m_clrprotoflags(), which understands PRUS_NOTREADY,
similar to m_demote().
</content>
</entry>
</feed>
