1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys/netinet/cc
Lawrence Stewart 9891578a40 Plug a memory leak and potential NULL-pointer dereference introduced in r331214.
Each TCP connection that uses the system default cc_newreno(4) congestion
control algorithm module leaks a "struct newreno" (8 bytes of memory) at
connection initialisation time. The NULL-pointer dereference is only germane
when using the ABE feature, which is disabled by default.

While at it:

- Defer the allocation of memory until it is actually needed given that ABE is
  optional and disabled by default.

- Document the ENOMEM errno in getsockopt(2)/setsockopt(2).

- Document ENOMEM and ENOBUFS in tcp(4) as being synonymous given that they are
  used interchangeably throughout the code.

- Fix a few other nits also accidentally omitted from the original patch.

Reported by:	Harsh Jain on freebsd-net@
Tested by:	tjh@
Differential Revision:	https://reviews.freebsd.org/D15358
2018-05-17 02:46:27 +00:00
..
cc_cdg.c
cc_chd.c
cc_cubic.c CC Cubic: fix underflow for cubic_cwnd() 2018-03-26 19:53:36 +00:00
cc_cubic.h cc_cubic: 2018-05-03 15:01:27 +00:00
cc_dctcp.c
cc_hd.c
cc_htcp.c
cc_module.h
cc_newreno.c Plug a memory leak and potential NULL-pointer dereference introduced in r331214. 2018-05-17 02:46:27 +00:00
cc_newreno.h
cc_vegas.c
cc.c
cc.h CC Cubic: fix underflow for cubic_cwnd() 2018-03-26 19:53:36 +00:00