From patchwork Tue Nov 21 12:24:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Gray X-Patchwork-Id: 839994 X-Patchwork-Delegate: agraf@suse.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3yh4Xh4RVvz9s71 for ; Tue, 21 Nov 2017 23:24:52 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 298B4C21F53; Tue, 21 Nov 2017 12:24:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 98855C21EA8; Tue, 21 Nov 2017 12:24:40 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id F0BA6C21EA8; Tue, 21 Nov 2017 12:24:38 +0000 (UTC) Received: from lechuck.jsg.id.au (jsg.id.au [210.15.216.215]) by lists.denx.de (Postfix) with ESMTPS id 9ACC6C21DEF for ; Tue, 21 Nov 2017 12:24:36 +0000 (UTC) Received: from largo.jsg.id.au (largo.jsg.id.au [192.168.1.43]) by lechuck.jsg.id.au (OpenSMTPD) with ESMTP id fb582c55; Tue, 21 Nov 2017 23:24:32 +1100 (AEDT) Received: from largo.jsg.id.au (localhost [127.0.0.1]) by largo.jsg.id.au (OpenSMTPD) with ESMTP id 1aa3a220; Tue, 21 Nov 2017 23:24:32 +1100 (AEDT) From: Jonathan Gray To: u-boot@lists.denx.de Date: Tue, 21 Nov 2017 23:24:32 +1100 Message-Id: <20171121122432.88805-1-jsg@jsg.id.au> X-Mailer: git-send-email 2.14.2 Cc: agraf@suse.de, kettenis@openbsd.org Subject: [U-Boot] [PATCH] efi_loader: initialise partition_signature memory X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Zero partition_signature in the efi_device_path_hard_drive_path structure when signature_type is zero. This is required so that efi_dp_match() will work as expected when doing memcmp() comparisons. Corrects a problem where the loaded image protocol would not return a device path with MEDIA_DEVICE causing the OpenBSD bootloader to fail on rpi_3 and other targets. Signed-off-by: Jonathan Gray Reviewed-by: Rob Clark --- lib/efi_loader/efi_device_path.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c index f6e368e029..8045532a29 100644 --- a/lib/efi_loader/efi_device_path.c +++ b/lib/efi_loader/efi_device_path.c @@ -431,6 +431,9 @@ static void *dp_part_fill(void *buf, struct blk_desc *desc, int part) if (hddp->signature_type != 0) memcpy(hddp->partition_signature, &desc->guid_sig, sizeof(hddp->partition_signature)); + else + memset(hddp->partition_signature, 0, + sizeof(hddp->partition_signature)); buf = &hddp[1]; }