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>