public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: Sean Brogan <sean.brogan@microsoft.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: question about a compressed Ffs3 file inside FFS2 filesystem
Date: Thu, 20 Oct 2016 08:27:20 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14B497236@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <BY1PR03MB13559C8DE199ACE5EC93E960E1D20@BY1PR03MB1355.namprd03.prod.outlook.com>

Sean:
  In MdePkg.dec, gEfiFirmwareFileSystem2Guid and gEfiFirmwareFileSystem3Guid are defined below. 
  gEfiFirmwareFileSystem2Guid     = { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 }}
gEfiFirmwareFileSystem3Guid      = { 0x5473c07a, 0x3dcb, 0x4dca, { 0xbd, 0x6f, 0x1e, 0x96, 0x89, 0xe7, 0x34, 0x9a }}

  From the dump message, the root FV File System ID is 5473c07a-3dcb-4dca-bd6f-1e9689e7349a. It is FF3 file system. 
  
Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Sean Brogan
> Sent: Thursday, October 20, 2016 7:09 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] question about a compressed Ffs3 file inside FFS2 filesystem
> 
> We have a condition that occurs when we boot where we see the following
> message and our boot fails because of it.
> DEBUG ((EFI_D_ERROR, "Found a FFS3 formatted section in a non-FFS3
> formatted FV.\n"));
> 
> Which is on line 773 of FwVol.c
> ( https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Core/Pe
> i/FwVol/FwVol.c )
> 
> The condition is caused by a large firmware volume (greater than 16mb) that
> is compressed and put into a smaller FV (less than 16mb).  My question is
> why isn't this allowed (seems like a valid scenario).  Volinfo supports this and
> decodes binary fine.  The PI Vol 3 spec has a section 3.2.2
> EFI_FIRMWARE_FILE_SYSTEM3_GUID which says FileSystem2 doesn't
> support large files but it seems that the code is not taking into account that
> the section is compressed and therefore you can have a large file inside a
> compressed section inside a FV with File System2.
> 
> Feedback/thoughts/comments/Bug?
> 
> Here are some details of my scenario.
> Compressed FV has filesystem == 8c8ce578-8a3d-4f1c-9935-896185c32dd3
> (ffs3)
> Non compressed FV has filesystem == 5473c07a-3dcb-4dca-bd6f-
> 1e9689e7349a (ffs2)
> 
> VolInfo dump of the Non Compressed FV showing the nested/compressed
> FV inside.
> 
> Decoding
> VolInfo Version 1.0 Build Build 20909
> Signature:        _FVH (4856465F)
> Attributes:       4FEFF
>        EFI_FVB2_READ_DISABLED_CAP
>        EFI_FVB2_READ_ENABLED_CAP
>        EFI_FVB2_READ_STATUS
>        EFI_FVB2_WRITE_DISABLED_CAP
>        EFI_FVB2_WRITE_ENABLED_CAP
>        EFI_FVB2_WRITE_STATUS
>        EFI_FVB2_LOCK_CAP
>        EFI_FVB2_LOCK_STATUS
>        EFI_FVB2_STICKY_WRITE
>        EFI_FVB2_MEMORY_MAPPED
>        EFI_FVB2_ERASE_POLARITY
>        EFI_FVB2_READ_LOCK_CAP
>        EFI_FVB2_READ_LOCK_STATUS
>        EFI_FVB2_WRITE_LOCK_CAP
>        EFI_FVB2_WRITE_LOCK_STATUS
>         EFI_FVB2_ALIGNMENT_16
>         EFI_FVB2_ALIGNMENT_32
>         EFI_FVB2_ALIGNMENT_64
>         EFI_FVB2_ALIGNMENT_128
>         EFI_FVB2_ALIGNMENT_4K
>         EFI_FVB2_ALIGNMENT_8K
>         EFI_FVB2_ALIGNMENT_16K
>         EFI_FVB2_ALIGNMENT_32K
>         EFI_FVB2_ALIGNMENT_1M
>         EFI_FVB2_ALIGNMENT_2M
>        EFI_FVB2_ALIGNMENT_4M
>         EFI_FVB2_ALIGNMENT_8M
>         EFI_FVB2_ALIGNMENT_256M
>         EFI_FVB2_ALIGNMENT_512M
>         EFI_FVB2_ALIGNMENT_1G
>         EFI_FVB2_ALIGNMENT_2G
> Header Length:         0x00000048
> File System ID:        5473c07a-3dcb-4dca-bd6f-1e9689e7349a
> Revision:              0x0002
> Number of Blocks:      0x00000028
> Block Length:          0x00010000
> Total Volume Size:     0x00280000
> ==========================================================
> ==
> File Name:        9E21FD93-9C72-4C15-8C4B-E77F1DB2D792
> File Offset:      0x00000048
> File Length:      0x001F3FFD
> File Attributes:  0x00
> File State:       0xF8
>         EFI_FILE_DATA_VALID
> File Type:        0x0B  EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE
> ------------------------------------------------------------
>   Type:  EFI_SECTION_GUID_DEFINED
>   Size:  0x001F3FE5
>   SectionDefinitionGuid:  ee4e5898-3914-4259-9d6e-dc7bd79403cf
> 
>   DataOffset:             0x0018
>   Attributes:             0x0001
> ------------------------------------------------------------
>   Type:  EFI_SECTION_RAW
>   Size:  0x00000FF8
> ------------------------------------------------------------
>   Type:  EFI_SECTION_FIRMWARE_VOLUME_IMAGE
>   Size:  0x01010008
> ==========================================================
> ==
> 
> Thanks
> Sean
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


  parent reply	other threads:[~2016-10-20  8:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-19 23:09 question about a compressed Ffs3 file inside FFS2 filesystem Sean Brogan
2016-10-19 23:39 ` Andrew Fish
2016-10-19 23:59   ` valerij zaporogeci
2016-10-19 23:59   ` Sean Brogan
2016-10-20  0:11     ` Andrew Fish
2016-10-20  0:15       ` Kinney, Michael D
2016-10-20  1:50         ` Zeng, Star
2016-10-20  8:27 ` Gao, Liming [this message]
2016-10-20 14:49   ` Sean Brogan
2016-10-21  1:01     ` Zeng, Star
2016-10-21 16:39       ` Sean Brogan
2016-10-22 10:41         ` Zeng, Star
2016-10-24  2:15           ` Gao, Liming

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-list 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=4A89E2EF3DFEDB4C8BFDE51014F606A14B497236@shsmsx102.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /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