From nobody@FreeBSD.org  Wed May  6 16:57:51 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 27848106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  6 May 2009 16:57:51 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id EFC638FC08
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  6 May 2009 16:57:50 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n46GvoOB064274
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 6 May 2009 16:57:50 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n46Gvoen064262;
	Wed, 6 May 2009 16:57:50 GMT
	(envelope-from nobody)
Message-Id: <200905061657.n46Gvoen064262@www.freebsd.org>
Date: Wed, 6 May 2009 16:57:50 GMT
From: Thomas Mueller <tmueller@sysgo.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [linux][patch] MSG_NOSIGNAL not translated for recv(), socket timeout incorrect for 64-bit hosts
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         134276
>Category:       kern
>Synopsis:       [linux][patch] MSG_NOSIGNAL not translated for recv(), socket timeout incorrect for 64-bit hosts
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    dchagin
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 06 17:00:07 UTC 2009
>Closed-Date:    Fri May 29 14:39:55 UTC 2009
>Last-Modified:  Fri May 29 14:39:55 UTC 2009
>Originator:     Thomas Mueller
>Release:        7.2-STABLE
>Organization:
>Environment:
FreeBSD tom.ulm.sysgo.com 7.2-STABLE FreeBSD 7.2-STABLE #16: Mon May  4 15:12:43 CEST 2009     toor@tom.ulm.sysgo.com:/usr/obj/usr/src/sys/TOM  amd64
>Description:
I've encountered two socket related problems with the Linux emulation:

1. A Linux application passing the MSG_NOSIGNAL flag in calls to 
   recv() or recvfrom() will still receive a SIGPIPE if the condition
   for sending the signal is met.

2. An attempt to set socket timeouts with a call to setsocktopt() using the 
   SO_RECVTIMEO or SO_SNDTIMEO option will fail with [EINVAL] on amd64.

>How-To-Repeat:

>Fix:
1. Call linux_to_bsd_msg_flags() in linux_recv().
2. Translate l_timeval arg to native struct timeval in linux_setsockopt().

Patch attached.

Patch attached with submission follows:

Index: linux_socket.c
===================================================================
RCS file: /usr/home/tmu/repos/FreeBSD/repo/src/sys/compat/linux/linux_socket.c,v
retrieving revision 1.74.2.1
diff -u -p -r1.74.2.1 linux_socket.c
--- linux_socket.c	17 Sep 2008 08:05:39 -0000	1.74.2.1
+++ linux_socket.c	6 May 2009 16:51:16 -0000
@@ -871,7 +871,7 @@ linux_recv(struct thread *td, struct lin
 	bsd_args.s = args->s;
 	bsd_args.buf = (caddr_t)PTRIN(args->msg);
 	bsd_args.len = args->len;
-	bsd_args.flags = args->flags;
+	bsd_args.flags = linux_to_bsd_msg_flags(args->flags);
 	bsd_args.from = NULL;
 	bsd_args.fromlenaddr = 0;
 	return (recvfrom(td, &bsd_args));
@@ -1104,6 +1104,17 @@ linux_setsockopt(struct thread *td, stru
 			bsd_args.valsize);
 		error = setsockopt(td, &bsd_args);
 		bsd_to_linux_sockaddr((struct sockaddr *)bsd_args.val);
+	} else if (name == SO_RCVTIMEO || name == SO_SNDTIMEO) {
+		l_timeval lnx_tv;
+		struct timeval tv;
+
+		error = copyin(bsd_args.val, &lnx_tv, sizeof(lnx_tv));
+		if (!error) {
+			tv.tv_sec = lnx_tv.tv_sec;
+			tv.tv_usec = lnx_tv.tv_usec;
+			error = kern_setsockopt(td, bsd_args.s, bsd_args.level,
+				bsd_args.name, &tv, UIO_SYSSPACE, sizeof(tv));
+		}
 	} else
 		error = setsockopt(td, &bsd_args);
 


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-emulation 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Fri May 8 03:45:32 UTC 2009 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=134276 

From: Chagin Dmitry <dchagin@freebsd.org>
To: Thomas Mueller <tmueller@sysgo.com>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: kern/134276: [linux][patch] MSG_NOSIGNAL not translated for
	recv(), socket timeout incorrect for 64-bit hosts
Date: Sat, 9 May 2009 00:10:03 +0400

 --dDRMvlgZJXvWKvBx
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 On Wed, May 06, 2009 at 04:57:50PM +0000, Thomas Mueller wrote:
 >=20
 > >Number:         134276
 > >Category:       kern
 > >Synopsis:       [linux][patch] MSG_NOSIGNAL not translated for recv(), s=
 ocket timeout incorrect for 64-bit hosts
 > >Confidential:   no
 > >Severity:       non-critical
 > >Priority:       low
 > >Responsible:    freebsd-bugs
 > >State:          open
 > >Quarter:       =20
 > >Keywords:      =20
 > >Date-Required:
 > >Class:          sw-bug
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Wed May 06 17:00:07 UTC 2009
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Thomas Mueller
 > >Release:        7.2-STABLE
 > >Organization:
 > >Environment:
 > FreeBSD tom.ulm.sysgo.com 7.2-STABLE FreeBSD 7.2-STABLE #16: Mon May  4 1=
 5:12:43 CEST 2009     toor@tom.ulm.sysgo.com:/usr/obj/usr/src/sys/TOM  amd64
 > >Description:
 > I've encountered two socket related problems with the Linux emulation:
 >=20
 > 1. A Linux application passing the MSG_NOSIGNAL flag in calls to=20
 >    recv() or recvfrom() will still receive a SIGPIPE if the condition
 >    for sending the signal is met.
 >=20
 > 2. An attempt to set socket timeouts with a call to setsocktopt() using t=
 he=20
 >    SO_RECVTIMEO or SO_SNDTIMEO option will fail with [EINVAL] on amd64.
 >=20
 
 What the Linux application you have mentioned?
 I should know it to test patches. Thank you.
 
 --=20
 Have fun!
 chd
 
 --dDRMvlgZJXvWKvBx
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.10 (FreeBSD)
 
 iEYEARECAAYFAkoEkZoACgkQ0t2Tb3OO/O05SwCfaVw+4LflVkXIDk9CIM4I32Fh
 7bMAnRg/VWcAMRQGEnTD9L+W6RuJkf4Q
 =md+G
 -----END PGP SIGNATURE-----
 
 --dDRMvlgZJXvWKvBx--

From: Thomas Mueller <tmueller@sysgo.com>
To: Chagin Dmitry <dchagin@freebsd.org>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: kern/134276: [linux][patch] MSG_NOSIGNAL not translated for
 recv(), socket timeout incorrect for 64-bit hosts
Date: Sat, 9 May 2009 08:30:53 +0200

 On Sat, 9 May 2009 00:10:03 +0400, Chagin Dmitry wrote:
 > On Wed, May 06, 2009 at 04:57:50PM +0000, Thomas Mueller wrote:
 > > 
 > > >Number:         134276
 > > >Category:       kern
 > > >Synopsis:       [linux][patch] MSG_NOSIGNAL not translated for recv(), socket timeout incorrect for 64-bit hosts
 > > >Confidential:   no
 > > >Severity:       non-critical
 > > >Priority:       low
 > > >Responsible:    freebsd-bugs
 > > >State:          open
 > > >Quarter:        
 > > >Keywords:       
 > > >Date-Required:
 > > >Class:          sw-bug
 > > >Submitter-Id:   current-users
 > > >Arrival-Date:   Wed May 06 17:00:07 UTC 2009
 > > >Closed-Date:
 > > >Last-Modified:
 > > >Originator:     Thomas Mueller
 > > >Release:        7.2-STABLE
 > > >Organization:
 > > >Environment:
 > > FreeBSD tom.ulm.sysgo.com 7.2-STABLE FreeBSD 7.2-STABLE #16: Mon May  4 15:12:43 CEST 2009     toor@tom.ulm.sysgo.com:/usr/obj/usr/src/sys/TOM  amd64
 > > >Description:
 > > I've encountered two socket related problems with the Linux emulation:
 > > 
 > > 1. A Linux application passing the MSG_NOSIGNAL flag in calls to 
 > >    recv() or recvfrom() will still receive a SIGPIPE if the condition
 > >    for sending the signal is met.
 > > 
 > > 2. An attempt to set socket timeouts with a call to setsocktopt() using the 
 > >    SO_RECVTIMEO or SO_SNDTIMEO option will fail with [EINVAL] on amd64.
 > > 
 > 
 > What the Linux application you have mentioned?
 > I should know it to test patches. Thank you.
 
 Sorry for not mentioning it in the PR. The applications are part of the
 LM-X License Manager package by X-Formation (http://www.x-formation.com/).
 It looks like they offer a trial download but require registration.
 
 When back in the office (next weeek), I could revert my local changes
 and provide you with an output of linux_kdump if that helps. I would
 also test patches.
 
 
 -- 
 Thomas Mueller

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/134276: commit references a PR
Date: Mon, 11 May 2009 13:42:55 +0000 (UTC)

 Author: dchagin
 Date: Mon May 11 13:42:40 2009
 New Revision: 191988
 URL: http://svn.freebsd.org/changeset/base/191988
 
 Log:
   Add forgotten linux to bsd flags argument mapping into the linux_recv().
   
   PR:		kern/134276
   Submitted by:	Thomas Mueller <tmueller sysgo com>
   Approved by:	kib (mentor)
   MFC after:	2 weeks
 
 Modified:
   head/sys/compat/linux/linux_socket.c
 
 Modified: head/sys/compat/linux/linux_socket.c
 ==============================================================================
 --- head/sys/compat/linux/linux_socket.c	Mon May 11 07:57:29 2009	(r191987)
 +++ head/sys/compat/linux/linux_socket.c	Mon May 11 13:42:40 2009	(r191988)
 @@ -924,7 +924,7 @@ linux_recv(struct thread *td, struct lin
  	bsd_args.s = args->s;
  	bsd_args.buf = (caddr_t)PTRIN(args->msg);
  	bsd_args.len = args->len;
 -	bsd_args.flags = args->flags;
 +	bsd_args.flags = linux_to_bsd_msg_flags(args->flags);
  	bsd_args.from = NULL;
  	bsd_args.fromlenaddr = 0;
  	return (recvfrom(td, &bsd_args));
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/134276: commit references a PR
Date: Mon, 11 May 2009 13:50:53 +0000 (UTC)

 Author: dchagin
 Date: Mon May 11 13:50:42 2009
 New Revision: 191989
 URL: http://svn.freebsd.org/changeset/base/191989
 
 Log:
   Translate l_timeval arg to native struct timeval in
   linux_setsockopt()/linux_getsockopt() for SO_RCVTIMEO,
   SO_SNDTIMEO opts as l_timeval has MD members.
   
   Remove bogus __packed attribute from l_timeval struct on __amd64__.
   
   PR:		kern/134276
   Submitted by:	Thomas Mueller <tmueller sysgo com>
   Approved by:	kib (mentor)
   MFC after:	2 weeks
 
 Modified:
   head/sys/amd64/linux32/linux.h
   head/sys/compat/linux/linux_socket.c
 
 Modified: head/sys/amd64/linux32/linux.h
 ==============================================================================
 --- head/sys/amd64/linux32/linux.h	Mon May 11 13:42:40 2009	(r191988)
 +++ head/sys/amd64/linux32/linux.h	Mon May 11 13:50:42 2009	(r191989)
 @@ -96,7 +96,7 @@ typedef struct {
  typedef struct {
  	l_time_t	tv_sec;
  	l_suseconds_t	tv_usec;
 -} __packed l_timeval;
 +} l_timeval;
  
  #define	l_fd_set	fd_set
  
 
 Modified: head/sys/compat/linux/linux_socket.c
 ==============================================================================
 --- head/sys/compat/linux/linux_socket.c	Mon May 11 13:42:40 2009	(r191988)
 +++ head/sys/compat/linux/linux_socket.c	Mon May 11 13:50:42 2009	(r191989)
 @@ -1278,6 +1278,8 @@ linux_setsockopt(struct thread *td, stru
  		caddr_t val;
  		int valsize;
  	} */ bsd_args;
 +	l_timeval linux_tv;
 +	struct timeval tv;
  	int error, name;
  
  	bsd_args.s = args->s;
 @@ -1285,6 +1287,23 @@ linux_setsockopt(struct thread *td, stru
  	switch (bsd_args.level) {
  	case SOL_SOCKET:
  		name = linux_to_bsd_so_sockopt(args->optname);
 +		switch (name) {
 +		case SO_RCVTIMEO:
 +			/* FALLTHROUGH */
 +		case SO_SNDTIMEO:
 +			error = copyin(PTRIN(args->optval), &linux_tv,
 +			    sizeof(linux_tv));
 +			if (error)
 +				return (error);
 +			tv.tv_sec = linux_tv.tv_sec;
 +			tv.tv_usec = linux_tv.tv_usec;
 +			return (kern_setsockopt(td, args->s, bsd_args.level,
 +			    name, &tv, UIO_SYSSPACE, sizeof(tv)));
 +			/* NOTREACHED */
 +			break;
 +		default:
 +			break;
 +		}
  		break;
  	case IPPROTO_IP:
  		name = linux_to_bsd_ip_sockopt(args->optname);
 @@ -1333,6 +1352,9 @@ linux_getsockopt(struct thread *td, stru
  		caddr_t val;
  		int *avalsize;
  	} */ bsd_args;
 +	l_timeval linux_tv;
 +	struct timeval tv;
 +	socklen_t tv_len;
  	int error, name;
  
  	bsd_args.s = args->s;
 @@ -1340,6 +1362,24 @@ linux_getsockopt(struct thread *td, stru
  	switch (bsd_args.level) {
  	case SOL_SOCKET:
  		name = linux_to_bsd_so_sockopt(args->optname);
 +		switch (name) {
 +		case SO_RCVTIMEO:
 +			/* FALLTHROUGH */
 +		case SO_SNDTIMEO:
 +			tv_len = sizeof(tv);
 +			error = kern_getsockopt(td, args->s, bsd_args.level,
 +			    name, &tv, UIO_SYSSPACE, &tv_len);
 +			if (error)
 +				return (error);
 +			linux_tv.tv_sec = tv.tv_sec;
 +			linux_tv.tv_usec = tv.tv_usec;
 +			return (copyout(&linux_tv, PTRIN(args->optval),
 +			    sizeof(linux_tv)));
 +			/* NOTREACHED */
 +			break;
 +		default:
 +			break;
 +		}
  		break;
  	case IPPROTO_IP:
  		name = linux_to_bsd_ip_sockopt(args->optname);
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: delphij 
State-Changed-When: Mon May 11 14:36:19 UTC 2009 
State-Changed-Why:  
dchagin@ has committed a fix as revision 191988 so bump this 
to 'patched' state as MFC reminder. 


Responsible-Changed-From-To: freebsd-emulation->dchagin 
Responsible-Changed-By: delphij 
Responsible-Changed-When: Mon May 11 14:36:19 UTC 2009 
Responsible-Changed-Why:  
Over to dchagin@. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=134276 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/134276: commit references a PR
Date: Mon, 25 May 2009 19:55:15 +0000 (UTC)

 Author: dchagin
 Date: Mon May 25 19:55:00 2009
 New Revision: 192767
 URL: http://svn.freebsd.org/changeset/base/192767
 
 Log:
   Merge r191988 from HEAD to stable/7:
   Add forgotten linux to bsd flags argument mapping into the linux_recv().
   
   PR:		kern/134276
   Submitted by:	Thomas Mueller <tmueller sysgo com>
   Approved by:	kib (mentor)
 
 Modified:
   stable/7/sys/   (props changed)
   stable/7/sys/compat/linux/linux_socket.c
   stable/7/sys/contrib/pf/   (props changed)
   stable/7/sys/dev/ath/ath_hal/   (props changed)
   stable/7/sys/dev/cxgb/   (props changed)
 
 Modified: stable/7/sys/compat/linux/linux_socket.c
 ==============================================================================
 --- stable/7/sys/compat/linux/linux_socket.c	Mon May 25 17:06:24 2009	(r192766)
 +++ stable/7/sys/compat/linux/linux_socket.c	Mon May 25 19:55:00 2009	(r192767)
 @@ -871,7 +871,7 @@ linux_recv(struct thread *td, struct lin
  	bsd_args.s = args->s;
  	bsd_args.buf = (caddr_t)PTRIN(args->msg);
  	bsd_args.len = args->len;
 -	bsd_args.flags = args->flags;
 +	bsd_args.flags = linux_to_bsd_msg_flags(args->flags);
  	bsd_args.from = NULL;
  	bsd_args.fromlenaddr = 0;
  	return (recvfrom(td, &bsd_args));
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/134276: commit references a PR
Date: Mon, 25 May 2009 20:24:51 +0000 (UTC)

 Author: dchagin
 Date: Mon May 25 20:24:36 2009
 New Revision: 192769
 URL: http://svn.freebsd.org/changeset/base/192769
 
 Log:
   Merge r191989 from HEAD to stable/7:
   
   Translate l_timeval arg to native struct timeval in
   linux_setsockopt()/linux_getsockopt() for SO_RCVTIMEO,
   SO_SNDTIMEO opts as l_timeval has MD members.
   
   Remove bogus __packed attribute from l_timeval struct on __amd64__.
   
   PR:		kern/134276
   Submitted by:	Thomas Mueller <tmueller sysgo com>
   Approved by:	kib (mentor)
 
 Modified:
   stable/7/sys/   (props changed)
   stable/7/sys/amd64/linux32/linux.h
   stable/7/sys/compat/linux/linux_socket.c
   stable/7/sys/contrib/pf/   (props changed)
   stable/7/sys/dev/ath/ath_hal/   (props changed)
   stable/7/sys/dev/cxgb/   (props changed)
 
 Modified: stable/7/sys/amd64/linux32/linux.h
 ==============================================================================
 --- stable/7/sys/amd64/linux32/linux.h	Mon May 25 20:07:41 2009	(r192768)
 +++ stable/7/sys/amd64/linux32/linux.h	Mon May 25 20:24:36 2009	(r192769)
 @@ -94,7 +94,7 @@ typedef struct {
  typedef struct {
  	l_time_t	tv_sec;
  	l_suseconds_t	tv_usec;
 -} __packed l_timeval;
 +} l_timeval;
  
  #define	l_fd_set	fd_set
  
 
 Modified: stable/7/sys/compat/linux/linux_socket.c
 ==============================================================================
 --- stable/7/sys/compat/linux/linux_socket.c	Mon May 25 20:07:41 2009	(r192768)
 +++ stable/7/sys/compat/linux/linux_socket.c	Mon May 25 20:24:36 2009	(r192769)
 @@ -1073,6 +1073,8 @@ linux_setsockopt(struct thread *td, stru
  		caddr_t val;
  		int valsize;
  	} */ bsd_args;
 +	l_timeval linux_tv;
 +	struct timeval tv;
  	int error, name;
  
  	bsd_args.s = args->s;
 @@ -1080,6 +1082,23 @@ linux_setsockopt(struct thread *td, stru
  	switch (bsd_args.level) {
  	case SOL_SOCKET:
  		name = linux_to_bsd_so_sockopt(args->optname);
 +		switch (name) {
 +		case SO_RCVTIMEO:
 +			/* FALLTHROUGH */
 +		case SO_SNDTIMEO:
 +			error = copyin(PTRIN(args->optval), &linux_tv,
 +			    sizeof(linux_tv));
 +			if (error)
 +				return (error);
 +			tv.tv_sec = linux_tv.tv_sec;
 +			tv.tv_usec = linux_tv.tv_usec;
 +			return (kern_setsockopt(td, args->s, bsd_args.level,
 +			    name, &tv, UIO_SYSSPACE, sizeof(tv)));
 +			/* NOTREACHED */
 +			break;
 +		default:
 +			break;
 +		}
  		break;
  	case IPPROTO_IP:
  		name = linux_to_bsd_ip_sockopt(args->optname);
 @@ -1128,6 +1147,9 @@ linux_getsockopt(struct thread *td, stru
  		caddr_t val;
  		int *avalsize;
  	} */ bsd_args;
 +	l_timeval linux_tv;
 +	struct timeval tv;
 +	socklen_t tv_len;
  	int error, name;
  
  	bsd_args.s = args->s;
 @@ -1135,6 +1157,24 @@ linux_getsockopt(struct thread *td, stru
  	switch (bsd_args.level) {
  	case SOL_SOCKET:
  		name = linux_to_bsd_so_sockopt(args->optname);
 +		switch (name) {
 +		case SO_RCVTIMEO:
 +			/* FALLTHROUGH */
 +		case SO_SNDTIMEO:
 +			tv_len = sizeof(tv);
 +			error = kern_getsockopt(td, args->s, bsd_args.level,
 +			    name, &tv, UIO_SYSSPACE, &tv_len);
 +			if (error)
 +				return (error);
 +			linux_tv.tv_sec = tv.tv_sec;
 +			linux_tv.tv_usec = tv.tv_usec;
 +			return (copyout(&linux_tv, PTRIN(args->optval),
 +			    sizeof(linux_tv)));
 +			/* NOTREACHED */
 +			break;
 +		default:
 +			break;
 +		}
  		break;
  	case IPPROTO_IP:
  		name = linux_to_bsd_ip_sockopt(args->optname);
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: dchagin 
State-Changed-When: Fri May 29 14:37:11 UTC 2009 
State-Changed-Why:  
The submitter confirmed that the problem fixed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=134276 
>Unformatted:
