summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-02-06 20:33:28 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-02-06 20:33:28 +0100
commit06c6a81aa2b8a7eb6c192d172840dea90345f557 (patch)
treee6e74e5bb49337f06184753f4688dc423aedf68e
parent19706231bc5f2445f0881c2d23a464bf92e51855 (diff)
rumpdisk: add missing device_close on probing kernel drivers
If any device_open succeeds, we should clean its effect.
-rw-r--r--rumpdisk/block-rump.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c
index 6539850e..387e47b3 100644
--- a/rumpdisk/block-rump.c
+++ b/rumpdisk/block-rump.c
@@ -149,6 +149,8 @@ rumpdisk_device_init (void)
|| ! device_open (device_master, D_READ, "hd3", &device)
|| ! device_open (device_master, D_READ, "hd2", &device))
{
+ device_close (device);
+ mach_port_deallocate (mach_task_self (), device);
fprintf(stderr, "Kernel is already driving an IDE device, skipping probing disks\n");
fflush(stderr);
disabled = 1;