add a comment re the vop (?) flag LAYERFS_MBYPASSDEBUG, that if set

could cause a bad pointer dereference in the debug printing when
credentials with values of NOCRED or FSCRED were passed to kauth.

I don't see any way to set such a flag, I think its just a debug
thing that could be enabled at compile time by somebody who knew
how, hence the comment rather than a real fix.
This commit is contained in:
plunky 2009-02-14 17:29:11 +00:00
parent b8b994aea2
commit 767dc27ad2

View File

@ -1,4 +1,4 @@
/* $NetBSD: umap_vnops.c,v 1.45 2009/02/14 16:57:05 plunky Exp $ */
/* $NetBSD: umap_vnops.c,v 1.46 2009/02/14 17:29:11 plunky Exp $ */
/*
* Copyright (c) 1992, 1993
@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: umap_vnops.c,v 1.45 2009/02/14 16:57:05 plunky Exp $");
__KERNEL_RCSID(0, "$NetBSD: umap_vnops.c,v 1.46 2009/02/14 17:29:11 plunky Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -55,6 +55,15 @@ __KERNEL_RCSID(0, "$NetBSD: umap_vnops.c,v 1.45 2009/02/14 16:57:05 plunky Exp $
#include <miscfs/genfs/genfs.h>
#include <miscfs/genfs/layer_extern.h>
/*
* Note: If the LAYERFS_MBYPASSDEBUG flag is set, it is possible
* that the debug printing will bomb out, because kauth routines
* do not handle NOCRED or FSCRED like other credentials and end
* up dereferencing an inappropriate pointer.
*
* That should be fixed in kauth rather than here.
*/
int umap_lookup(void *);
int umap_getattr(void *);
int umap_print(void *);