• Philipp Reisner's avatar
    drbd: Restore late assigning of tconn->data.sock and meta.sock · 7da35862
    Philipp Reisner authored
    With commit from Mon Mar 28 16:33:12 2011 +0200
    "drbd: drbd_connect(): Initialize struct drbd_socket before sending anything"
    
    tconn->data.sock and tconn->meta.sock get assigned early, in
    conn_connect.
    
    The early assigning can trigger an OOPS, because it may released the socket
    without acquiring the mutex protecting the socket. An other thread (worker)
    might use setsockopt() on the socket while it gets free()ed.
    
    Restored the (proven) 8.3 behavior of assigning these sockets after the two
    connections are established.
    
    Credits for reporting the issue are going to Arne Redlich.
    Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    7da35862
drbd_receiver.c 143 KB