diff options
-rw-r--r-- | block/partitions/efi.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/block/partitions/efi.c b/block/partitions/efi.c index de9f9bfa24bc..0df535fac0aa 100644 --- a/block/partitions/efi.c +++ b/block/partitions/efi.c | |||
@@ -25,6 +25,9 @@ | |||
25 | * TODO: | 25 | * TODO: |
26 | * | 26 | * |
27 | * Changelog: | 27 | * Changelog: |
28 | * Mon August 5th, 2013 Davidlohr Bueso <davidlohr@hp.com> | ||
29 | * - detect hybrid MBRs, tighter pMBR checking & cleanups. | ||
30 | * | ||
28 | * Mon Nov 09 2004 Matt Domsch <Matt_Domsch@dell.com> | 31 | * Mon Nov 09 2004 Matt Domsch <Matt_Domsch@dell.com> |
29 | * - test for valid PMBR and valid PGPT before ever reading | 32 | * - test for valid PMBR and valid PGPT before ever reading |
30 | * AGPT, allow override with 'gpt' kernel command line option. | 33 | * AGPT, allow override with 'gpt' kernel command line option. |
@@ -289,8 +292,7 @@ static gpt_entry *alloc_read_gpt_entries(struct parsed_partitions *state, | |||
289 | return NULL; | 292 | return NULL; |
290 | 293 | ||
291 | if (read_lba(state, le64_to_cpu(gpt->partition_entry_lba), | 294 | if (read_lba(state, le64_to_cpu(gpt->partition_entry_lba), |
292 | (u8 *) pte, | 295 | (u8 *) pte, count) < count) { |
293 | count) < count) { | ||
294 | kfree(pte); | 296 | kfree(pte); |
295 | pte=NULL; | 297 | pte=NULL; |
296 | return NULL; | 298 | return NULL; |
@@ -633,11 +635,8 @@ static int find_valid_gpt(struct parsed_partitions *state, gpt_header **gpt, | |||
633 | *ptes = pptes; | 635 | *ptes = pptes; |
634 | kfree(agpt); | 636 | kfree(agpt); |
635 | kfree(aptes); | 637 | kfree(aptes); |
636 | if (!good_agpt) { | 638 | if (!good_agpt) |
637 | printk(KERN_WARNING | 639 | printk(KERN_WARNING "Alternate GPT is invalid, using primary GPT.\n"); |
638 | "Alternate GPT is invalid, " | ||
639 | "using primary GPT.\n"); | ||
640 | } | ||
641 | return 1; | 640 | return 1; |
642 | } | 641 | } |
643 | else if (good_agpt) { | 642 | else if (good_agpt) { |
@@ -645,8 +644,7 @@ static int find_valid_gpt(struct parsed_partitions *state, gpt_header **gpt, | |||
645 | *ptes = aptes; | 644 | *ptes = aptes; |
646 | kfree(pgpt); | 645 | kfree(pgpt); |
647 | kfree(pptes); | 646 | kfree(pptes); |
648 | printk(KERN_WARNING | 647 | printk(KERN_WARNING "Primary GPT is invalid, using alternate GPT.\n"); |
649 | "Primary GPT is invalid, using alternate GPT.\n"); | ||
650 | return 1; | 648 | return 1; |
651 | } | 649 | } |
652 | 650 | ||
@@ -708,8 +706,7 @@ int efi_partition(struct parsed_partitions *state) | |||
708 | put_partition(state, i+1, start * ssz, size * ssz); | 706 | put_partition(state, i+1, start * ssz, size * ssz); |
709 | 707 | ||
710 | /* If this is a RAID volume, tell md */ | 708 | /* If this is a RAID volume, tell md */ |
711 | if (!efi_guidcmp(ptes[i].partition_type_guid, | 709 | if (!efi_guidcmp(ptes[i].partition_type_guid, PARTITION_LINUX_RAID_GUID)) |
712 | PARTITION_LINUX_RAID_GUID)) | ||
713 | state->parts[i + 1].flags = ADDPART_FLAG_RAID; | 710 | state->parts[i + 1].flags = ADDPART_FLAG_RAID; |
714 | 711 | ||
715 | info = &state->parts[i + 1].info; | 712 | info = &state->parts[i + 1].info; |