• Tejun Heo's avatar
    mtd: fix bdev exclusive open bugs in block2mtd::add_device() · 731edacb
    Tejun Heo authored
    There are two bdev exclusive open bugs.
    
    * open_bdev_exclusive() must not be called with NULL holder.  Use dev
      as the holder.
    
    * open_by_devnum() doesn't open the bdev exclusively but
      block2mtd_free_device() always assumes it.  Explicitly claim the
      bdev.
    
    The latter is rather clumsy but will be simplified with future
    blkdev_get/put() cleanups.
    
    - Updated to use local variable @mode to cache FMODE_* masks as
      suggested by Artem Bityutskiy.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: linux-mtd@lists.infradead.org
    Cc: Artem Bityutskiy <dedekind1@gmail.com>
    731edacb
block2mtd.c 10.6 KB