HomeFreeBSD

MFC tty fixes, r259549 and r259663

Description

MFC tty fixes, r259549 and r259663

Keep tty_makedev as a function to preserve the KBI on 10-stable
(it is a macro in CURRENT). The changes for this are direct
commits to 10-stable.

r259549 (glebius):

  • Rename tty_makedev() into tty_makedevf() and make it capable to fail and return error.
  • Use make_dev_p() in tty_makedevf() instead of make_dev_cred().
  • Always pass MAKEDEV_CHECKNAME flag.
  • Optionally pass MAKEDEV_REF flag.
  • Provide macro for compatibility with old API.

    This fixes races with simultaneous creation and desctruction of ttys, and makes it possible to call tty_makedevf() from device cloners.

    A race in tty_watermarks() still exist, since the latter drops lock for M_WAITOK allocation. This will be addressed in separate commit.

r259663 (glebius):

Move list of ttys handling from the allocating procedures, to the
device creation stage. A device creation can fail, and in that case
an entry already on the list will be freed.

KBI issue pointed out by: kib
Reviewed by: kib (KBI addition)
Approved by: re (kib)

Details

Provenance
grehanAuthored on
Parents
rS271772: Accidentially, ng_ppp changes leaked out with r271770. The proper
Branches
Unknown
Tags
Unknown

Event Timeline