Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jan 1998 09:10:03 -0800 (PST)
From:      Cy Schubert <cys@wlc.com>
To:        freebsd-bugs
Subject:   Re: kern/5396: fdesc fs crashes system
Message-ID:  <199801181710.JAA23294@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/5396; it has been noted by GNATS.

From: Cy Schubert <cys@wlc.com>
To: freebsd-gnats-submit@freebsd.org, dada@sbox.tu-graz.ac.at,
        cschuber@uumail.gov.bc.ca
Cc:  Subject: Re: kern/5396: fdesc fs crashes system
Date: Sun, 18 Jan 1998 08:22:39 -0800

 This is a multi-part message in MIME format.
 --------------7659CB72A8A636143F84B4FC
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 I submitted a PR a while ago about this and submitted a followup fix to
 this about two weeks ago.  I believe that my fix has been incorporated
 into -stable and should be included in 2.2.6.  Here is the fix.
 
 
 Regards,                       Phone:  (250)387-8437
 Cy Schubert                      Fax:  (250)387-5766
 UNIX Support                   OV/VM:  BCSC02(CSCHUBER)
 ITSD                          BITNET:  CSCHUBER@BCSC02.BITNET
 Government of BC            Internet:  cschuber@uumail.gov.bc.ca
                                        Cy.Schubert@gems8.gov.bc.ca
 
                 "Quit spooling around, JES do it."
 
 
 --------------7659CB72A8A636143F84B4FC
 Content-Type: text/plain; charset=us-ascii; name="fdesc_panic_fix.usermod"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline; filename="fdesc_panic_fix.usermod"
 
 --- sys/miscfs/fdesc/fdesc_vnops.c.orig	Sat Dec 21 11:04:28 1996
 +++ sys/miscfs/fdesc/fdesc_vnops.c	Fri Jan  2 09:18:12 1998
 @@ -409,11 +409,18 @@
  		}
  		break;
  
 +	case DTYPE_PIPE:
  	case DTYPE_SOCKET:
 -		error = soo_stat((struct socket *)fp->f_data, &stb);
 +		if (fp->f_type == DTYPE_SOCKET)
 +			error = soo_stat((struct socket *)fp->f_data, &stb);
 +		else
 +			error = pipe_stat((struct pipe *)fp->f_data, &stb);
  		if (error == 0) {
  			vattr_null(vap);
 -			vap->va_type = VSOCK;
 +			if (fp->f_type == DTYPE_SOCKET)
 +				vap->va_type = VSOCK;
 +			else
 +				vap->va_type = VFIFO;
  			vap->va_mode = stb.st_mode;
  			vap->va_nlink = stb.st_nlink;
  			vap->va_uid = stb.st_uid;
 @@ -557,6 +564,7 @@
  		error = VOP_SETATTR((struct vnode *) fp->f_data, ap->a_vap, ap->a_cred, ap->a_p);
  		break;
  
 +	case DTYPE_PIPE:
  	case DTYPE_SOCKET:
  		error = 0;
  		break;
 
 --------------7659CB72A8A636143F84B4FC--
 



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