DRV_PRIV(9F) Kernel Functions for Drivers DRV_PRIV(9F)


NAME


drv_priv - determine driver privilege

SYNOPSIS


#include <sys/types.h>
#include <sys/cred.h>
#include <sys/ddi.h>


int drv_priv(cred_t *cr);


INTERFACE LEVEL


Architecture independent level 1 (DDI/DKI).

PARAMETERS


cr
Pointer to the user credential structure.


DESCRIPTION


The drv_priv() function provides a general interface to the system
privilege policy. It determines whether the credentials supplied by the
user credential structure pointed to by cr identify a process that has
the {PRIV_SYS_DEVICES} privilege asserted in its effective set. This
function should be used only when file access modes, special minor device
numbers, and the device policy (see privileges(5), add_drv(1M)) are
insufficient to provide protection for the requested driver function. It
is intended to replace all calls to suser() and any explicit checks for
effective user ID = 0 in driver code.

RETURN VALUES


This routine returns 0 if it succeeds, EPERM if it fails.

CONTEXT


The drv_priv() function can be called from user, interrupt, or kernel
context.

SEE ALSO


add_drv(1M), update_drv(1M), privileges(5)


Writing Device Drivers


January 16, 2006 DRV_PRIV(9F)