mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Davidlohr Bueso <davidlohr@hp.com>
To: Andrew Morton <akpm@linux-foundation.org>, Jens Axboe <axboe@kernel.dk>
Cc: Matt Domsch <Matt_Domsch@dell.com>, Jim Hull <jim.hull@hp.com>,
	Karel Zak <kzak@redhat.com>, Peter Jones <pjones@redhat.com>,
	Chegu Vinod <chegu_vinod@hp.com>,
	Aswin Chandramouleeswaran <aswin@hp.com>,
	linux-kernel@vger.kernel.org, Davidlohr Bueso <davidlohr@hp.com>
Subject: [PATCH 2/8] partitions/efi: check pmbr record's starting lba
Date: Mon,  5 Aug 2013 22:21:10 -0700	[thread overview]
Message-ID: <1375766476-4204-3-git-send-email-davidlohr@hp.com> (raw)
In-Reply-To: <1375766476-4204-1-git-send-email-davidlohr@hp.com>

Per the UEFI Specs 2.4, June 2013, the starting lba of the partition
that has the EFI GPT (0xEE) must be set to 0x00000001 - this is obviously
the LBA of the GPT Partition Header.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
---
 block/partitions/efi.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/block/partitions/efi.c b/block/partitions/efi.c
index 3ebd3d8..6a997b1 100644
--- a/block/partitions/efi.c
+++ b/block/partitions/efi.c
@@ -151,9 +151,18 @@ static u64 last_lba(struct block_device *bdev)
 
 static inline int pmbr_part_valid(gpt_record *part)
 {
-        if (part->os_type == EFI_PMBR_OSTYPE_EFI_GPT &&
-            le32_to_cpu(part->start_sector) == 1UL)
-                return 1;
+        if (part->os_type != EFI_PMBR_OSTYPE_EFI_GPT)
+                goto invalid;
+
+        /* set to 0x00000001 (i.e., the LBA of the GPT Partition Header) */
+        if (le32_to_cpu(part->starting_lba) != GPT_PRIMARY_PARTITION_TABLE_LBA)
+                goto invalid;
+
+        if (le32_to_cpu(part->start_sector) != 1UL)
+                goto invalid;
+
+        return 1;
+invalid:
         return 0;
 }
 
-- 
1.7.11.7


  parent reply	other threads:[~2013-08-06  5:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-06  5:21 [PATCH 0/8] partitions/efi: detect hybrid mbrs Davidlohr Bueso
2013-08-06  5:21 ` [PATCH 1/8] partitions/efi: use lba-aware partition records Davidlohr Bueso
2013-09-02 10:10   ` Karel Zak
2013-09-03  5:01     ` Davidlohr Bueso
2013-08-06  5:21 ` Davidlohr Bueso [this message]
2013-08-06  5:21 ` [PATCH 3/8] partitions/efi: do not require gpt partition to begin at sector 1 Davidlohr Bueso
2013-08-06  5:21 ` [PATCH 4/8] partitions/efi: detect hybrid MBRs Davidlohr Bueso
2013-08-06  5:21 ` [PATCH 5/8] partitions/efi: account for pmbr size in lba Davidlohr Bueso
2013-08-06  5:21 ` [PATCH 6/8] partitions/efi: compare first and last usable LBAs Davidlohr Bueso
2013-08-06  5:21 ` [PATCH 7/8] partitions/efi: delete annoying emacs style comments Davidlohr Bueso
2013-08-06  5:21 ` [PATCH 8/8] partitions/efi: some style cleanups Davidlohr Bueso
2013-08-06 21:16 ` [PATCH 0/8] partitions/efi: detect hybrid mbrs Andrew Morton
2013-08-06 22:39   ` Davidlohr Bueso
2013-08-15 16:59   ` Davidlohr Bueso
2013-08-15 19:29     ` Andrew Morton
2013-08-16  1:37       ` Davidlohr Bueso
2013-09-02 10:33         ` Karel Zak
2013-09-03 12:33         ` Matt Fleming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1375766476-4204-3-git-send-email-davidlohr@hp.com \
    --to=davidlohr@hp.com \
    --cc=Matt_Domsch@dell.com \
    --cc=akpm@linux-foundation.org \
    --cc=aswin@hp.com \
    --cc=axboe@kernel.dk \
    --cc=chegu_vinod@hp.com \
    --cc=jim.hull@hp.com \
    --cc=kzak@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pjones@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®