• Artem Bityutskiy's avatar
    UBI: fix oops in error path · 01a4110d
    Artem Bityutskiy authored
    This patch fixes an oops in the error path of 'ubi_attach_mtd_dev()'. If
    anything after 'uif_init()' fails, we get an oops in 'cancel_pending()'. The
    reason is that 'uif_close()' drops the last reference count for 'ubi->dev' and
    whole 'struct ubi_device' is freed. And then
    'ubi_wl_close()'->'cancel_pending()' tries to access the 'ubi' pointer and
    problems begin.
    
    Note, in 'ubi_detach_mtd_dev()' function we get a device reference to
    work-around this issue. Do the same in the error path of
    'ubi_attach_mtd_dev()'.
    Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
    01a4110d
build.c 40.8 KB