> I am trying to add pledge(2) to audioctl(1),
> but it gets SIGABRT'ed under any pledge promises.
> (Indeed, I have pledged everything in a desperate attempt.)
> 
> Looking at gdb and a ktrace, /dev/audioctl gets opened fine,
> but then it fails on an ioctl in getinfo()
> 
>  23472 audioctl CALL  ioctl(3,AUDIO_GETDEV,0x10d3bed03a20)
>  23472 audioctl PLDG  ioctl, "ioctl", errno 1 Operation not permitted
>  23472 audioctl PSIG  SIGABRT SIG_DFL code <1054761850>
>  23472 audioctl NAMI  "audioctl.core"
> 
> Obviously, "ioctl" is in the pledge call.
> Is it simply that AUDIO_GETDEV is not included in the ioctl pledge?

...

> Is there a way to pledge audio stuff like this with current pledge?

No.  Much of ioctl is considered attack surface, and we will look into
handling those things after the less intense parts of the tree are
correctly annotated/managed by pledge.

Priority is on the more procedural code.  More than 80% done...

Reply via email to