• N
    md: clear mddev->private when it has been freed. · bd691922
    NeilBrown 提交于
    If ->private is set when ->run is called, it is assumed to be
    a 'config'  prepared as part of 'reshape'.
    
    So it is important when we free that config, that we also clear ->private.
    This is not often a problem as the mddev will normally be discarded
    shortly after the config us freed.
    However if an 'assemble' races with a final close, the assemble can use
    the old mddev which has a stale ->private.  This leads to any of
    various sorts of crashes.
    
    So clear ->private after calling ->free().
    Reported-by: NNate Clark <nate@neworld.us>
    Cc: stable@vger.kernel.org (v4.0+)
    Fixes: afa0f557 ("md: rename ->stop to ->free")
    Signed-off-by: NNeilBrown <neilb@suse.com>
    bd691922
md.c 233.0 KB