Date: Fri, 03 Dec 2004 08:07:15 +0100 From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: Robert Watson <rwatson@FreeBSD.org> Cc: current@FreeBSD.org Subject: Re: VOP_* changes causes NULL ptr dereference for acl_get_file(3) Message-ID: <13073.1102057635@critter.freebsd.dk> In-Reply-To: Your message of "Thu, 02 Dec 2004 23:35:14 GMT." <Pine.NEB.3.96L.1041202233327.34029M-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Can you try this patch instead: Index: kern/vfs_default.c =================================================================== RCS file: /home/ncvs/src/sys/kern/vfs_default.c,v retrieving revision 1.109 diff -u -r1.109 vfs_default.c --- kern/vfs_default.c 1 Dec 2004 23:16:36 -0000 1.109 +++ kern/vfs_default.c 3 Dec 2004 07:06:35 -0000 @@ -72,6 +72,8 @@ struct vop_vector default_vnodeops = { .vop_default = NULL, + .vop_bypass = VOP_EOPNOTSUPP, + .vop_advlock = VOP_EINVAL, .vop_bmap = vop_stdbmap, .vop_close = VOP_NULL, @@ -79,7 +81,7 @@ .vop_destroyvobject = vop_stddestroyvobject, .vop_fsync = VOP_NULL, .vop_getpages = vop_stdgetpages, - .vop_getvobject = vop_stdgetvobject, + .vop_getvobject = vop_stdgetvobject, .vop_getwritemount = vop_stdgetwritemount, .vop_inactive = vop_stdinactive, .vop_ioctl = VOP_ENOTTY, In message <Pine.NEB.3.96L.1041202233327.34029M-100000@fledge.watson.org>, Robe rt Watson writes: >On Thu, 2 Dec 2004, Mark Santcroos wrote: > >> I need at least the following patch to keep my system alive. A simple >> call to acl_get_file(3) is enough to crash the machine. >> >> You will have to think a bit more about how you want to initialize stuff >> or about better defaults for cases like ACLs. > >Should probably be using VOP_EOPNOTSUPP rather than VOP_EINVAL, I think. >Also, it's likely that if you need a vop_getacl entry here, you probably >also want a vop_setacl and a vop_checkacl entry. > >Robert N M Watson FreeBSD Core Team, TrustedBSD Projects >robert@fledge.watson.org Principal Research Scientist, McAfee Research > > >> >> Mark >> >> ==== //depot/projects/custom/kern/vfs_default.c#35 - /home/marks/proj/perforce/projects/custom/kern/vfs_default.c ==== >> @@ -95,6 +95,7 @@ >> .vop_revoke = VOP_PANIC, >> .vop_strategy = vop_nostrategy, >> .vop_unlock = vop_stdunlock, >> + .vop_getacl = VOP_EINVAL, >> }; >> >> /* >> >> -- >> RIPE NCC - Delft University of Technology - The FreeBSD Project > marks@ripe.net - m.a.santcroos@ewi.tudelft.nl - marks@freebsd.org >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13073.1102057635>