Date: Wed, 23 Aug 2000 15:24:24 -0700 From: Alfred Perlstein <bright@wintelcom.net> To: John Polstra <jdp@polstra.com> Cc: current@FreeBSD.ORG Subject: Re: panic: reducing sbsize: lost count, uid = 1001 Message-ID: <20000823152424.K4854@fw.wintelcom.net> In-Reply-To: <200008232203.PAA23790@vashon.polstra.com>; from jdp@polstra.com on Wed, Aug 23, 2000 at 03:03:28PM -0700 References: <XFMail.000823134617.jdp@polstra.com> <20000823142754.H4854@fw.wintelcom.net> <20000823145244.J4854@fw.wintelcom.net> <200008232203.PAA23790@vashon.polstra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
* John Polstra <jdp@polstra.com> [000823 15:03] wrote:
> In article <20000823145244.J4854@fw.wintelcom.net>,
> Alfred Perlstein <bright@wintelcom.net> wrote:
>
> > John can you try this patch and let us know if you still experiance
> > crashes?
>
> Will do. I'll let you know what happens.
Let's take a more paraniod approach (back out my spl in chgsbsize):
Index: uipc_socket2.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/uipc_socket2.c,v
retrieving revision 1.61
diff -u -u -r1.61 uipc_socket2.c
--- uipc_socket2.c 2000/07/31 08:23:43 1.61
+++ uipc_socket2.c 2000/08/23 22:23:47
@@ -448,10 +448,17 @@
struct sockbuf *sb;
struct socket *so;
{
+ int s;
sbflush(sb);
+ /*
+ * if we don't spl an interrupt can recurse into us and call chgsbsize
+ * before we zero sb->sb_hiwat
+ */
+ s = splnet();
(void)chgsbsize(so->so_cred->cr_uid, -(rlim_t)sb->sb_hiwat, RLIM_INFINITY);
sb->sb_hiwat = sb->sb_mbmax = 0;
+ splx(s);
}
/*
--
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000823152424.K4854>
