Skip site navigation (1)Skip section navigation (2)
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>