]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r316809:
authorcy <cy@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 21 Apr 2017 01:51:49 +0000 (01:51 +0000)
committercy <cy@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 21 Apr 2017 01:51:49 +0000 (01:51 +0000)
commit975c81d4c4271049bab957d8883c7fe5b1b2c7c0
tree135bd2a879fc406c72a1522aa36fd82d0dcf662a
parent9e3e58672e0fe3395d6830418dd96c8e493be38b
MFC r316809:

Fix a use after free panic in ipfilter's fragment processing.
Memory is malloc'd, then a search for a match in the fragment table
is made and if the fragment matches, the wrong fragment table is
freed, causing a use after free panic. This commit fixes this.

A symptom of the problem is a kernel page fault in bcopy() called by
ipf_frag_lookup() at line 715 in ip_frag.c. Another symptom is a
kernel page fault in ipf_frag_delete() when called by ipf_frag_expire()
via ipf_slowtimer().

git-svn-id: svn://svn.freebsd.org/base/stable/10@317241 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/contrib/ipfilter/netinet/ip_frag.c