[PATCH 2/5] filetype: add GPT support
Johannes Stezenbach
js at sig21.net
Thu Feb 14 12:05:07 EST 2013
On Thu, Feb 14, 2013 at 05:53:23PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 17:36 Thu 14 Feb , Sascha Hauer wrote:
> > On Thu, Feb 14, 2013 at 04:52:24PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > GPT need to be check before MBR
> > >
> > > Cc: Rob Herring <rob.herring at calxeda.com>
> > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > > ---
> > > common/filetype.c | 4 ++++
> > > include/filetype.h | 1 +
> > > 2 files changed, 5 insertions(+)
> > >
> > > diff --git a/common/filetype.c b/common/filetype.c
> > > index 22fc621..6563ecc 100644
> > > --- a/common/filetype.c
> > > +++ b/common/filetype.c
> > > @@ -48,6 +48,7 @@ static const struct filetype_str filetype_str[] = {
> > > [filetype_bmp] = { "BMP image", "bmp" },
> > > [filetype_png] = { "PNG image", "png" },
> > > [filetype_ext] = { "ext filesystem", "ext" },
> > > + [filetype_gpt] = { "GUID Partition Table", "gpt" },
> > > };
> > >
> > > const char *file_type_to_string(enum filetype f)
> > > @@ -159,6 +160,9 @@ enum filetype file_detect_type(const void *_buf, size_t bufsize)
> > > if (bufsize < 512)
> > > return filetype_unknown;
> > >
> > > + if (bufsize >= 520 && strncmp(&buf8[512], "EFI PART", 8) == 0)
> > > + return filetype_gpt;
> > > +
> >
> > The list is sorted by size, so please move this below:
> on purpose
>
> EFI need to be detect before mbr
IMHO the check is too simple, it will give false positive if
GPT is replaced by DOS MBR and not zeroed out. Need to check
for protective MBR.
Johannes
More information about the barebox
mailing list