<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in ng_btsocket_rfcomm.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>18fd3f8ec5c50da21515757af24421a078a4a468 - ng_btsocket_rfcomm: Mark a couple buffers as const in a helper function</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#18fd3f8ec5c50da21515757af24421a078a4a468</link>
        <description>ng_btsocket_rfcomm: Mark a couple buffers as const in a helper functionFixes:	680f9acc3657 (&quot;ng_hci: Cast NG_HCI_BDADDR_ANY to const bdaddr_t *&quot;)

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Mon, 15 Sep 2025 15:57:19 +0200</pubDate>
        <dc:creator>Mark Johnston &lt;markj@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>a0da2f73b6ef12db95d5391d380b0b04507b4778 - Remove remaining mentions of pr_usrreq.</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#a0da2f73b6ef12db95d5391d380b0b04507b4778</link>
        <description>Remove remaining mentions of pr_usrreq.When struct pr_usrreq was folded into struct protosw and the functionpointers it contained were renamed from pru_* to pr_* in 2022, anumber of references to the old names in comments and error messageswere missed.  Chase them down and fix them.Sponsored by:	Klara, Inc.Sponsored by:	NetApp, Inc.Reviewed by:	kevans, glebiusDifferential Revision:	https://reviews.freebsd.org/D50190

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Thu, 08 May 2025 16:28:39 +0200</pubDate>
        <dc:creator>Dag-Erling Sm&#248;rgrav &lt;des@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>0fac350c54d0a72f5341e15021efcde63eb58a4b - sockets: don&apos;t malloc/free sockaddr memory on getpeername/getsockname</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#0fac350c54d0a72f5341e15021efcde63eb58a4b</link>
        <description>sockets: don&apos;t malloc/free sockaddr memory on getpeername/getsocknameJust like it was done for accept(2) in cfb1e92912b4, use same approachfor two simplier syscalls that return socket addresses.  Although,these two syscalls aren&apos;t performance critical, this change generalizessome code between 3 syscalls trimming code size.Following example of accept(2), provide VNET-aware and INVARIANT-checkingwrappers sopeeraddr() and sosockaddr() around protosw methods.Reviewed by:		tuexenDifferential Revision:	https://reviews.freebsd.org/D42694

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Thu, 30 Nov 2023 17:30:55 +0100</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>cfb1e92912b4cf75360b7fbe86197cc29bc212c1 - sockets: don&apos;t malloc/free sockaddr memory on accept(2)</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#cfb1e92912b4cf75360b7fbe86197cc29bc212c1</link>
        <description>sockets: don&apos;t malloc/free sockaddr memory on accept(2)Let the accept functions provide stack memory for protocols to fill it in.Generic code should provide sockaddr_storage, specialized code may providesmaller structure.While rewriting accept(2) make &apos;addrlen&apos; a true in/out parameter, reportingrequired length in case if provided length was insufficient.  Our manualpage accept(2) and POSIX don&apos;t explicitly require that, but one can readthe text as they do.  Linux also does that. Update tests accordingly.Reviewed by:		rscheff, tuexen, zlei, dchaginDifferential Revision:	https://reviews.freebsd.org/D42635

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Thu, 30 Nov 2023 17:30:55 +0100</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2ff63af9b88c7413b7d71715b5532625752a248e - sys: Remove $FreeBSD$: one-line .h pattern</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2ff63af9b88c7413b7d71715b5532625752a248e</link>
        <description>sys: Remove $FreeBSD$: one-line .h patternRemove /^\s*\*+\s*\$FreeBSD\$.*$\n/

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Wed, 16 Aug 2023 19:54:18 +0200</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4d846d260e2b9a3d4d0a701462568268cbfe7a5b - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4d846d260e2b9a3d4d0a701462568268cbfe7a5b</link>
        <description>spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of BSD-2-Clause.Discussed with:		pfgMFC After:		3 daysSponsored by:		Netflix

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Wed, 10 May 2023 17:40:58 +0200</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e7d02be19d40063783d6b8f1ff2bc4c7170fd434 - protosw: refactor protosw and domain static declaration and load</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#e7d02be19d40063783d6b8f1ff2bc4c7170fd434</link>
        <description>protosw: refactor protosw and domain static declaration and loado 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.cReviewed by:		melifaroDifferential revision:	https://reviews.freebsd.org/D36232

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Wed, 17 Aug 2022 20:50:32 +0200</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>f277746e13261e139cbb7a3bbd74dfe104326182 - protosw: change prototype for pr_control</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#f277746e13261e139cbb7a3bbd74dfe104326182</link>
        <description>protosw: change prototype for pr_controlFor some reason protosw.h is used during world complation and userlandis not aware of caddr_t, a relic from the first version of C.  Brokenbuildworld is good reason to get rid of yet another caddr_t in kernel.Fixes:	886fc1e80490fb03e72e306774766cbb2c733ac6

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Fri, 12 Aug 2022 21:08:18 +0200</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>f64919bbd9b7d84f61a99264c33187fc63aca2a4 - ng_btsocket(4): Fix a typo in an error message</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#f64919bbd9b7d84f61a99264c33187fc63aca2a4</link>
        <description>ng_btsocket(4): Fix a typo in an error message- s/mulitplexor/multiplexor/MFC after:	5 days

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Wed, 06 Apr 2022 18:27:29 +0200</pubDate>
        <dc:creator>Gordon Bergling &lt;gbe@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>89128ff3e42196c8b41a3c59f7a2d95c0a4ac0ee - protocols: init with standard SYSINIT(9) or VNET_SYSINIT</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#89128ff3e42196c8b41a3c59f7a2d95c0a4ac0ee</link>
        <description>protocols: init with standard SYSINIT(9) or VNET_SYSINITThe historical BSD network stack loop that rolls over domains andover protocols has no advantages over more modern SYSINIT(9).While doing the sweep, split global and per-VNET initializers.Getting rid of pr_init allows to achieve several things:o Get rid of ifdef&apos;s that protect against double foo_init() when  both INET and INET6 are compiled in.o Isolate initializers statically to the module they init.o Makes code easier to understand and maintain.Reviewed by:		melifaroDifferential revision:	https://reviews.freebsd.org/D33537

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Mon, 03 Jan 2022 19:15:21 +0100</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>bd4a39cc93d9faf8b5c000855d5aa90df592dd49 - socket: Properly interlock when transitioning to a listening socket</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#bd4a39cc93d9faf8b5c000855d5aa90df592dd49</link>
        <description>socket: Properly interlock when transitioning to a listening socketCurrently, most protocols implement pru_listen with something like thefollowing:	SOCK_LOCK(so);	error = solisten_proto_check(so);	if (error) {		SOCK_UNLOCK(so);		return (error);	}	solisten_proto(so);	SOCK_UNLOCK(so);solisten_proto_check() fails if the socket is connected or connecting.However, the socket lock is not used during I/O, so this pattern isracy.The change modifies solisten_proto_check() to additionally acquiresocket buffer locks, and the calling thread holds them untilsolisten_proto() or solisten_proto_abort() is called.  Now that thesocket buffer locks are preserved across a listen(2), this change allowssocket I/O paths to properly interlock with listen(2).This fixes a large number of syzbot reports, only one is listed belowand the rest will be dup&apos;ed to it.Reported by:	syzbot+9fece8a63c0e27273821@syzkaller.appspotmail.comReviewed by:	tuexen, gallatinMFC after:	1 monthSponsored by:	The FreeBSD FoundationDifferential Revision:	https://reviews.freebsd.org/D31659

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Tue, 07 Sep 2021 20:49:53 +0200</pubDate>
        <dc:creator>Mark Johnston &lt;markj@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>f4bb1869ddd2bca89b6b6bfaf4d866efdd9243cf - Consistently use the SOLISTENING() macro</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#f4bb1869ddd2bca89b6b6bfaf4d866efdd9243cf</link>
        <description>Consistently use the SOLISTENING() macroSome code was using it already, but in many places we were testingSO_ACCEPTCONN directly.  As a small step towards fixing some bugsinvolving synchronization with listen(2), make the kernel consistentlyuse SOLISTENING().  No functional change intended.MFC after:	1 weekSponsored by:	The FreeBSD Foundation

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Mon, 14 Jun 2021 23:32:27 +0200</pubDate>
        <dc:creator>Mark Johnston &lt;markj@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>662c13053f4bf2d6245ba7e2b66c10d1cd5c1fb9 - net: clean up empty lines in .c and .h files</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#662c13053f4bf2d6245ba7e2b66c10d1cd5c1fb9</link>
        <description>net: clean up empty lines in .c and .h files

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Tue, 01 Sep 2020 23:19:14 +0200</pubDate>
        <dc:creator>Mateusz Guzik &lt;mjg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>75dfc66c1b2b44609e5a7c3e1d6a751be4922689 - Merge ^/head r358269 through r358399.</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#75dfc66c1b2b44609e5a7c3e1d6a751be4922689</link>
        <description>Merge ^/head r358269 through r358399.

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Thu, 27 Feb 2020 20:07:10 +0100</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>7029da5c36f2d3cf6bb6c81bf551229f416399e8 - Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#7029da5c36f2d3cf6bb6c81bf551229f416399e8</link>
        <description>Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that arestill not MPSAFE (or already are but aren&#8217;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 andSYSCTL_PROC nodes using one of the soon-to-be-required flags.Mark all obvious cases as MPSAFE.  All entries that haven&apos;t been markedas MPSAFE before are by default marked as NEEDGIANTApproved by:	kib (mentor, blanket)Commented by:	kib, gallatin, melifaroDifferential Revision:	https://reviews.freebsd.org/D23718

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Wed, 26 Feb 2020 15:26:36 +0100</pubDate>
        <dc:creator>Pawel Biernacki &lt;kaktus@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>fe267a559009cbf34f9341666fe4d88a92c02d5e - sys: general adoption of SPDX licensing ID tags.</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#fe267a559009cbf34f9341666fe4d88a92c02d5e</link>
        <description>sys: general adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.No functional change intended.

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Mon, 27 Nov 2017 16:23:17 +0100</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>686fb94a00297bf9ff49d93b948925552a2ce8e0 - Merge ^/head r319548 through r319778.</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#686fb94a00297bf9ff49d93b948925552a2ce8e0</link>
        <description>Merge ^/head r319548 through r319778.

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Sat, 10 Jun 2017 15:22:49 +0200</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>779f106aa169256b7010a1d8f963ff656b881e92 - Listening sockets improvements.</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#779f106aa169256b7010a1d8f963ff656b881e92</link>
        <description>Listening sockets improvements.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&apos;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&apos;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&apos;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&apos;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:		NetflixDifferential Revision:	https://reviews.freebsd.org/D9770

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Thu, 08 Jun 2017 23:30:34 +0200</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>053359b7f43aa87c06bef8be6d4fbea48bae4ca9 - sys/netgraph: spelling fixes in comments.</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#053359b7f43aa87c06bef8be6d4fbea48bae4ca9</link>
        <description>sys/netgraph: spelling fixes in comments.No functional change.

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Fri, 29 Apr 2016 23:25:05 +0200</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>009e81b16465ea457c0e63fd49fe77f47cc27a5a - MFH @r294567</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#009e81b16465ea457c0e63fd49fe77f47cc27a5a</link>
        <description>MFH @r294567

            List of files:
            /freebsd/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c</description>
        <pubDate>Fri, 22 Jan 2016 16:11:40 +0100</pubDate>
        <dc:creator>Bjoern A. Zeeb &lt;bz@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
