• Adrian Hunter's avatar
    mmc: block: Ensure that debugfs files are removed · f9f0da98
    Adrian Hunter authored
    The card is not necessarily being removed, but the debugfs files must be
    removed when the driver is removed, otherwise they will continue to exist
    after unbinding the card from the driver. e.g.
    
      # echo "mmc1:0001" > /sys/bus/mmc/drivers/mmcblk/unbind
      # cat /sys/kernel/debug/mmc1/mmc1\:0001/ext_csd
      [  173.634584] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
      [  173.643356] IP: mmc_ext_csd_open+0x5e/0x170
    
    A complication is that the debugfs_root may have already been removed, so
    check for that too.
    
    Fixes: 627c3ccf ("mmc: debugfs: Move block debugfs into block module")
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Cc: stable@vger.kernel.org # 4.14+
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    f9f0da98
block.c 72.2 KB