From c0f380ddca244e40ceef6ceddf9b470e3eed2025 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Tue, 11 Jul 2023 21:26:22 +0100 Subject: [PATCH] kernel: lock block device before reading from it --- init/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init/main.c b/init/main.c index ad61105..723bac1 100644 --- a/init/main.c +++ b/init/main.c @@ -117,7 +117,10 @@ void kernel_init(uintptr_t arg) struct device *disk_dev = cast_to_device(disk); size_t nread = 0; + device_lock(disk_dev); status = device_read(disk_dev, buf, 1, 32, &nread, 0); + device_unlock(disk_dev); + if (status == KERN_OK) { printk("read %zu bytes from /dev/block/disk0:", nread); for (int i = 0; i < sizeof buf; i++) {