• Andrew Morton's avatar
    [PATCH] devfs: race fixes and cleanup · bf98c406
    Andrew Morton authored
    From: Andrey Borzenkov <arvidjaar@mail.ru>
    
    - use struct nameidata in devfs_d_revalidate_wait to detect when it is
      called without i_sem hold; take i_sem on parent in this case.  This
      prevents both deadlock with devfs_lookup by allowing it to drop i_sem
      consistently and oops in d_instantiate by ensuring that it always runs
      protected
    
    - remove dead code that deals with major number allocation.  The only
      remaining user was devfs itself and patch changes it to
    
    - use register_chardev to get device number for internal /dev/.devfsd and
      /dev/.statd.
    
    - remove dead auto allocation flag as well
    
    - remove code that does module get on dev open - it is handled by fops_get.
       Use init_special_inode consistently
    
    - get rid of struct cdev_type and bdev_type - both have just single dev_t
      now
    bf98c406
base.c 90.8 KB