• zhangyue's avatar
    md: fix double free of mddev->private in autorun_array() · 07641b5f
    zhangyue authored
    In driver/md/md.c, if the function autorun_array() is called,
    the problem of double free may occur.
    
    In function autorun_array(), when the function do_md_run() returns an
    error, the function do_md_stop() will be called.
    
    The function do_md_run() called function md_run(), but in function
    md_run(), the pointer mddev->private may be freed.
    
    The function do_md_stop() called the function __md_stop(), but in
    function __md_stop(), the pointer mddev->private also will be freed
    without judging null.
    
    At this time, the pointer mddev->private will be double free, so it
    needs to be judged null or not.
    Signed-off-by: default avatarzhangyue <zhangyue1@kylinos.cn>
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    07641b5f
md.c 259 KB