HomeFreeBSD

ipfw: Update the pfil mbuf pointer in ipfw_check_frame()

Description

ipfw: Update the pfil mbuf pointer in ipfw_check_frame()

ipfw_chk() might call m_pullup() and thus can change the mbuf chain
head. In this case, the new chain head has to be returned to the pfil
hook caller, otherwise the pfil hook caller is left with a dangling
pointer.

Note that this affects only the link-layer hooks installed when the
net.link.ether.ipfw sysctl is set to 1.

PR: 256439, 254015, 255069, 255104
Fixes: f355cb3e6
Reviewed by: ae
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D30764

Details

Provenance
markjAuthored on Jun 16 2021, 1:46 PM
Reviewer
ae
Differential Revision
D30764: ipfw: Update the pfil mbuf pointer in ipfw_check_frame()
Parents
R10:a397b5508320: linux: implement set_cloned_tls() on arm64
Branches
Unknown
Tags
Unknown