From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.9771.1597128204307372847 for ; Mon, 10 Aug 2020 23:43:24 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: zhichao.gao@intel.com) IronPort-SDR: E1wOHez85sRK0BwgvK+bne/xowVYi8biK2pEkrgzzdPR+0CLJBJZksIZwEWx4AbZZb2d0mXjRY WQlRkN+ql17Q== X-IronPort-AV: E=McAfee;i="6000,8403,9709"; a="215195323" X-IronPort-AV: E=Sophos;i="5.75,460,1589266800"; d="scan'208";a="215195323" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2020 23:43:11 -0700 IronPort-SDR: aT8Y/uPUg1dvQSyME4c2zLl5TU/EtHsH4zzLLcNqCVVffNiKefK2TJUBprqFuhKrIwfGg8HXnh H9IroCnKZ5HA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,460,1589266800"; d="scan'208";a="334477039" Received: from fieedk001.ccr.corp.intel.com ([10.239.153.108]) by orsmga007.jf.intel.com with ESMTP; 10 Aug 2020 23:43:10 -0700 From: "Gao, Zhichao" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Ray Ni , Gary Lin , Andrew Fish Subject: [PATCH 0/3] MdeModulePkg/PartitionDxe: Make the parition driver match the spec Date: Tue, 11 Aug 2020 14:42:59 +0800 Message-Id: <20200811064302.33188-1-zhichao.gao@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2843 Refer to the UEFI spec 2.8, Section 13.3.2: A block device should be scanned as below order: 1. GPT 2. ISO 9660 (El Torito) (UDF should aslo be here) 4. MBR 5. no partition found But the code implementation is: 1. GPT 2. MBR 3. ISO 9660 (El Torito) (UDF) 4. no partition found Which would cause the ISO 9960 image with MBR info be treated as MBR device. That would cause unexpect behavior. So fix it to follow the spec description. The fix of the PartitionInstallChildHandle would change the boot behavior of Linux ISO image with MBR table. So add it after the order adjustment to make no impact of the boot. Cc: Jian J Wang Cc: Hao A Wu Cc: Ray Ni Cc: Gary Lin Cc: Andrew Fish Signed-off-by: Zhichao Gao Zhichao Gao (3): MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR MdeModulePkg/PartitionDxe: Remove the check for special MBR MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child hander .../Universal/Disk/PartitionDxe/Mbr.c | 19 ---------------- .../Universal/Disk/PartitionDxe/Partition.c | 22 ++++++++++--------- 2 files changed, 12 insertions(+), 29 deletions(-) -- 2.21.0.windows.1