svn commit: r334983 - head/sys/net
Jonathan T. Looney
jtl at FreeBSD.org
Mon Jun 11 23:32:07 UTC 2018
Author: jtl
Date: Mon Jun 11 23:32:06 2018
New Revision: 334983
URL: https://svnweb.freebsd.org/changeset/base/334983
Log:
Fix a memory leak for the BIOCSETWF ioctl on kernels with the BPF_JITTER
option.
The BPF code was creating a compiled filter in the common filter-creation
path. However, BPF only uses compiled filters in the read direction.
When creating a write filter, the common filter-creation code was
creating an unneeded write filter and leaking the memory used for that.
MFC after: 2 weeks
Sponsored by: Netflix
Modified:
head/sys/net/bpf.c
Modified: head/sys/net/bpf.c
==============================================================================
--- head/sys/net/bpf.c Mon Jun 11 22:48:34 2018 (r334982)
+++ head/sys/net/bpf.c Mon Jun 11 23:32:06 2018 (r334983)
@@ -1895,8 +1895,13 @@ bpf_setf(struct bpf_d *d, struct bpf_program *fp, u_lo
return (EINVAL);
}
#ifdef BPF_JITTER
- /* Filter is copied inside fcode and is perfectly valid. */
- jfunc = bpf_jitter(fcode, flen);
+ if (cmd != BIOCSETWF) {
+ /*
+ * Filter is copied inside fcode and is
+ * perfectly valid.
+ */
+ jfunc = bpf_jitter(fcode, flen);
+ }
#endif
}
More information about the svn-src-head
mailing list