There is an m_pullup() down in AH input. As it may free or change
authorbluhm <bluhm@openbsd.org>
Sat, 23 Oct 2021 22:19:37 +0000 (22:19 +0000)
committerbluhm <bluhm@openbsd.org>
Sat, 23 Oct 2021 22:19:37 +0000 (22:19 +0000)
commitd5072c26da8041c2b67235f7169daab91e70e844
treeace05cdd1a61cbfd0a9659f26f572fc46f6918ec
parent35d9e964c12b0c99dbb1c4ae96876e52f250bab0
There is an m_pullup() down in AH input.  As it may free or change
the mbuf, the callers must be careful.  Although there is no bug,
use the common pattern to handle this.  Pass down an mbuf pointer
mp and let m_pullup() update the pointer in all callers.
It looks like the tcp signature functions should not be called.
Avoid an mbuf leak and return an error.
OK mvs@
sys/net/if_bridge.c
sys/netinet/ip_ah.c
sys/netinet/ip_esp.c
sys/netinet/ip_ipcomp.c
sys/netinet/ip_ipip.c
sys/netinet/ip_ipsp.h
sys/netinet/ipsec_input.c
sys/netinet/tcp_subr.c
sys/netinet/udp_usrreq.c