From patchwork Thu Feb 17 03:51:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Z.Q. Hou" X-Patchwork-Id: 1593982 X-Patchwork-Delegate: priyanka.jain@nxp.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=rkQE2rwl; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JzgsC4KJhz9s5B for ; Thu, 17 Feb 2022 14:53:01 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6C00783881; Thu, 17 Feb 2022 04:52:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="rkQE2rwl"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 49D1C83A43; Thu, 17 Feb 2022 04:52:50 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,SPF_HELO_PASS, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20627.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::627]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AD609837B6 for ; Thu, 17 Feb 2022 04:52:46 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=zhiqiang.hou@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iQeSmqbJILH+t/MnRRb2PUULSsmvLQS5FpDDdF0i9lf03DIsOL8pn/p4uGn3d9EjYFkx2uEnufX4fO+EvAEV79t9DBVIRGJicSxX3KNHUdjcQXv7C0OGws45d5oyBFyT1tfXEblvWdjRqfdG5QjzcmjBiK61O00sLWEU6av0TBR6Hj4zBmHWKczTAazph1Qni9AU79Y4fTknP6JkhRMBp6IHbI6MbECrzjtQxlKNWN2NxLJUdUKbMovFC5uMQfAhbRV46x2IrRmoBY/dHjVVCYz0zejcDOvPYYpe4g7+vJbO31jHYVksGJOVMlBfDxbC0VIMPFIE3pEdWcprpXBvyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Q8TEJF8w2MwLKIne+uiZ2mRlW8oi8sV35o3EiQ6r/xM=; b=Mlniz1Q0AZNxvI2Q4KMuVfDpZLWSuIXAgccqI6H2E+BHKz3nmbujFlbP/CM1wYCln2E2GTUZDQ4Tur3HH1oUQ7zpNj+tZBl7wKKdhPwubIeO4eJC9pedg/KKkuydh+Jx9eIv3xE9J865JyPNGfcPt2BGrRm+QavYTE8as2N/xnWEg28zfylev7MySX5FposQ1DlYD5avs+MT3RK1sKOHVCIcZ2rAqU472Zm3iMaZGA/rOYdsKc+pIOKkUjpa3UwjvVrq/Fr1pXpwMoQXmVRMk9unQTXlTGfknpropoGwUzpD7r0bBZn2xFGtjr+JoxhwciPrxZOaMyx7ullFf/WhLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q8TEJF8w2MwLKIne+uiZ2mRlW8oi8sV35o3EiQ6r/xM=; b=rkQE2rwl4taOcA4T4svIhgqkXCtTP7oX3hfgdPdHFZLi8ofmht5OMeyTbRejRpX6eYJc5esatyt3xchE0bNIhj56qAVZKIUFN8wEP2UIKBw9MSgf/JoMwwWvaTcj8ckXH6nkG8cRklMjpZmqDx0x5TwsMZ8XztMc1VBnhhBJbgQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB2974.eurprd04.prod.outlook.com (2603:10a6:802:a::24) by AS8PR04MB7574.eurprd04.prod.outlook.com (2603:10a6:20b:299::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Thu, 17 Feb 2022 03:52:45 +0000 Received: from VI1PR04MB2974.eurprd04.prod.outlook.com ([fe80::7051:f401:9726:39d8]) by VI1PR04MB2974.eurprd04.prod.outlook.com ([fe80::7051:f401:9726:39d8%5]) with mapi id 15.20.4995.016; Thu, 17 Feb 2022 03:52:45 +0000 From: Zhiqiang Hou To: u-boot@lists.denx.de, sjg@chromium.org, marek.behun@nic.cz, priyanka.jain@nxp.com Cc: trini@konsulko.com, pali@kernel.org, Hou Zhiqiang Subject: [PATCH] tools: pblimage: fix image header verification function Date: Thu, 17 Feb 2022 11:51:36 +0800 Message-Id: <20220217035136.398564-1-Zhiqiang.Hou@nxp.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SG2PR01CA0107.apcprd01.prod.exchangelabs.com (2603:1096:3:15::33) To VI1PR04MB2974.eurprd04.prod.outlook.com (2603:10a6:802:a::24) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 92ab3053-6472-47f7-f5da-08d9f1c8f488 X-MS-TrafficTypeDiagnostic: AS8PR04MB7574:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ksaIloO6GW9Jv6maAbENHihaViFC4wI8VnmCKLjbdTrokuNkt1Jow+b3afpMNMYV9scfvb1RoS0eGcLgvtedTqflnl3mWAehWyc2+g6YFvJ5eciaZySah+Uz3fsKI1DYGN4EBgNEiUGAN4g2SKnp3hxCcrdCFqAEKQsrYx0zbUlLXTaiIauPMyJ7CHogAgq8y3rVv5cFuoEcr9VeSXJtqbncL2NT2cC9wXNu+J1hU2NSQvWRE7nWFj4mJq388rpzQBm2piVQk82bRFsdjHzBrtxmwTACAOhiJrv08qgmeVbyT5drOKY7iRspt88ro8ZS/d8ocr4jBsQuL/zk/GD2c5vgTbpjsT+XBHtesXzQRJQbIX0fa1IdPgQ7GOHB6LoeRrJykw1n3SqcHW28XweSNSLLRSTxLjTqDJGTKuctjQ+RWoa6CLV90OlW7opbWgpvizBW9b1P0vx5Jx+yjwAP2bDYtWBK9T6VQ1g3OFjxYcTLTbqctc37h1fZivxJJnR16ohLyx6MLSKudVdmutB6h88EjWqqYJMSP0n5PvNNmHcMiUP4WmQWBYzoSOAdjx92jTU0+nJTv0UBF6ka2bav+9JgiPDrR4NmBVz4i6ZRLi5J7PJgeNstqWta5MFNmfKNBQC8aG7g6G41ft5O26wU45UT5zWeGgQK64a+n/tssMZRV+4NSwCECDXx1xe5rc1rTF2UEsMxSVV+PIIUOxwi6vSRjGLgh5lIgS8sTUnBz0WudXZnAj9dodlMgjiBoZrOBULj8cSX+/RjEHT83Y5qnQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB2974.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(508600001)(4326008)(6486002)(966005)(38350700002)(38100700002)(15650500001)(8936002)(5660300002)(86362001)(2906002)(6636002)(6666004)(66946007)(66476007)(66556008)(316002)(6512007)(52116002)(6506007)(1076003)(26005)(186003)(83380400001)(2616005)(36756003)(8676002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Phg+UUhtCYKFNzapSqzVQ7yCBxFfDgypwbdg4UL06Aj/R0QrDYzKb5etX+RoHvTxY03xziVj1y/Yrgl/pdit5P65QlF19aYWDcH2EshBZusMhPTATwo1dhTtOy7FOpWa8QDQpuusYUEG+V5QJ67qm3v+ob0nwqje9t680E/506TodogQZ6AmPEPo1x+rJMnWpHn6gpkvMiKzyR5WdSRArAlxL0ZvtGOfmP4iYmaKrRd5PdWodENVu14kEmGoEtZe4lU8C7r+JPfPektzlNXtZzvRG2Hqxv0x/3gWMJf0PCLJ84c0JMm7NDtr7Q6pPdP/eHKyH74+VbvvtlQ6twLn4TeTj+6AmHW8XpD6Cu69fYJv8MlW2jR3LOW6Ri9hDuuzFvMOzEMsY7jZ/MXahi3BEUbTZMXqN0DWaBp3LNtaEMhrtjme4G/FO9sSlMDomltHDzSqkfshBki1Vb5MLSnAdIkzDMvbrAHiczNiV6ctK3gu5YbCwPIGqaCWzIFp16m3f6LKTihfS25sYEBxO9dN80z06hxe62IzskkZ4+UZUzBen53JKf+LBLSaG4tZYORx72D+oCCEc7IF2ultP8lDa2grBZXYB2QSATNLfKUyuhzO9WjIXWQhq+viFoX7cwlkJ3kApHaOsSjMK8TTmhg4nn5DFT1KZr6gCAWPgofYP0jnKsTHPPxxwznM4HctkX6CGNGqqxOgmJSQAh0tmVlrKX7Qnw9qSQ9VriLEwIaWj4FDJ7aHdX/ufUxfG22EkQbEP/ds4Hq/nY5NrFK3YfUBIf8pXn7kw9kLUSid79hRvVGvAMKnYZ4M+ez+51+z9UXIvSxVKIyALZLj5ZZRNAdaY8fH5bKs6c/zQI4jEafEXyazG4stuVcy+Vm8hmKCGhbPrjN1qjdx0D77/oZvhmMhuKMqy24vUo3if6iV60RBcBzb3EyJlIjgedKKu8vlnaEBZJSt21wjYORLBFsQbf3g6ZHO35oMM5rTf5Nf9GxI0binBDYHazpzIF9ZB3Z6Y1ZdUV+4gvF+Zd8lMyfzgDYI3zwPuKYxzUDjhrJD2rPA6v+LXV/fo9oN6uLIkSsZZfuvoIgkiTeXCL5IkhZDVHYyMM7akkmPB3muopzHBoCxp+8eYurzt5nXJZe4gEvaMxNZd0Jhq7v0cbfNbfwdfp1/MZNZtzCSRE44w9hXmMeNT1sfNDib4iqosR1IR5K6mHiwPJGhjkWxEqOkxIHkJqPOAM0nSNo6Ik2HeCELOoyrRLB/UcKpdAMHRaQaeeaJ0lALkopBhY2VVFt+xRsZRuC+a+ue/1+LMBmasp1x9UPgGPcDBOlMdsV0w1VyEZtbwGFcpaje9K+b1tWABW3v84PVCOb8V6LU7DUtowlMBpqSG1XcUj+XzAHlALpta6aeL1OM25JvBD6LLjR4pG3/RWzQNUuuAEJ3z8osE6OiN98dinDMQXMqWriDm5+HU7jl622cIWzf3bdzFkxW7vl/67BZXTxUgnQnJ/vNG2t63ax5x3dO94Of9ETfP4Xrw8ACUliKEgM2d+sy3n2QAevy7eHmRJvIYehhBCX7zWXMGWQ22hFBB4+IUqwYIcyt2Uxspc6TztEQ3R3G6gZVpnDXXhk/T7gH59huXTECSVXs5pT0NGs= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92ab3053-6472-47f7-f5da-08d9f1c8f488 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB2974.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2022 03:52:45.0036 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yILIthK3y8DEVyKIoRgW6I2RF6dtIB15a6hAvdOrsH4NRNaTWeCMEx8qv2qu5jDT4WWSC9IG1a7SAvsThdhOeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7574 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean From: Hou Zhiqiang The Layerscape platforms have different RCW header value from FSL PowerPC platforms, the current image header verification callback is only working on PowerPC, it will fail on Layerscape, this patch is to fix this issue. This is a historical problem and exposed by the following patch: http://patchwork.ozlabs.org/project/uboot/patch/20220114173443.9877-1-pali@kernel.org Signed-off-by: Hou Zhiqiang --- Makefile | 2 +- tools/pblimage.c | 10 ++++++++-- tools/pblimage.h | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 4b152249ca..3c2bc9741c 100644 --- a/Makefile +++ b/Makefile @@ -1410,7 +1410,7 @@ MKIMAGEFLAGS_u-boot-spl.kwb = -n $(KWD_CONFIG_FILE) \ $(if $(KEYDIR),-k $(KEYDIR)) MKIMAGEFLAGS_u-boot.pbl = -n $(srctree)/$(CONFIG_SYS_FSL_PBL_RCW:"%"=%) \ - -R $(srctree)/$(CONFIG_SYS_FSL_PBL_PBI:"%"=%) -T pblimage + -R $(srctree)/$(CONFIG_SYS_FSL_PBL_PBI:"%"=%) -A $(ARCH) -T pblimage ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) UBOOT_BIN := u-boot-with-dtb.bin diff --git a/tools/pblimage.c b/tools/pblimage.c index 3c823e96cf..bd639c276f 100644 --- a/tools/pblimage.c +++ b/tools/pblimage.c @@ -230,19 +230,25 @@ static int pblimage_verify_header(unsigned char *ptr, int image_size, struct image_tool_params *params) { struct pbl_header *pbl_hdr = (struct pbl_header *) ptr; + uint32_t rcwheader; + + if (params->arch == IH_ARCH_ARM) + rcwheader = RCW_ARM_HEADER; + else + rcwheader = RCW_PPC_HEADER; /* Only a few checks can be done: search for magic numbers */ if (ENDIANNESS == 'l') { if (pbl_hdr->preamble != reverse_byte(RCW_PREAMBLE)) return -FDT_ERR_BADSTRUCTURE; - if (pbl_hdr->rcwheader != reverse_byte(RCW_HEADER)) + if (pbl_hdr->rcwheader != reverse_byte(rcwheader)) return -FDT_ERR_BADSTRUCTURE; } else { if (pbl_hdr->preamble != RCW_PREAMBLE) return -FDT_ERR_BADSTRUCTURE; - if (pbl_hdr->rcwheader != RCW_HEADER) + if (pbl_hdr->rcwheader != rcwheader) return -FDT_ERR_BADSTRUCTURE; } return 0; diff --git a/tools/pblimage.h b/tools/pblimage.h index 81c5492926..0222e8067b 100644 --- a/tools/pblimage.h +++ b/tools/pblimage.h @@ -8,7 +8,8 @@ #define RCW_BYTES 64 #define RCW_PREAMBLE 0xaa55aa55 -#define RCW_HEADER 0x010e0100 +#define RCW_ARM_HEADER 0x01ee0100 +#define RCW_PPC_HEADER 0x010e0100 struct pbl_header { uint32_t preamble;