Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Feb 2003 09:36:58 -0600
From:      "Jacques A. Vidrine" <nectar@FreeBSD.org>
To:        Daniel Ellard <ellard@eecs.harvard.edu>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: finding changes from one release/patch level to another?
Message-ID:  <20030207153658.GB90222@opus.celabo.org>
In-Reply-To: <Pine.BSF.4.51.0302070917530.19912@bowser.eecs.harvard.edu>
References:  <Pine.BSF.4.51.0302070917530.19912@bowser.eecs.harvard.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

--wRRV7LY7NUeQGEoC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Fri, Feb 07, 2003 at 09:26:49AM -0500, Daniel Ellard wrote:
> 
> Something slightly broke the em (gigabit ethernet) driver between
> 4.6.2p4 and 4.6.2p6, and I'm trying to figure what the change was so I
> can back it out on my machine.  In 4.6.2p6 almost everything works,
> but programs that push the device (such as netperf) can hang.  The
> same program running on other ethernet devices (fxp, xl) works fine.
> This happens on several machines, and they were all running correctly
> before I updated them, so I doubt that it is a hardware problem.
> 
> I don't see any changes for the em driver source itself between p4 and
> p6, and the announced differences between these patch levels don't
> look related, but something must have changed.  

It seems awfully unlikely that the changes between 4.6.2p4 and 4.6.2p6
have anything to do with your problem.  I think you are probably barking
up the wrong tree.

> Is there a
> straightforward way to track down all the source code differences
> between p4 and p6 (or any arbitrary pair of patchlevels)?

Check out the RELENG_4_6 branch.  Then run e.g.

    cvs -q diff -j 'RELENG_4_6:2002/10/28' -j 'RELENG_4_6:2003/01/08'

Output attached to save you the trouble.

Cheers,
-- 
Jacques A. Vidrine <nectar@celabo.org>          http://www.celabo.org/
NTT/Verio SME          .     FreeBSD UNIX     .       Heimdal Kerberos
jvidrine@verio.net     .  nectar@FreeBSD.org  .          nectar@kth.se

--wRRV7LY7NUeQGEoC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="freebsd-4.6.2p4-p6.diff"

Index: UPDATING
===================================================================
RCS file: /home/ncvs/src/UPDATING,v
retrieving revision 1.73.2.68.2.30
retrieving revision 1.73.2.68.2.32
diff -c -r1.73.2.68.2.30 -r1.73.2.68.2.32
*** UPDATING	26 Oct 2002 21:11:30 -0000	1.73.2.68.2.30
--- UPDATING	6 Jan 2003 12:38:21 -0000	1.73.2.68.2.32
***************
*** 17,29 ****
  updates that don't have an advisory, or to be safe, you can do a full
  build and install as described in the COMMON ITEMS section.
  
! 20021026:	p4
  	smrsh bypass bug.
  
! 20021023:       p3
  	Correct kadmind buffer overflow.
  
! 20020911:	p2
  	The kvm_openfiles/kvm_open functions now mark the returned file
  	descriptors close-on-exec in case set-user-ID/set-group-ID
  	applications are careless.
--- 17,35 ----
  updates that don't have an advisory, or to be safe, you can do a full
  build and install as described in the COMMON ITEMS section.
  
! 20030106:	p6	FreeBSD-SA-02:44.filedesc
! 	Correct a reference counting bug in fpathconf(2).
! 
! 20021113:	p5	FreeBSD-SA-02:43.bind
! 	Correct name server vulnerabilities.
! 
! 20021026:	p4	FreeBSD-SA-02:41.smrsh
  	smrsh bypass bug.
  
! 20021023:	p3	FreeBSD-SA-02:40.kadmind
  	Correct kadmind buffer overflow.
  
! 20020911:	p2	FreeBSD-SA-02:39.libkvm
  	The kvm_openfiles/kvm_open functions now mark the returned file
  	descriptors close-on-exec in case set-user-ID/set-group-ID
  	applications are careless.
***************
*** 1191,1194 ****
  If you find this document useful, and you want to, you may buy the
  author a beer.
  
! $FreeBSD: src/UPDATING,v 1.73.2.68.2.30 2002/10/26 21:11:30 gshapiro Exp $
--- 1197,1200 ----
  If you find this document useful, and you want to, you may buy the
  author a beer.
  
! $FreeBSD: src/UPDATING,v 1.73.2.68.2.32 2003/01/06 12:38:21 nectar Exp $
Index: contrib/bind/CHANGES
===================================================================
RCS file: /home/ncvs/src/contrib/bind/CHANGES,v
retrieving revision 1.1.1.7.2.6.2.1
retrieving revision 1.1.1.7.2.6.2.2
diff -c -r1.1.1.7.2.6.2.1 -r1.1.1.7.2.6.2.2
*** contrib/bind/CHANGES	15 Jul 2002 07:51:02 -0000	1.1.1.7.2.6.2.1
--- contrib/bind/CHANGES	14 Nov 2002 03:18:40 -0000	1.1.1.7.2.6.2.2
***************
*** 1,3 ****
--- 1,23 ----
+ 1469.	[bug]		buffer length calculation for PX was wrong.
+ 
+ 1468.	[bug]		ns_name_ntol() could overwite a zero length buffer.
+ 
+ 1467.	[bug]		off by one bug in ns_makecannon().
+ 
+ 1466.	[bug]		large ENDS UDP buffer size could trigger a assertion.
+ 
+ 1465.	[bug]		possible NULL pointer dereference in db_sec.c
+ 
+ 1464.	[bug]      	the buffer used to construct the -ve record was not
+ 			big enough for all possible SOA records.  use pointer
+ 			arithmetic to calculate the remaining size in this
+ 			buffer.
+ 
+ 1463.	[bug]		use serial space arithmetic to determine if a SIG is
+ 			too old, in the future or has internally constistant
+ 			times.
+ 
+ 1462.	[bug]		write buffer overflow in make_rr().
  
  	--- 8.3.3-REL released --- (Wed Jun 26 21:15:43 PDT 2002)
  
Index: contrib/bind/bin/named/db_defs.h
===================================================================
RCS file: /home/ncvs/src/contrib/bind/bin/named/db_defs.h,v
retrieving revision 1.1.1.2.2.4.2.1
retrieving revision 1.1.1.2.2.4.2.2
diff -c -r1.1.1.2.2.4.2.1 -r1.1.1.2.2.4.2.2
*** contrib/bind/bin/named/db_defs.h	15 Jul 2002 07:51:12 -0000	1.1.1.2.2.4.2.1
--- contrib/bind/bin/named/db_defs.h	14 Nov 2002 03:18:40 -0000	1.1.1.2.2.4.2.2
***************
*** 78,84 ****
   */
  
  	/* max length of data in RR data field */
! #define MAXDATA		(2*MAXDNAME + 5*INT32SZ)
  
  	/* max length of data in a TXT RR segment */
  #define MAXCHARSTRING 255
--- 78,84 ----
   */
  
  	/* max length of data in RR data field */
! #define MAXDATA		(3*MAXDNAME + 5*INT32SZ)
  
  	/* max length of data in a TXT RR segment */
  #define MAXCHARSTRING 255
Index: contrib/bind/bin/named/db_sec.c
===================================================================
RCS file: /home/ncvs/src/contrib/bind/bin/named/db_sec.c,v
retrieving revision 1.1.1.1.4.3
retrieving revision 1.1.1.1.4.3.2.1
diff -c -r1.1.1.1.4.3 -r1.1.1.1.4.3.2.1
*** contrib/bind/bin/named/db_sec.c	17 Feb 2002 15:48:38 -0000	1.1.1.1.4.3
--- contrib/bind/bin/named/db_sec.c	14 Nov 2002 03:18:40 -0000	1.1.1.1.4.3.2.1
***************
*** 479,485 ****
  	struct sig_record *sigdata;
  	struct dnode *sigdn;
  	struct databuf *sigdp;
! 	time_t now;
  	char *signer;
  	u_char name_n[MAXDNAME];
  	u_char *sig, *eom;
--- 479,487 ----
  	struct sig_record *sigdata;
  	struct dnode *sigdn;
  	struct databuf *sigdp;
! 	u_int32_t now;
! 	u_int32_t exptime;
! 	u_int32_t signtime;
  	char *signer;
  	u_char name_n[MAXDNAME];
  	u_char *sig, *eom;
***************
*** 492,497 ****
--- 494,500 ----
  	int dnssec_failed = 0, dnssec_succeeded = 0;
  	int return_value;
  	int i;
+ 	int expired = 0;
  
  	if (rrset == NULL || rrset->rr_name == NULL) {
  		ns_warning (ns_log_default, "verify_set: missing rrset/name");
***************
*** 527,537 ****
  		 * Don't verify a set if the SIG inception time is in
  		 * the future.  This should be fixed before 2038 (BEW)
  		 */
! 		if ((time_t)ntohl(sigdata->sig_time_n) > now)
  			continue;
  
  		/* An expired set is dropped, but the data is not. */
! 		if ((time_t)ntohl(sigdata->sig_exp_n) < now) {
  			db_detach(&sigdn->dp);
  			sigdp = NULL;
  			continue;
--- 530,543 ----
  		 * Don't verify a set if the SIG inception time is in
  		 * the future.  This should be fixed before 2038 (BEW)
  		 */
! 		signtime = ntohl(sigdata->sig_time_n);
! 		if (SEQ_GT(signtime, now))
  			continue;
  
  		/* An expired set is dropped, but the data is not. */
! 		exptime = ntohl(sigdata->sig_exp_n);
! 		if (SEQ_GT(now, exptime)) {
! 			expired++;
  			db_detach(&sigdn->dp);
  			sigdp = NULL;
  			continue;
***************
*** 723,729 ****
  	}
  
  end:
! 	if (dnssec_failed > 0)
  		rrset_trim_sigs(rrset);
  	if (trustedkey == 0 && key != NULL)
  		dst_free_key(key);
--- 729,735 ----
  	}
  
  end:
! 	if (dnssec_failed > 0 || expired > 0)
  		rrset_trim_sigs(rrset);
  	if (trustedkey == 0 && key != NULL)
  		dst_free_key(key);
Index: contrib/bind/bin/named/ns_defs.h
===================================================================
RCS file: /home/ncvs/src/contrib/bind/bin/named/ns_defs.h,v
retrieving revision 1.1.1.3.2.5.2.1
retrieving revision 1.1.1.3.2.5.2.2
diff -c -r1.1.1.3.2.5.2.1 -r1.1.1.3.2.5.2.2
*** contrib/bind/bin/named/ns_defs.h	15 Jul 2002 07:51:12 -0000	1.1.1.3.2.5.2.1
--- contrib/bind/bin/named/ns_defs.h	14 Nov 2002 03:18:40 -0000	1.1.1.3.2.5.2.2
***************
*** 469,475 ****
  			q_cmsglen,	/* len of cname message */
  			q_cmsgsize;	/* allocated size of cname message */
  	int16_t		q_dfd;		/* UDP file descriptor */
! 	int16_t		q_udpsize;	/* UDP message size */
  	int		q_distance;	/* distance this query is from the
  					 * original query that the server
  					 * received. */
--- 469,475 ----
  			q_cmsglen,	/* len of cname message */
  			q_cmsgsize;	/* allocated size of cname message */
  	int16_t		q_dfd;		/* UDP file descriptor */
! 	u_int16_t	q_udpsize;	/* UDP message size */
  	int		q_distance;	/* distance this query is from the
  					 * original query that the server
  					 * received. */
Index: contrib/bind/bin/named/ns_ncache.c
===================================================================
RCS file: /home/ncvs/src/contrib/bind/bin/named/ns_ncache.c,v
retrieving revision 1.1.1.2.2.2
retrieving revision 1.1.1.2.2.2.2.1
diff -c -r1.1.1.2.2.2 -r1.1.1.2.2.2.2.1
*** contrib/bind/bin/named/ns_ncache.c	17 Feb 2002 15:48:38 -0000	1.1.1.2.2.2
--- contrib/bind/bin/named/ns_ncache.c	14 Nov 2002 03:18:40 -0000	1.1.1.2.2.2.2.1
***************
*** 66,72 ****
  	u_int16_t atype;
  	u_char *sp, *cp1;
  	u_char data[MAXDATA];
! 	size_t len = sizeof data;
  #endif
  
  	nameserIncr(from.sin_addr, nssRcvdNXD);
--- 66,72 ----
  	u_int16_t atype;
  	u_char *sp, *cp1;
  	u_char data[MAXDATA];
! 	u_char *eod = data + sizeof(data);
  #endif
  
  	nameserIncr(from.sin_addr, nssRcvdNXD);
***************
*** 186,192 ****
  		rdatap = cp;
  
  		/* origin */
! 		n = dn_expand(msg, msg + msglen, cp, (char*)data, len);
  		if (n < 0) {
  			ns_debug(ns_log_ncache, 3,
  				 "ncache: origin form error");
--- 186,192 ----
  		rdatap = cp;
  
  		/* origin */
! 		n = dn_expand(msg, msg + msglen, cp, (char*)data, eod - data);
  		if (n < 0) {
  			ns_debug(ns_log_ncache, 3,
  				 "ncache: origin form error");
***************
*** 195,203 ****
  		cp += n;
  		n = strlen((char*)data) + 1;
  		cp1 = data + n;
- 		len -= n;
  		/* mail */
! 		n = dn_expand(msg, msg + msglen, cp, (char*)cp1, len);
  		if (n < 0) {
  			ns_debug(ns_log_ncache, 3, "ncache: mail form error");
  			return;
--- 195,202 ----
  		cp += n;
  		n = strlen((char*)data) + 1;
  		cp1 = data + n;
  		/* mail */
! 		n = dn_expand(msg, msg + msglen, cp, (char*)cp1, eod - cp1);
  		if (n < 0) {
  			ns_debug(ns_log_ncache, 3, "ncache: mail form error");
  			return;
***************
*** 205,224 ****
  		cp += n;
  		n = strlen((char*)cp1) + 1;
  		cp1 += n;
- 		len -= n;
  		n = 5 * INT32SZ;
  		BOUNDS_CHECK(cp, n);
  		memcpy(cp1, cp, n);
  		/* serial, refresh, retry, expire, min */
  		cp1 += n;
- 		len -= n;
  		cp += n;
  		if (cp != rdatap + dlen) {
  			ns_debug(ns_log_ncache, 3, "ncache: form error");
  			return;
  		}
  		/* store the zone of the soa record */
! 		n = dn_expand(msg, msg + msglen, sp, (char*)cp1, len);
  		if (n < 0) {
  			ns_debug(ns_log_ncache, 3, "ncache: form error 2");
  			return;
--- 204,223 ----
  		cp += n;
  		n = strlen((char*)cp1) + 1;
  		cp1 += n;
  		n = 5 * INT32SZ;
+ 		if (n > (eod - cp1))	/* Can't happen. See MAXDATA. */
+ 			return;
  		BOUNDS_CHECK(cp, n);
  		memcpy(cp1, cp, n);
  		/* serial, refresh, retry, expire, min */
  		cp1 += n;
  		cp += n;
  		if (cp != rdatap + dlen) {
  			ns_debug(ns_log_ncache, 3, "ncache: form error");
  			return;
  		}
  		/* store the zone of the soa record */
! 		n = dn_expand(msg, msg + msglen, sp, (char*)cp1, eod - cp1);
  		if (n < 0) {
  			ns_debug(ns_log_ncache, 3, "ncache: form error 2");
  			return;
Index: contrib/bind/bin/named/ns_req.c
===================================================================
RCS file: /home/ncvs/src/contrib/bind/bin/named/ns_req.c,v
retrieving revision 1.1.1.2.2.9.2.1
retrieving revision 1.1.1.2.2.9.2.2
diff -c -r1.1.1.2.2.9.2.1 -r1.1.1.2.2.9.2.2
*** contrib/bind/bin/named/ns_req.c	15 Jul 2002 07:51:12 -0000	1.1.1.2.2.9.2.1
--- contrib/bind/bin/named/ns_req.c	14 Nov 2002 03:18:40 -0000	1.1.1.2.2.9.2.2
***************
*** 2195,2201 ****
  
  		/* first just copy over the type_covered, algorithm, */
  		/* labels, orig ttl, two timestamps, and the footprint */
! 		if ((dp->d_size - 18) > buflen)
  			goto cleanup;  /* out of room! */
  		memcpy(cp, cp1, 18);
  		cp  += 18;
--- 2195,2201 ----
  
  		/* first just copy over the type_covered, algorithm, */
  		/* labels, orig ttl, two timestamps, and the footprint */
! 		if (buflen < 18)
  			goto cleanup;  /* out of room! */
  		memcpy(cp, cp1, 18);
  		cp  += 18;
Index: contrib/bind/bin/named/ns_resp.c
===================================================================
RCS file: /home/ncvs/src/contrib/bind/bin/named/ns_resp.c,v
retrieving revision 1.1.1.2.2.6.2.1
retrieving revision 1.1.1.2.2.6.2.2
diff -c -r1.1.1.2.2.6.2.1 -r1.1.1.2.2.6.2.2
*** contrib/bind/bin/named/ns_resp.c	15 Jul 2002 07:51:12 -0000	1.1.1.2.2.6.2.1
--- contrib/bind/bin/named/ns_resp.c	14 Nov 2002 03:18:40 -0000	1.1.1.2.2.6.2.2
***************
*** 2001,2007 ****
  		 * to BOUNDS_CHECK() here.
  		 */
  		cp1 += (n = strlen((char *)cp1) + 1);
! 		n1 = sizeof(data) - n;
  		n = dn_expand(msg, eom, cp, (char *)cp1, n1);
  		if (n < 0) {
  			hp->rcode = FORMERR;
--- 2001,2007 ----
  		 * to BOUNDS_CHECK() here.
  		 */
  		cp1 += (n = strlen((char *)cp1) + 1);
! 		n1 = sizeof(data) - n - INT16SZ;
  		n = dn_expand(msg, eom, cp, (char *)cp1, n1);
  		if (n < 0) {
  			hp->rcode = FORMERR;
***************
*** 2043,2050 ****
  			ttl = origTTL;
  		}
  
  		/* Don't let bogus signers "sign" in the future.  */
! 		if (signtime > now) {
  			ns_debug(ns_log_default, 3,
  			  "ignoring SIG: signature date %s is in the future",
  				 p_secstodate (signtime));
--- 2043,2060 ----
  			ttl = origTTL;
  		}
  
+ 		/*
+ 		 * Check that expire and signature times are internally
+ 		 * consistant.
+ 		 */
+ 		if (!SEQ_GT(exptime, signtime) && exptime != signtime) {
+ 			ns_debug(ns_log_default, 3,
+ 			"ignoring SIG: signature expires before it was signed");
+ 			return ((cp - rrp) + dlen);
+ 		}
+ 
  		/* Don't let bogus signers "sign" in the future.  */
! 		if (SEQ_GT(signtime, now)) {
  			ns_debug(ns_log_default, 3,
  			  "ignoring SIG: signature date %s is in the future",
  				 p_secstodate (signtime));
***************
*** 2052,2058 ****
  		}
  		
  		/* Ignore received SIG RR's that are already expired.  */
! 		if (exptime <= now) {
  			ns_debug(ns_log_default, 3,
  				"ignoring SIG: expiration %s is in the past",
  				 p_secstodate (exptime));
--- 2062,2068 ----
  		}
  		
  		/* Ignore received SIG RR's that are already expired.  */
! 		if (SEQ_GT(now, exptime)) {
  			ns_debug(ns_log_default, 3,
  				"ignoring SIG: expiration %s is in the past",
  				 p_secstodate (exptime));
Index: contrib/bind/lib/nameser/ns_name.c
===================================================================
RCS file: /home/ncvs/src/contrib/bind/lib/nameser/ns_name.c,v
retrieving revision 1.1.1.2.2.2.2.1
retrieving revision 1.1.1.2.2.2.2.2
diff -c -r1.1.1.2.2.2.2.1 -r1.1.1.2.2.2.2.2
*** contrib/bind/lib/nameser/ns_name.c	15 Jul 2002 07:51:18 -0000	1.1.1.2.2.2.2.1
--- contrib/bind/lib/nameser/ns_name.c	14 Nov 2002 03:18:41 -0000	1.1.1.2.2.2.2.2
***************
*** 341,346 ****
--- 341,350 ----
  	dn = dst;
  	eom = dst + dstsiz;
  
+ 	if (dn >= eom) {
+ 		errno = EMSGSIZE;
+ 		return (-1);
+ 	}
  	while ((n = *cp++) != 0) {
  		if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) {
  			/* Some kind of compression pointer. */
Index: contrib/bind/lib/nameser/ns_samedomain.c
===================================================================
RCS file: /home/ncvs/src/contrib/bind/lib/nameser/ns_samedomain.c,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.12.1
diff -c -r1.1.1.1 -r1.1.1.1.12.1
*** contrib/bind/lib/nameser/ns_samedomain.c	30 Nov 1999 02:42:58 -0000	1.1.1.1
--- contrib/bind/lib/nameser/ns_samedomain.c	14 Nov 2002 03:18:41 -0000	1.1.1.1.12.1
***************
*** 166,172 ****
  ns_makecanon(const char *src, char *dst, size_t dstsize) {
  	size_t n = strlen(src);
  
! 	if (n + sizeof "." > dstsize) {
  		errno = EMSGSIZE;
  		return (-1);
  	}
--- 166,172 ----
  ns_makecanon(const char *src, char *dst, size_t dstsize) {
  	size_t n = strlen(src);
  
! 	if (n + sizeof "." + 1 > dstsize) {
  		errno = EMSGSIZE;
  		return (-1);
  	}
Index: sys/conf/newvers.sh
===================================================================
RCS file: /home/ncvs/src/sys/conf/newvers.sh,v
retrieving revision 1.44.2.23.2.21
retrieving revision 1.44.2.23.2.23
diff -c -r1.44.2.23.2.21 -r1.44.2.23.2.23
*** sys/conf/newvers.sh	26 Oct 2002 21:11:30 -0000	1.44.2.23.2.21
--- sys/conf/newvers.sh	6 Jan 2003 12:38:21 -0000	1.44.2.23.2.23
***************
*** 32,42 ****
  # SUCH DAMAGE.
  #
  #	@(#)newvers.sh	8.1 (Berkeley) 4/20/94
! # $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.23.2.21 2002/10/26 21:11:30 gshapiro Exp $
  
  TYPE="FreeBSD"
  REVISION="4.6.2"
! BRANCH="RELEASE-p4"
  RELEASE="${REVISION}-${BRANCH}"
  VERSION="${TYPE} ${RELEASE}"
  
--- 32,42 ----
  # SUCH DAMAGE.
  #
  #	@(#)newvers.sh	8.1 (Berkeley) 4/20/94
! # $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.23.2.23 2003/01/06 12:38:21 nectar Exp $
  
  TYPE="FreeBSD"
  REVISION="4.6.2"
! BRANCH="RELEASE-p6"
  RELEASE="${REVISION}-${BRANCH}"
  VERSION="${TYPE} ${RELEASE}"
  
Index: sys/kern/kern_descrip.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_descrip.c,v
retrieving revision 1.81.2.14
retrieving revision 1.81.2.14.2.1
diff -c -r1.81.2.14 -r1.81.2.14.2.1
*** sys/kern/kern_descrip.c	29 Apr 2002 15:14:12 -0000	1.81.2.14
--- sys/kern/kern_descrip.c	6 Jan 2003 12:38:21 -0000	1.81.2.14.2.1
***************
*** 36,42 ****
   * SUCH DAMAGE.
   *
   *	@(#)kern_descrip.c	8.6 (Berkeley) 4/19/94
!  * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.14 2002/04/29 15:14:12 asmodai Exp $
   */
  
  #include "opt_compat.h"
--- 36,42 ----
   * SUCH DAMAGE.
   *
   *	@(#)kern_descrip.c	8.6 (Berkeley) 4/19/94
!  * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.14.2.1 2003/01/06 12:38:21 nectar Exp $
   */
  
  #include "opt_compat.h"
***************
*** 711,720 ****
  	switch (fp->f_type) {
  	case DTYPE_PIPE:
  	case DTYPE_SOCKET:
! 		if (uap->name != _PC_PIPE_BUF)
! 			return (EINVAL);
! 		p->p_retval[0] = PIPE_BUF;
! 		error = 0;
  		break;
  	case DTYPE_FIFO:
  	case DTYPE_VNODE:
--- 711,722 ----
  	switch (fp->f_type) {
  	case DTYPE_PIPE:
  	case DTYPE_SOCKET:
! 		if (uap->name != _PC_PIPE_BUF) {
! 			error = EINVAL;
! 		} else {
! 			p->p_retval[0] = PIPE_BUF;
! 			error = 0;
! 		}
  		break;
  	case DTYPE_FIFO:
  	case DTYPE_VNODE:

--wRRV7LY7NUeQGEoC--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030207153658.GB90222>