Index | Thread | Search

From:
Ingo Schwarze <schwarze@usta.de>
Subject:
Re: Missing errno # 71 in man errno
To:
Angelo Rossi <angelo.rossi.homelab@gmail.com>
Cc:
tech@openbsd.org, jsg@openbsd.org
Date:
Tue, 15 Jul 2025 20:34:52 +0200

Download raw body.

Thread
Hello Angelo and Jonathan,

Angelo Rossi wrote on Tue, Jul 15, 2025 at 05:44:19PM +0200:

> In OpenBSD 7.7 the manual page for errno does not report the error 71:
> EREMOTE --- 71 --- Too many levels of remote in path.

Unless i'm misreading the code of our system, the only driver
generating that particular error number is inteldrm(4), and even
there my impression is it was only added in February 2025 by jsg@,
and only in sys/dev/pci/drm/i915/display/intel_fb_bo.c.
The C library does not generate this error number.

My impression is this error number can only get set as a result of
ioctl(2) against an inteldrm(4) device.  In that region, i think
we have have significantly worse documentation gaps: The inteldrm(4)
manual doesn't even mention at all that inteldrm(4) supports ioctl(2),
and it does not list which ioctls it supports, even though that is
what driver manual pages are supposed to do when the driver supports
driver-specific ioctls.  After ioctls are documented, one can then
add an ERRORS section describing under which conditions the
device-specific ioctls fail.

I'm not opposed to adding EREMOTE to errno(2), but as long as the
command "man -k Er=EREMOTE" would return only a single page, errno(2),
the benefit for users would seem quite limited to me, in particular
with respect to an error message as cryptic as "Too many levels of
remote in path" - what is a user supposed to learn from that message
as long as they cannot even figure out that it's related to trying
to configure a framebuffer for inteldrm(4), which seems perfectly
obscure to me given the wording of the error message?

Jonathan, what do you think should be done here?
  Ingo