From db9c2a6d3fd62873ea94e09e31230004498ea061 Mon Sep 17 00:00:00 2001 From: "K. Lange" Date: Thu, 2 Sep 2021 21:30:59 +0900 Subject: [PATCH] ata: Don't make device nodes for disks that claim to be empty --- modules/ata.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/ata.c b/modules/ata.c index a156fa9b..417155fb 100644 --- a/modules/ata.c +++ b/modules/ata.c @@ -658,13 +658,15 @@ static int ata_device_detect(struct ata_device * dev) { if ((cl == 0x00 && ch == 0x00) || (cl == 0x3C && ch == 0xC3)) { /* Parallel ATA device, or emulated SATA */ + off_t sectors = ata_max_offset(dev); + if (sectors == 0) return 0; char devname[64]; snprintf((char *)&devname, 20, "/dev/hd%c", ata_drive_char); fs_node_t * node = ata_device_create(dev); vfs_mount(devname, node); ata_device_init(dev); - node->length = ata_max_offset(dev); + node->length = sectors; ata_drive_char++; return 1;