Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Mar 1997 21:44:08 -0500 (EST)
From:      Thomas David Rivers <ponds!rivers@dg-rtp.dg.com>
To:        ponds!freefall.cdrom.com!freebsd-hackers, ponds!uriah.heep.sax.de!joerg_wunsch, ponds!lakes.water.net!rivers
Subject:    "dup alloc" report - checking on recent fix to scsi_base.c
Message-ID:  <199703260244.VAA02518@lakes.water.net>

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

Joerg sent me the following (thanks!) which I had high hopes of
fixing the "dup alloc" problem (as it is exactly the type of thing
I'm looking for...)  and is exactly where I'm looking... (My own
tests didn't bring this case forward; but I'm willing to believe my
tests aren't worth diddly :-) )

Unfortunately, after trying it out, it wasn't the case... that is,
the problem still occurs.... (sigh.)

Back to the printf()s....

	- Dave Rivers -

> 
> As Thomas David Rivers wrote:
> 
> >  This patch didn't come across my mail... can you send it to me?
> > [I'm guessing it's just wrapping calls to free_xs() with splbio()/splx,
> > but I want to make sure.]
> 
> Your guess is correct. :)
> 
> Index: /sys/scsi/scsi_base.c
> ===================================================================
> RCS file: /home/cvs/src/sys/scsi/scsi_base.c,v
> retrieving revision 1.46
> retrieving revision 1.47
> diff -u -u -r1.46 -r1.47
> --- scsi_base.c	1997/03/23 06:33:46	1.46
> +++ scsi_base.c	1997/03/24 01:46:15	1.47
> @@ -616,7 +616,9 @@
>  	 * check if anyone else needs to be started up.
>  	 */
>  bad:
> +	s = splbio();
>  	free_xs(xs, sc_link, flags);	/* includes the 'start' op */
> +	splx(s);
>  	if (bp && retval) {
>  		bp->b_error = retval;
>  		bp->b_flags |= B_ERROR;
> 
> 
> -- 
> cheers, J"org
> 
> joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
> Never trust an operating system you don't have sources for. ;-)
> 



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