<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/ofed, branch release/13.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F13.2.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F13.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2023-02-08T00:23:56Z</updated>
<entry>
<title>ibcore: The use of IN_LOOPBACK() now requires a valid VNET context.</title>
<updated>2023-02-08T00:23:56Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-08-31T10:37:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3b65af50fc2aefbb5950cc48af0de6753be69762'/>
<id>urn:sha1:3b65af50fc2aefbb5950cc48af0de6753be69762</id>
<content type='text'>
Make sure the VNET is set before using this macro.

Fixes:		efe58855f3ea2cfc24cb705aabce3bc0fe1fb6d5
PR:		266054
Sponsored by:	NVIDIA Networking

(cherry picked from commit f50274674ebf3a51a77708f569d38a238cbad6ec)
</content>
</entry>
<entry>
<title>ibcore: Add support for RDMA/RoCE using VLAN(4) devices.</title>
<updated>2022-08-29T12:03:57Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-08-22T08:03:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eacf0dba236e16617f7a597427e6d67b360e3032'/>
<id>urn:sha1:eacf0dba236e16617f7a597427e6d67b360e3032</id>
<content type='text'>
Classify VLAN devices as ethernet in rdma_copy_addr().
This fixes the following error message:

rdma_bind_addr: No such file or directory

Submitted by:	Piotr Kubaj &lt;pkubaj@FreeBSD.org&gt;
Differential Revision:	https://reviews.freebsd.org/D36120
Sponsored by:	NVIDIA Networking

(cherry picked from commit 57af517ac4e8f88339ad1ff778d3b7ac32827430)
</content>
</entry>
<entry>
<title>ibcore: Fix sysfs registration error flow</title>
<updated>2022-06-27T08:14:49Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-06-21T09:07:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1ecd211915ff0dd1989db9e8052794f1ea872772'/>
<id>urn:sha1:1ecd211915ff0dd1989db9e8052794f1ea872772</id>
<content type='text'>
The kernel commit cited below restructured ib device management
so that the device kobject is initialized in ib_alloc_device.

As part of the restructuring, the kobject is now initialized in
procedure ib_alloc_device, and is later added to the device hierarchy
in the ib_register_device call stack, in procedure
ib_device_register_sysfs (which calls device_add).

However, in the ib_device_register_sysfs error flow, if an error
occurs following the call to device_add, the cleanup procedure
device_unregister is called. This call results in the device object
being deleted -- which results in various use-after-free crashes.

The correct cleanup call is device_del -- which undoes device_add
without deleting the device object.

The device object will then (correctly) be deleted in the
ib_register_device caller's error cleanup flow, when the caller invokes
ib_dealloc_device.

Linux commit:
b312be3d87e4c80872cbea869e569175c5eb0f9a

PR:		264472
Sponsored by:	NVIDIA Networking

(cherry picked from commit 55d183367104e3efcdaa936f65e4f82303871271)
</content>
</entry>
<entry>
<title>ibcore: Fix use-after-free access in ucma_close()</title>
<updated>2022-06-20T11:08:39Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-06-13T14:55:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e212dffaae152cbb13f556c663a498ccf61c5889'/>
<id>urn:sha1:e212dffaae152cbb13f556c663a498ccf61c5889</id>
<content type='text'>
The error in ucma_create_id() left ctx in the list of contexts belong
to ucma file descriptor. The attempt to close this file descriptor causes
to use-after-free accesses while iterating over such list.

Linux commit:
ed65a4dc22083e73bac599ded6a262318cad7baf

PR:		264650
Sponsored by:	NVIDIA Networking

(cherry picked from commit 66a0bc2105e43e54abfaa9f48b76c28371fa2d62)
</content>
</entry>
<entry>
<title>ibcore: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen()</title>
<updated>2022-06-07T06:44:29Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-05-30T18:19:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5570397c129d490b909b1962f51376d6742eacf4'/>
<id>urn:sha1:5570397c129d490b909b1962f51376d6742eacf4</id>
<content type='text'>
The algorithm pre-allocates a cm_id since allocation cannot be done while
holding the cm.lock spinlock, however it doesn't free it on one error
path, leading to a memory leak.

Linux commit:
c14dfddbd869bf0c2bafb7ef260c41d9cebbcfec

PR:		264248
Sponsored by:	NVIDIA Networking

(cherry picked from commit c4a415505311e30093b6d9ee0493427a66f2b0de)
</content>
</entry>
<entry>
<title>ibcore: Fix possible memory leak in ib_mad_post_receive_mads()</title>
<updated>2022-06-07T06:44:28Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-05-19T08:06:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6953b4870f00e4d2ef99ae561ae03da028cb21e6'/>
<id>urn:sha1:6953b4870f00e4d2ef99ae561ae03da028cb21e6</id>
<content type='text'>
If ib_dma_mapping_error() returns non-zero value,
ib_mad_post_receive_mads() will jump out of loops and return -ENOMEM
without freeing mad_priv. Fix this memory-leak problem by freeing
mad_priv in this case.

Linux commit:
a17f4bed811c60712d8131883cdba11a105d0161

PR:		264057
Sponsored by:	NVIDIA Networking

(cherry picked from commit ad7741ff693a39bab59b75e432bd922a62f3ef0a)
</content>
</entry>
<entry>
<title>ofed: Remove a double word in a source code comment</title>
<updated>2022-04-14T06:16:09Z</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-04-09T09:00:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=47876ca76e7a50ff552675f27c66350f210bd5e6'/>
<id>urn:sha1:47876ca76e7a50ff552675f27c66350f210bd5e6</id>
<content type='text'>
- s/for for/for/

(cherry picked from commit 6de6c9569169a6a58ebd4ce5b4478b383eaa87dc)
</content>
</entry>
<entry>
<title>ibcore: Fix multiple includes of same header file.</title>
<updated>2022-03-10T08:18:02Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-03-03T11:51:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2c268e712719cf0ff876f4aa6bfc72a319f0164f'/>
<id>urn:sha1:2c268e712719cf0ff876f4aa6bfc72a319f0164f</id>
<content type='text'>
Sponsored by:	NVIDIA Networking

(cherry picked from commit fc99316ef97c3d21cc46f4459f3c2853f2e5be1a)
</content>
</entry>
<entry>
<title>ibcore: Add support for NDR link speed.</title>
<updated>2022-03-03T14:28:53Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-02-21T08:25:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=36b2d16b516c64cec16b7f3ed578c31f78e0e4ba'/>
<id>urn:sha1:36b2d16b516c64cec16b7f3ed578c31f78e0e4ba</id>
<content type='text'>
Add new IBTA speed NDR, supporting signaling rate of 100Gb.

Linux commit:
c7adf7717301558e8852949d8e3dc3748d1a4a97

Sponsored by:	NVIDIA Networking

(cherry picked from commit 1aa593b90ca96acb0d996daef9739ec98538f0db)
</content>
</entry>
<entry>
<title>socket: Rename sb(un)lock() and interlock with listen(2)</title>
<updated>2021-10-07T13:56:47Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-09-07T18:49:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f983298883c1d6c6b1970bb9e19a172932aed3d3'/>
<id>urn:sha1:f983298883c1d6c6b1970bb9e19a172932aed3d3</id>
<content type='text'>
In preparation for moving sockbuf locks into the containing socket,
provide alternative macros for the sockbuf I/O locks:
SOCK_IO_SEND_(UN)LOCK() and SOCK_IO_RECV_(UN)LOCK().  These operate on a
socket rather than a socket buffer.  Note that these locks are used only
to prevent concurrent readers and writters from interleaving I/O.

When locking for I/O, return an error if the socket is a listening
socket.  Currently the check is racy since the sockbuf sx locks are
destroyed during the transition to a listening socket, but that will no
longer be true after some follow-up changes.

Modify a few places to check for errors from
sblock()/SOCK_IO_(SEND|RECV)_LOCK() where they were not before.  In
particular, add checks to sendfile() and sorflush().

Reviewed by:	tuexen, gallatin
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit f94acf52a408316ed61ba94705d7ec0a69ba5ec8)
</content>
</entry>
</feed>
