Hi Emil,

Emil Engler wrote on Wed, Jun 30, 2021 at 07:09:27PM +0200:

> The pledge.2 man-page makes use of the incorrect .Ar macro which is
> not intended for manuals in section 2 as .Fa exists for that purpose.
> Similar to 1.18 in /cvs/src/lib/libm/man/sqrt.3

Note that the pledge(2) manual page has special needs in a few respects
and handling it schematically would likely be counter-productive, but
this particular patch is correct and straightforward, focussed, and
unintrusive enough that i just committed it.

Thanks,
  Ingo


> Index: pledge.2
> ===================================================================
> RCS file: /cvs/src/lib/libc/sys/pledge.2,v
> retrieving revision 1.60
> diff -u -p -u -p -r1.60 pledge.2
> --- pledge.2    17 Jul 2020 16:40:26 -0000      1.60
> +++ pledge.2    30 Jun 2021 17:02:04 -0000
> @@ -33,9 +33,9 @@ management, read-write operations on fil
>  and networking.
>  In general, these modes were selected by studying the operation
>  of many programs using libc and other such interfaces, and setting
> -.Ar promises
> +.Fa promises
>  or
> -.Ar execpromises .
> +.Fa execpromises .
>  .Pp
>  Use of
>  .Fn pledge
> @@ -60,7 +60,7 @@ with the
>  flag.
>  .Pp
>  A
> -.Ar promises
> +.Fa promises
>  value of
>  .Qq \&
>  restricts the process to the
> @@ -72,9 +72,9 @@ with another process.
>  Passing
>  .Dv NULL
>  to
> -.Ar promises
> +.Fa promises
>  or
> -.Ar execpromises
> +.Fa execpromises
>  specifies to not change the current value.
>  .Pp
>  Some system calls, when allowed, have restrictions applied to them:
> @@ -136,9 +136,9 @@ and any files below
>  .Pa /usr/share/zoneinfo .
>  .It Fn pledge :
>  Can only reduce permissions for
> -.Ar promises
> +.Fa promises
>  and
> -.Ar execpromises .
> +.Fa execpromises .
>  .It Xr sysctl 2 :
>  A small set of read-only operations are allowed, sufficient to
>  support:
> @@ -150,7 +150,7 @@ and system sensor readings.
>  .El
>  .Pp
>  The
> -.Ar promises
> +.Fa promises
>  argument is specified as a string, with space separated keywords:
>  .Bl -tag -width "prot_exec" -offset indent
>  .It Va stdio
> @@ -464,7 +464,7 @@ Coupled with the
>  .Va proc
>  promise, this allows a process to fork and execute another program.
>  If
> -.Ar execpromises
> +.Fa execpromises
>  has been previously set the new program begins with those promises,
>  unless setuid/setgid bits are set in which case execution is blocked with
>  .Er EACCES .
> @@ -596,12 +596,12 @@ Rather than killing the process upon vio
>  Also when
>  .Fn pledge
>  is called with higher
> -.Ar promises
> +.Fa promises
>  or
> -.Ar execpromises ,
> +.Fa execpromises ,
>  those changes will be ignored and return success.
>  This is useful when a parent enforces
> -.Ar execpromises
> +.Fa execpromises
>  but an execve'd child has a different idea.
>  .El
>  .Sh RETURN VALUES
> @@ -611,12 +611,12 @@ but an execve'd child has a different id
>  will fail if:
>  .Bl -tag -width Er
>  .It Bq Er EFAULT
> -.Ar promises
> +.Fa promises
>  or
> -.Ar execpromises
> +.Fa execpromises
>  points outside the process's allocated address space.
>  .It Bq Er EINVAL
> -.Ar promises
> +.Fa promises
>  is malformed or contains invalid keywords.
>  .It Bq Er EPERM
>  This process is attempting to increase permissions.

Reply via email to