diff options
Diffstat (limited to 'fs/partitions/efi.c')
| -rw-r--r-- | fs/partitions/efi.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/partitions/efi.c b/fs/partitions/efi.c index ac0ccb5026a..19d6750d1d6 100644 --- a/fs/partitions/efi.c +++ b/fs/partitions/efi.c @@ -348,6 +348,12 @@ static int is_gpt_valid(struct parsed_partitions *state, u64 lba,  		goto fail;  	} +	/* Check that sizeof_partition_entry has the correct value */ +	if (le32_to_cpu((*gpt)->sizeof_partition_entry) != sizeof(gpt_entry)) { +		pr_debug("GUID Partitition Entry Size check failed.\n"); +		goto fail; +	} +  	if (!(*ptes = alloc_read_gpt_entries(state, *gpt)))  		goto fail;  |