git: kernel - Fix devfs bitmap races for pty and other devices

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Aug 22 08:36:23 PDT 2019


commit 1991e949fd5daddb34cbf77ff2b492cd33ac0570
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Aug 22 08:31:29 2019 -0700

    kernel - Fix devfs bitmap races for pty and other devices
    
    * Use an internal lock to protect the integrity of bitmap
      operations for devfs_clone_bitmap_*() functions, allowing
      devices to use the functions without having to lock themselves.
    
    * Devices which use devfs_clone_bitmap_chk() + devfs_clone_bitmap_set()
      sequences have to be more careful, either having their own covering
      lock or checking the return code from devfs_clone_bitmap_set() and
      looping.
    
    * This fixes serious /dev/ptmx pty allocation races which become obvious
      when pty's are allocated concurrently at a high rate, such as by the
      dsynth code.

Summary of changes:
 sys/dev/disk/vn/vn.c         | 18 ++++++++----
 sys/dev/misc/snp/snp.c       | 10 +++++--
 sys/net/bpf.c                |  7 +++--
 sys/sys/devfs.h              |  2 +-
 sys/vfs/devfs/devfs_helper.c | 65 +++++++++++++++++++++++++++++++++++---------
 5 files changed, 78 insertions(+), 24 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1991e949fd5daddb34cbf77ff2b492cd33ac0570


-- 
DragonFly BSD source repository


More information about the Commits mailing list