From patchwork Thu Nov 5 16:03:21 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alban Bedel X-Patchwork-Id: 540498 X-Patchwork-Delegate: swarren@nvidia.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id D4D9F140E31 for ; Fri, 6 Nov 2015 03:03:50 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756417AbbKEQDg (ORCPT ); Thu, 5 Nov 2015 11:03:36 -0500 Received: from mout.kundenserver.de ([212.227.17.24]:64703 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033211AbbKEQDd (ORCPT ); Thu, 5 Nov 2015 11:03:33 -0500 Received: from mailbox.adnet.avionic-design.de ([109.75.18.3]) by mrelayeu.kundenserver.de (mreue104) with ESMTPSA (Nemesis) id 0LlEeM-1aUFj32arm-00b0as for ; Thu, 05 Nov 2015 17:03:31 +0100 Received: from localhost (localhost [127.0.0.1]) by mailbox.adnet.avionic-design.de (Postfix) with ESMTP id 4BF4D2A28173; Thu, 5 Nov 2015 17:03:31 +0100 (CET) X-Virus-Scanned: amavisd-new at avionic-design.de Received: from mailbox.adnet.avionic-design.de ([127.0.0.1]) by localhost (mailbox.avionic-design.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LEEUCnlX3gQt; Thu, 5 Nov 2015 17:03:30 +0100 (CET) Received: from avionic-0020.adnet.avionic-design.de (avionic-0020.adnet.avionic-design.de [172.20.31.243]) by mailbox.adnet.avionic-design.de (Postfix) with ESMTP id DCFE42A280A9; Thu, 5 Nov 2015 17:03:28 +0100 (CET) From: Alban Bedel To: linux-tegra@vger.kernel.org Cc: Alban Bedel Subject: [cbootimage PATCH 2/3] Fix image update with image smaller than 10KiB Date: Thu, 5 Nov 2015 17:03:21 +0100 Message-Id: <1446739402-14238-3-git-send-email-alban.bedel@avionic-design.de> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1446739402-14238-1-git-send-email-alban.bedel@avionic-design.de> References: <1446739402-14238-1-git-send-email-alban.bedel@avionic-design.de> X-Provags-ID: V03:K0:KAxLiXnBidCOHfJmv9jM0X1u0NeO4cyjRpKQmje/JjOT57EqaqQ KAPwPv2v89qiJxsiRP8rDj0opsAgXw/060nya2qHWITlbEz58ztehiUCl/k3N+HQwuri7Cr nbFiS1TYImF1lCYu6zF57rIzSPg019NpOHw272tyuhiW4E4jAVcIXx+DjHFrkqatGfDR77g q3qgI7ZS1E7Zt1PHoqNnA== X-UI-Out-Filterresults: notjunk:1; V01:K0:YauLxeXVQvI=:We3NjMutDiMGUHtISNaXm/ L67xv7TsCJMc/2Zn0autBhs4VGCtcC7s1idThXKByNNVoHEEcULzZlXFVAVvGvRwrFos+ditx PkQIVB6damTYDE1A8QlsJKEHEGOV/7dmEYepIngq6ikhby0/4EaXpOeP5RskrptqE8FhexXqA mQUSlqkyVbX3PceJd0WcSQPhWvwtyxPbkrE8ofrS7It/3b0YPH1FADPn/86qRrKcrNfh25a3t DYfkDfWlYHUfnqqrIdZhHCR4ifcUUXt2A6tUJ+taRa1d16+g11ZH2h3YIFa4NlB65eRmy5kYX rBkhNn4usies1620tMfO9c4q9wLoYnhvhNj2++XShDc9tyMn1uRefcJ6CLZdg6p6jW+t7S+Nk UF9gINlDBONtQDdBgiTd9/z8U1sz3SnYFJKkQ8kQG3MEbX+pOy0EZrZ+9yikimK3kG98JeEXB gy/GXZJAM+7Zdb2juLyTbkGcSkNd+tZBXCZwYeBCvm/E+ULvG7EnDZaVf4EXWb0F8JXuFPvo6 KBuTqzy1gaob21iBr/OUcnK/C21X4ObbgStLM4LKyKgY6Tx9yAyrNwJFB3NjS1mkMG/qnNMs8 AXg/LQmqntqFEHjSBefzwh+v54SV3DVLTO0sXMftWoew6SpGdYZgXGqiQbjZI0QNfi/1FNb2X 9+eVHRGyd/5B7vdQEO5yvZ+mFpxduiNCrckQpwToAA0LyBwhOL01ZTnZ1axoTQs9OEm8= Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org The BCT size check assume a quiet large image, however if the image doesn't contains a bootloader it won't be that large. Change the size check to check for the smallest possible BCT size which is currently the T20 BCT. Signed-off-by: Alban Bedel --- src/cbootimage.h | 1 + src/data_layout.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cbootimage.h b/src/cbootimage.h index 63f0ee9..b94ed52 100644 --- a/src/cbootimage.h +++ b/src/cbootimage.h @@ -49,6 +49,7 @@ #define MAX_MTS_SIZE (4 * 1024 * 1024) +#define NVBOOT_CONFIG_TABLE_SIZE_MIN 4080 #define NVBOOT_CONFIG_TABLE_SIZE_MAX (10 * 1024) /* diff --git a/src/data_layout.c b/src/data_layout.c index e91d13c..8ac7ddf 100644 --- a/src/data_layout.c +++ b/src/data_layout.c @@ -1052,7 +1052,7 @@ int get_bct_size_from_image(build_image_context *context) if (!fp) return -ENODATA; - if (fread(buffer, 1, NVBOOT_CONFIG_TABLE_SIZE_MAX, fp) != NVBOOT_CONFIG_TABLE_SIZE_MAX) { + if (fread(buffer, 1, NVBOOT_CONFIG_TABLE_SIZE_MAX, fp) < NVBOOT_CONFIG_TABLE_SIZE_MIN) { fclose(fp); return -ENODATA; }