From 71122358ba9349753eb11f13a9cc9249ba25f1ff Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sat, 18 Jul 2020 17:16:42 +0200 Subject: rumpdisk: link the bd on success only Otherwise we would crash after an unsuccessful device_open call. --- rumpdisk/block-rump.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'rumpdisk') diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c index b361c15f..42ace30d 100644 --- a/rumpdisk/block-rump.c +++ b/rumpdisk/block-rump.c @@ -154,8 +154,6 @@ device_open (mach_port_t reply_port, mach_msg_type_name_t reply_port_type, bd->mode = mode; bd->device.emul_data = bd; bd->device.emul_ops = &rump_block_emulation_ops; - bd->next = block_head; - block_head = bd; err = rump_sys_open (dev_name, dev_mode_to_rump_mode (bd->mode)); if (err < 0) @@ -199,6 +197,8 @@ out: if (bd) { + bd->next = block_head; + block_head = bd; *devp = ports_get_right (bd); *devicePoly = MACH_MSG_TYPE_MAKE_SEND; } -- cgit v1.2.3