Re: [PATCH v2] grantpt.3: no-op on modern glibc and other UNIXes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

On 6/20/23 00:11, наб wrote:
FreeBSD, OpenBSD, and Linux (/dev/ptmx) do all intialisation in open,
and grantpt() is a no-op (that checks whether the fd is a pty, except on
musl).

The illumos gate and NetBSD do a ioctl (and, indeed, illumos-gate commit
  facf4a8d7b59fde89a8662b4f4c73a758e6c402c ("PSARC/2003/246 Filesystem
   Driven Device Naming"), which kills pt_chmod, notes that it's been
     6464196 bfu should remove pt_chmod, obsoleted by /dev filesystem).

glibc 2.33 completely kills BSD PTY support on Linux
(Debian hasn't configured with them on any architecture since 2007:
    https://bugs.debian.org/338404
  and even earlier on some arches; they're really all but trivia under

trivia or trivial?

  Linux ‒ this may be better served stuffed into HISTORY as an explainer
  for the SIGCHLD thing, since regardless of the "version", the behaviour
  is well-defined and consistent).

Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@xxxxxxxxxxxxxxxxxx>

Please add Jakub.

---
Heh, yeah. While writing I read this as "or a br ioctl" so I didn't
notice.

Heh, you'll soon read "or a mr ioctl".  Hounds do be released.


  man3/grantpt.3 | 18 ++++++++----------
  1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/man3/grantpt.3 b/man3/grantpt.3
index a19172a3e..e3d4e4aaa 100644
--- a/man3/grantpt.3
+++ b/man3/grantpt.3
@@ -84,17 +84,15 @@ .SH ATTRIBUTES
  .ad
  .sp 1
  .SH VERSIONS
-Many systems implement this function via a set-user-ID helper binary
+Historical systems implemented this function via a set-user-ID helper binary
  called "pt_chown".
-On Linux systems with a devpts filesystem (present since Linux 2.2),
-the kernel normally sets the correct ownership and permissions
-for the pseudoterminal slave when the master is opened
-.RB ( posix_openpt (3)),
-so that nothing must be done by
-.BR grantpt ().
-Thus, no such helper binary is required
-(and indeed it is configured to be absent during the
-glibc build that is typical on many systems).
+glibc on Linux before 2.33 could do so as well,

This can be confusing:  Linux 2.33, or glibc 2.33?
As a solution, I decided to always prefix the version with the software
name, even if it felt a bit redundant sometimes.

+in order to support configurations with only BSD pseudoterminals;
+this support has been removed.
+On modern systems this is either a no-op\[em]with

\[em] clearly breaks/interrupts a clause or phrase.
Semantic newlines should apply here --I guess that you probably put the
two words together to not add an extra space, but I do like that space
(and I know this may be controversial)--.

Cheers,
Alex

+permissions configured on pty allocation,
+as is the case on Linux\[em]or an
+.BR ioctl (2).
  .SH STANDARDS
  POSIX.1-2008.
  .SH HISTORY

--
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux