drbd: must not use connection after kref_put(&connection->kref)
authorLars Ellenberg <lars.ellenberg@linbit.com>
Thu, 20 Dec 2018 16:23:29 +0000 (17:23 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Dec 2018 16:51:29 +0000 (09:51 -0700)
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/drbd/drbd_state.c

index 0813c654c89387e36e0174a453028e8c5b75f26b..18d53fe60d1d6c1dbe44f26e8b34e932bd6a88c4 100644 (file)
@@ -2109,9 +2109,8 @@ static int w_after_conn_state_ch(struct drbd_work *w, int unused)
                        spin_unlock_irq(&connection->resource->req_lock);
                }
        }
-       kref_put(&connection->kref, drbd_destroy_connection);
-
        conn_md_sync(connection);
+       kref_put(&connection->kref, drbd_destroy_connection);
 
        return 0;
 }