Re: cvs commit: src/sys/sys vnode.h src/sys/gnu/ext2fs ext2_vnops.c src/sys/nfsclient nfs_vnops.c src/sys/ufs/ufs ufs_vnops.c

From: Poul-Henning Kamp <>
Date: Sun, 05 Dec 2004 23:37:10 +0100
In message <>, Marcel Moolenaar 
>marcel      2004-12-05 22:30:29 UTC
>  FreeBSD src repository
>  Modified files:
>    sys/sys              vnode.h 
>    sys/gnu/ext2fs       ext2_vnops.c 
>    sys/nfsclient        nfs_vnops.c 
>    sys/ufs/ufs          ufs_vnops.c 
>  Log:
>  Fix null-pointer indirect function calls introduced in the previous
>  commit. In the new world order, the transitive closure on the vector
>  operations is not precomputed. As such, it's unsafe to actually use
>  any of the function pointers in an indirect function call.

Uhm not really. 

You'll notice that these three cases vector through a fifo_*specop*.

The "specop" as opposed to "vnodeop", means that you're supposed to
know what you're doing.

Did you actually get a zero pointer deref on this ?

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk_at_FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
Received on Sun Dec 05 2004 - 22:37:14 UTC