OPNsense - FreeBSD source
Find a file
Hans Petter Selasky be3f667388 mlx4core: Use-after-free causes a resource leak in flow-steering detach
mlx4_QP_FLOW_STEERING_DETACH_wrapper first removes the steering
rule (which results in freeing the rule structure), and then
references a field in this struct (the qp number) when releasing the
busy-status on the rule's qp.

Since this memory was freed, it could reallocated and changed.
Therefore, the qp number in the struct may be incorrect,
so that we are releasing the incorrect qp. This leaves the rule's qp
in the busy state (and could possibly release an incorrect qp as well).

Fix this by saving the qp number in a local variable, for use after
removing the steering rule.

Linux commit:
3b01fe7f91c8e4f9afc4fae3c5af72c14958d2d8

PR:	     	264469
Sponsored by:	NVIDIA Networking

(cherry picked from commit dd2a8c8f72)
2022-06-14 11:39:23 +02:00
.cirrus-ci Cirrus-CI: add some timing info on pkg install failure 2022-02-09 12:39:50 -05:00
.github/workflows .github: Attempt to un-break Clang 9 action 2021-05-29 04:38:07 +01:00
bin sh: implement persistent history storage 2022-04-30 09:55:42 +02:00
cddl ctfdump: Remove definitions of warn() and vwarn() 2022-04-27 20:34:39 -04:00
contrib sqlite3: Vendor import of sqlite3 3.38.5 2022-06-12 07:07:03 -07:00
crypto ssh: update sshd_config for prohibit-password option 2022-05-19 07:36:10 -04:00
etc Merge llvm-project release/14.x llvmorg-14.0.4-0-g29f1039a7285 2022-06-09 20:14:08 +02:00
gnu Bump shared library versions after ncurses bump in 13. 2021-02-04 17:51:45 -08:00
include Install unwind.h into /usr/include 2022-02-20 13:29:44 +01:00
kerberos5 pkgbase: Create a FreeBSD-kerberos package 2022-01-05 18:23:50 +01:00
lib Also define THR_PAGE_SIZE_MIN for mips 2022-06-13 20:55:23 +02:00
libexec Have rtld query the page size from the kernel 2022-05-03 15:04:04 +01:00
release release: fix on-disc pkg binary symbolic links 2022-04-26 16:00:25 -04:00
rescue Add an internal libiscsiutil library. 2022-04-29 14:13:00 -07:00
sbin mount_nfs: Only create a mounttab file entry is nmount(2) succeeds 2022-06-11 12:50:33 -07:00
secure OpenSSL: Merge OpenSSL 1.1.1o 2022-05-03 15:56:09 -04:00
share Regen src.conf.5 for recent MFCs 2022-06-13 20:34:43 -04:00
stand stand: Fix a common typo in source code comments 2022-06-10 14:23:25 +02:00
sys mlx4core: Use-after-free causes a resource leak in flow-steering detach 2022-06-14 11:39:23 +02:00
targets Fix bootstrapping to actually build lldb-tblgen for later use 2021-09-07 13:08:18 +01:00
tests kqueue tests: Simplify the test runner 2022-06-07 20:42:28 -04:00
tools src.conf.5: Update the WITHOUT_ZFS description 2022-06-13 08:43:17 -04:00
usr.bin sed(1): Fix a typo in a source code comment 2022-06-10 14:26:39 +02:00
usr.sbin pkgbase: Move pw to the runtime package 2022-06-13 11:03:52 +01:00
.arcconfig arcconfig: add callsign again 2020-11-23 04:39:29 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml Cirrus-CI: add a manual amd64-gcc9 build and smoketest job 2022-02-22 14:53:02 -05:00
.clang-format clang-format: Add bitset loop macros 2021-11-01 09:20:11 -04:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore add exuberant ctags tags file to gitignore 2022-01-11 15:25:37 +02:00
COPYRIGHT copyrights: Happy New Year 2021 2020-12-31 10:29:44 -05:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS Add a pointer to csprng@ for the CSPRNG driver. This is enforced anyway by 2020-09-01 08:02:12 +00:00
Makefile Fix 'make bmake' top-level bootstrapping. 2021-12-21 14:44:51 +01:00
Makefile.inc1 Merge llvm-project release/14.x llvmorg-14-init-18315-g190be5457c90 2022-06-04 13:59:32 +02:00
Makefile.libcompat Prefer MK_SSP=no to SSP_CFLAGS= 2021-08-11 13:56:28 -03:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc Merge llvm-project release/14.x llvmorg-14.0.4-0-g29f1039a7285 2022-06-09 20:14:08 +02:00
README README.md: update gnu directory description 2021-12-19 21:01:53 -05:00
README.md README.md: update gnu directory description 2021-12-19 21:01:53 -05:00
RELNOTES RELNOTES: Note support for KTLS RX for TLS 1.3. 2022-04-29 14:08:44 -07:00
UPDATING UPDATING: Remove a double word in an entry 2022-04-14 08:05:15 +02:00

FreeBSD Source:

This is the top level of the FreeBSD source directory. This file was last revised on: FreeBSD

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information, including setting make(1) variables.

Source Roadmap:

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

gnu		Commands and libraries under the GNU General Public License
		(GPL) or Lesser General Public License (LGPL).  Please see
		gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

stand		Boot loader sources.

sys		Kernel sources.

sys/<arch>/conf Kernel configuration files. GENERIC is the configuration
		used in release builds. NOTES contains documentation of
		all possible entries.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html