From patchwork Mon Nov 11 21:30:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Goldschmidt X-Patchwork-Id: 1193152 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LsxU0gaI"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47BkZh1CsFz9sPJ for ; Tue, 12 Nov 2019 08:31:06 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 0BF81C21DB6; Mon, 11 Nov 2019 21:30:55 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID 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 54A2DC21C8B; Mon, 11 Nov 2019 21:30:54 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 7E61DC21C8B; Mon, 11 Nov 2019 21:30:53 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id 1528AC21C2C for ; Mon, 11 Nov 2019 21:30:53 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id c22so813437wmd.1 for ; Mon, 11 Nov 2019 13:30:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4G1KeuJNLzHwlVhfu0O2KOm4xrVeWtUOfvKtQV52VAw=; b=LsxU0gaIuNu/PgltJAfVio9BIPyMY13jitb39pKGq3d8sTlBjext3JHVokOUmejnq4 JHbMO6qpF3YmudHrHH4o/Hs3cs+QDb1OB0XacbGeS7SjbWgoC4VIuzgjVYb4f4J8HJCf KZe6q7BCzQNysLuCrCDbmZcyypYJM5l7F1zMA2/d02Cpo2148Z18ba64Md8IH/WD1DCP 8l0KGAmZYubfxX4bhwS9NN3snVCu+iElFOKKHgBxT5Rq+ymPfkgTPNYOvkAy5HyxkJ+Q wo21Oa+mJ8lVYu+ZQjfurbjN7KW2rIVh7v6budUCtrzvCRjXCzzmqMVx6cP88sVhiKOs 6XBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4G1KeuJNLzHwlVhfu0O2KOm4xrVeWtUOfvKtQV52VAw=; b=UPk5w9Tn0O2/ZamVGvyJksljgJBS9dra8fJxxUXT4b0vO0aTjjaZ5B3m2FXgTB4FEv 3Vu5vlCemkQ7wh2Aw2pba25l/FRSm6CFsxv5uhI+TJB/aTQ51tWNPOf5/veb0raz9trr T+SxpeuWZOJRpka1TB2BU3sNIXha7thbiGgVYb4f6Si5e/6nsDyt84kuqpDZTKAPvNQZ 0k3on3njUjKOjpQDz+unbpt+758o/LSafhjL/zYzw8Jjq56hvVRinpHrzN15sqlfefs9 OUaqZLlk219QdniIHdgBDaFrPMtQbcR4KNqjETJyga2bn+hX3GFznc2xXK1WtxOUCQZ4 MOGQ== X-Gm-Message-State: APjAAAWqrKCCY83qHfKkog0wyZXKZ27GLTWc8HI/F/49CS/yritGflGQ Vxprw0M5oKKFvEKvgnFRa8E= X-Google-Smtp-Source: APXvYqyNcS/0cxmzhsmpbz0jYXnOYJ5wzxYKm3DBWKUXztVnC9UuLUV8FpdNiNJ7yhP6Y9Dcc+NErg== X-Received: by 2002:a05:600c:2919:: with SMTP id i25mr891468wmd.158.1573507852654; Mon, 11 Nov 2019 13:30:52 -0800 (PST) Received: from ubuntu.home ([2a02:8071:6a3:700:695e:d262:a293:b57]) by smtp.gmail.com with ESMTPSA id k14sm4489299wrw.46.2019.11.11.13.30.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Nov 2019 13:30:51 -0800 (PST) From: Simon Goldschmidt To: Tom Rini Date: Mon, 11 Nov 2019 22:30:46 +0100 Message-Id: <20191111213046.20359-1-simon.k.r.goldschmidt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH] spl: fix stack usage check if gd is not initialized 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Most platforms do not set up gd->start_addr_sp in SPL. Since this is required for CONFIG_SPL_SYS_REPORT_SACK_F_USAGE to work correctly, set up gd->start_addr_sp in SPL to the value passed to board_init_f_init_reserve if it is not set yet. Fixes: d8c0332031 ("spl: implement stack usage check") Signed-off-by: Simon Goldschmidt --- common/init/board_init.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/common/init/board_init.c b/common/init/board_init.c index e52106966d..3bc7994586 100644 --- a/common/init/board_init.c +++ b/common/init/board_init.c @@ -18,6 +18,19 @@ __weak void arch_setup_gd(struct global_data *gd_ptr) } #endif /* !CONFIG_X86 && !CONFIG_ARM */ +/** + * This function is called from board_init_f_init_reserve to set up + * gd->start_addr_sp for stack protection if not already set otherwise + */ +__weak void board_init_f_init_stack_protection_addr(ulong base) +{ +#if CONFIG_IS_ENABLED(SYS_REPORT_STACK_F_USAGE) + /* set up stack pointer for stack usage if not set yet */ + if (!gd->start_addr_sp) + gd->start_addr_sp = base; +#endif +} + /** * This function is called after the position of the initial stack is * determined in gd->start_addr_sp. Boards can override it to set up @@ -129,6 +142,10 @@ void board_init_f_init_reserve(ulong base) #if !defined(CONFIG_ARM) arch_setup_gd(gd_ptr); #endif + + if (CONFIG_IS_ENABLED(SYS_REPORT_STACK_F_USAGE)) + board_init_f_init_stack_protection_addr(base); + /* next alloc will be higher by one GD plus 16-byte alignment */ base += roundup(sizeof(struct global_data), 16);