Skip to content
  • Guoqing Jiang's avatar
    md-cluster: init suspend_list and suspend_lock early in join · 9e3072e3
    Guoqing Jiang authored
    
    
    If the node just join the cluster, and receive the msg from other nodes
    before init suspend_list, it will cause kernel crash due to NULL pointer
    dereference, so move the initializations early to fix the bug.
    
    md-cluster: Joined cluster 3578507b-e0cb-6d4f-6322-696cd7b1b10c slot 3
    BUG: unable to handle kernel NULL pointer dereference at           (null)
    ... ... ...
    Call Trace:
    [<ffffffffa0444924>] process_recvd_msg+0x2e4/0x330 [md_cluster]
    [<ffffffffa0444a06>] recv_daemon+0x96/0x170 [md_cluster]
    [<ffffffffa045189d>] md_thread+0x11d/0x170 [md_mod]
    [<ffffffff810768c4>] kthread+0xb4/0xc0
    [<ffffffff8151927c>] ret_from_fork+0x7c/0xb0
    ... ... ...
    RIP  [<ffffffffa0443581>] __remove_suspend_info+0x11/0xa0 [md_cluster]
    
    Reviewed-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
    Signed-off-by: default avatarGuoqing Jiang <gqjiang@suse.com>
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    9e3072e3