summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_state.c
diff options
context:
space:
mode:
authorLars Ellenberg2018-12-20 17:23:29 +0100
committerJens Axboe2018-12-20 17:51:29 +0100
commit792c3fdd94a559b31c8d1477e37029c1ac881234 (patch)
treeeb1a06ec86c884fee0aac9252e8e2abbf58c4c65 /drivers/block/drbd/drbd_state.c
parentdrbd: narrow rcu_read_lock in drbd_sync_handshake (diff)
downloadkernel-qcow2-linux-792c3fdd94a559b31c8d1477e37029c1ac881234.tar.gz
kernel-qcow2-linux-792c3fdd94a559b31c8d1477e37029c1ac881234.tar.xz
kernel-qcow2-linux-792c3fdd94a559b31c8d1477e37029c1ac881234.zip
drbd: must not use connection after kref_put(&connection->kref)
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/drbd/drbd_state.c')
-rw-r--r--drivers/block/drbd/drbd_state.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_state.c
index 0813c654c893..18d53fe60d1d 100644
--- a/drivers/block/drbd/drbd_state.c
+++ b/drivers/block/drbd/drbd_state.c
@@ -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;
}