Date: Wed, 16 Jan 2002 21:17:12 +0000 From: Ian Dowse <iedowse@maths.tcd.ie> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: Alfred Perlstein <bright@mu.org>, "Alan L. Cox" <alc@imimic.com>, FreeBSD-hackers@FreeBSD.ORG, re@FreeBSD.ORG Subject: Re: Need review of NFS patch set for server .. missing/wrong vput() issues Message-ID: <200201162117.aa18236@salmon.maths.tcd.ie> In-Reply-To: Your message of "Wed, 16 Jan 2002 10:50:58 PST." <200201161850.g0GIowg68383@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <200201161850.g0GIowg68383@apollo.backplane.com>, Matthew Dillon wri tes: > NFS fix). I think Ian's mknod tests are a no-brainer. They should > just go in, as should my mknod fix. I agree here - Matt's mknod fix and the S_IFMT mode bits corruption bug that I fixed are simple fixes and they are both effectively remotely exploitable (but only if you are running an NFS server, and generally only by hosts listed in /etc/exports). The first bug causes all processes to get stuck in state `inode', and the second causes filesystem corruption that requires a manual fsck to fix. Matt's mknod bug occurred during normal operation, but the other probably only happens with a hostile client. http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/nfsserver/nfs_serv.c mknod bug: revision 1.114 S_IFMT bug: revision 1.113 > #1 Fix corruption that can occur if a RW mount is downgraded to RO > #2 Fix spl confusion that can occcur in ACQUIRE_LOCK*() softupdates > routines > #3 Fix softupdates panic that can occur during heavy I/O > (see 'drain_output' calls in patch below) > > I have included Kirk's patch (for stable) below for review. It's a bit > messy so I will note that the most important fix is #3 above, and it is > a very simple and tiny portion of the below patch. I'm not so sure about these. #3 looks simple on its own I suppose. #1 has been around for years, and although annoying, the corruption is simply that some blocks don't get freed until the next real fsck. This fix was only committed to -current yesterday, and it has already caused one problem there, so it's not looking too good from a gain vs. risk POV :-) I'm not sure about #2 either; the patch isn't too complex, but it's a bit strange. http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/ufs/ffs/ffs_softdep.c #2: 1.104 #3: 1.103 BTW is the VDRAINED stuff in your patch just left over from something else? It doesn't seem to be present in -current. Ian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200201162117.aa18236>