CHDEV(1)                                                 CHDEV(1)

     NAME
          chdev - change kernel driver access

     SYNOPSIS
          chdev [ -nr ] devmask...

     DESCRIPTION
          Chdev modifies access to kernel drivers for the current pro-
          cess and processes within the same name group (see fork(2)).
          Access is defined as the ability for a process to walk files
          and directories served by the driver through its location
          within '#'. Existing binds of drivers are left unaffected.

          Access may only be removed; after a specific driver is
          ejected no further operations can permit access again.
          Access is inherited by all children of the name group,
          regardless if the child has elected to receive a clean
          namespace.

          Devmask is a string of driver characters. The default behav-
          ior is to block access to all but the listed drivers. Flags
          provide a way to modify this behavior:

          -r   Retain access to all but the specified drivers.

          -n   Remove access to all drivers.  Devmask is ignored.

          Access to some drivers is tied to other related process
          capabilities:

          mnt(3)

               Ability to perform the mount(2) system call, and to
               post new services to shr(3).

          pipe(3)

               Ability to perform the pipe(2) system call.

     EXAMPLES
          Permit access to only draw(3), rtc(3), fs(3), and srv(3):

               chdev irks

          Remove access to cons(3), rtc(3), audio(3), and proc(3):

               chdev -r crAp

          Create a pipe(3) then remove the ability to create more:

     Page 1                       Plan 9             (printed 4/18/24)

     CHDEV(1)                                                 CHDEV(1)

               bind '#|' /n/pipe
               chdev -r '|'

     SOURCE
          /rc/bin/chdev

     SEE ALSO
          /dev/drivers for a list of current drivers.

          intro(3), cons(3)

     DIAGNOSTICS
          Chdev is implemented through writes to /dev/drivers, served
          by cons(3).

     HISTORY
          Chdev first appeared in 9front (May, 2022).

     Page 2                       Plan 9             (printed 4/18/24)