Date: Sun, 28 Nov 2010 18:51:47 -0600 From: "James R. Van Artsdalen" <james-freebsd-fs2@jrv.org> To: =?ISO-8859-2?Q?Edward_Tomasz_Napiera=B3a?= <trasz@freebsd.org> Cc: freebsd-fs <freebsd-fs@freebsd.org> Subject: Re: ZFS panic: empty ZFS ACL Message-ID: <4CF2F923.1050104@jrv.org> In-Reply-To: <7A3D90B8-EEC0-4FC2-9744-C58379709901@FreeBSD.org> References: <4CF26B15.6090009@jrv.org> <7A3D90B8-EEC0-4FC2-9744-C58379709901@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Edward Tomasz Napiera=B3a wrote: > Could you try the patch below? > > Index: sys/cddl/compat/opensolaris/kern/opensolaris_acl.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/cddl/compat/opensolaris/kern/opensolaris_acl.c (revision 21555= 3) > +++ sys/cddl/compat/opensolaris/kern/opensolaris_acl.c (working copy) > @@ -105,7 +105,10 @@ > struct acl_entry *entry; > const ace_t *ace; > =20 > - KASSERT(nentries >=3D 1, ("empty ZFS ACL")); > + if (nentries < 1) { > + printf("acl_from_aces: empty ZFS ACL; returning EINVAL.= \n"); > + return (EINVAL); > + } > =20 > if (nentries > ACL_MAX_ENTRIES) { > /* > > -- > If you cut off my head, what would I say? Me and my head, or me and my= body? > =20 The patch prevents the panic but EINVAL propagates back up to the application in an undesirable way: kraken:/root# ls -ld /STUFF/fearhome/Backups ls: /STUFF/fearhome/Backups: Invalid argument drwxr-xr-x 9 james james 10 Oct 17 2007 /STUFF/fearhome/Backups kraken:/root#
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CF2F923.1050104>