No description
net_send() is meant to release the refcount for the SYN buffer once a connection is established, but this assumes that the application uses net_send() for all outgoing buffers. It is possible to setup a connection (and therefore generate an outgoing SYN) by calling net_context_tcp_init(), which has the side-effect of overwriting connection_status . Using such an API would then break the assumption around net_send() reclaiming the refcount of the SYN buf. A test case which exposes the problem: * As a client, setup a connection with an HTTP server. * Send an HTTP request contained in a buf using net_send() * The server responds, and then tears down the connection. * The test client then re-establishes another connection using net_context_tcp_init()--this overwrites connection_status, causing a refcount leak. With this change, we remove the dependency on net_send() being called. Change-Id: I96516cbca3e231ed7fb509a7c03c0ceebf80e03a Signed-off-by: Rohit Grover <rohit.grover@arm.com> |
||
---|---|---|
.known-issues | ||
arch | ||
boards | ||
doc | ||
drivers | ||
ext | ||
fs | ||
include | ||
kernel | ||
lib | ||
misc | ||
net | ||
samples | ||
scripts | ||
tests | ||
usb | ||
.checkpatch.conf | ||
.gitattributes | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
defaults.tc | ||
Kbuild | ||
Kconfig | ||
Kconfig.zephyr | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
Makefile.inc | ||
zephyr-env.sh |