Bug 56441

Summary: bpf_tap() used incorrectly in bpf
Product: Base System Reporter: Vladimir Yu. Stepanov <vys>
Component: kernAssignee: Andre Oppermann <andre>
Status: Closed FIXED    
Severity: Affects Only Me CC: vys
Priority: Normal    
Version: 5.0-RELEASE   
Hardware: Any   
OS: Any   

Description Vladimir Yu. Stepanov 2003-09-04 15:30:20 UTC
 In file 'sys/net/bpf.c' have a error introduced in CVS revision 1.95.
 This error is critical for the programs with used flag BIOCGSEESENT.
 Locally generated packet may be copied in user space if flag BIOCGSEESENT
 set to one. Function 'bpf_tap' must be used only for incoming packets.
 But function 'bpf_mtap' uses 'bpf_tap'. It is fast. But it's wrong.

How-To-Repeat:  diff -ruN sys.orig/net/bpf.c sys/net/bpf.c
 --- sys.orig/net/bpf.c	Thu Aug 28 14:49:02 2003
 +++ sys/net/bpf.c	Thu Sep  4 17:24:18 2003
 @@ -1140,11 +1140,6 @@
  	u_int pktlen, slen;
  
  	pktlen = m_length(m, NULL);
 -	if (pktlen == m->m_len) {
 -		bpf_tap(bp, mtod(m, u_char *), pktlen);
 -		return;
 -	}
 -
  	BPFIF_LOCK(bp);
  	for (d = bp->bif_dlist; d != 0; d = d->bd_next) {
  		if (!d->bd_seesent && (m->m_pkthdr.rcvif == NULL))
Comment 1 Ceri Davies freebsd_committer freebsd_triage 2003-09-04 19:02:38 UTC
Responsible Changed
From-To: gnats-admin->freebsd-bugs

Reassign misfiled PR.
Comment 2 Andre Oppermann freebsd_committer freebsd_triage 2003-12-27 17:12:07 UTC
Responsible Changed
From-To: freebsd-bugs->andre

Take over.
Comment 3 Andre Oppermann freebsd_committer freebsd_triage 2005-09-14 17:37:43 UTC
State Changed
From-To: open->patched

Patch committed in sys/net/bpf.c rev. 1.160.  MFC pending.
Comment 4 Andre Oppermann freebsd_committer freebsd_triage 2005-09-26 15:21:40 UTC
State Changed
From-To: patched->closed

MFC to RELENG_6 and RELENG_5 done.