refactor: rewrite kernel's make script
[lunaix-os.git] / lunaix-os / kernel / block / blkpart_gpt.c
index 22bb48b6d7bb61b9e9afd89d1fc8718446af9611..0bc977df9ea901f4801ca66cd120a9f6e3665a8a 100644 (file)
@@ -25,7 +25,7 @@ blkpart_parse(struct device* master, struct gpt_header* header)
     if (!bdev)
         return ENODEV;
 
-    int errno;
+    int errno = 0;
     u32_t ent_lba = (u32_t)header->ents_lba;
     struct gpt_entry* ents_parial = (struct gpt_entry*)valloc(GPT_BLKSIZE);
 
@@ -46,7 +46,8 @@ blkpart_parse(struct device* master, struct gpt_header* header)
         }
 
         // Convert UEFI's 512B LB representation into local LBA range.
-        u64_t slba_local = (ent->start_lba * GPT_BLKSIZE) / bdev->blk_size;
+        u64_t slba_local =
+          (ent->start_lba * GPT_BLKSIZE) / (u64_t)bdev->blk_size;
         u64_t elba_local = (ent->end_lba * GPT_BLKSIZE) / (u64_t)bdev->blk_size;
 
         kprintf("%s: guid part#%d: %d..%d\n",