From patchwork Mon Mar 20 20:52:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 95583 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp1131493qgd; Mon, 20 Mar 2017 13:53:15 -0700 (PDT) X-Received: by 10.84.196.164 with SMTP id l33mr43120168pld.0.1490043194948; Mon, 20 Mar 2017 13:53:14 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id t5si18745487pgj.171.2017.03.20.13.53.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Mar 2017 13:53:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 390CB8046C; Mon, 20 Mar 2017 13:53:14 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wm0-x236.google.com (mail-wm0-x236.google.com [IPv6:2a00:1450:400c:c09::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C4B348046A for ; Mon, 20 Mar 2017 13:53:12 -0700 (PDT) Received: by mail-wm0-x236.google.com with SMTP id n11so73174090wma.1 for ; Mon, 20 Mar 2017 13:53:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=2R+qrUsLRXpegI9X9XVL3bxU3PakfGXgFXVpf+N6C+Q=; b=Qd/ycWb1M67AGcUS4AUv+wCdP5AtZLxEbIW0eKHQYp41NCNVYXdEC0gwhbzmeN0w+T CPqTXWmqWKOFK5HKo1Z/whWaznlnoBAu/NztTjB1bC2fezmcOJj+li7eRFg47F+jn+8N TjQO8J5dVWMdRc7XBvKgwNQz0HMwc7pOWc5NQ= 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; bh=2R+qrUsLRXpegI9X9XVL3bxU3PakfGXgFXVpf+N6C+Q=; b=ceXBeswR1Osg13oJfWAkUvbcR7G1tFrQk0nf0VJ0Hh7YFw5QRbSEGu4SHyeXD5Xlon HclOO5tv9y7W8cMzmeHz0i6u27Bp0XGFmQMqZZ+nq82RioME8U983KcK8bgnHiHJT8IN lt50bhIQE0tYljudkgVzFdZYwUe/5pzYtcv3tSZpFYe1c6xZkX9TtmDcVQL4e/LSjz0o JCU74ntaMsh+4lYtvSgTLowpkiUhWH4xBHKc2owD1SK06Ezc+QIGj+RLeJW+VjuN5WaH kIy1s8dwHdcBqPkYvi6exxVCiPaat+NHYlMUVGse6Lhqbj51HQ+lRPB8+YJYcIzKfoEi C3JQ== X-Gm-Message-State: AFeK/H3OSPX25uyye3Wmu3UvjHkKVOs/gWnauLCg10b21i46lEUcqzX++9ALfCJJiQ3/z6oP X-Received: by 10.28.159.143 with SMTP id i137mr2691874wme.128.1490043191419; Mon, 20 Mar 2017 13:53:11 -0700 (PDT) Received: from localhost.localdomain (189.17.90.92.rev.sfr.net. [92.90.17.189]) by smtp.gmail.com with ESMTPSA id q1sm12184651wra.65.2017.03.20.13.53.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 20 Mar 2017 13:53:10 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org Date: Mon, 20 Mar 2017 20:52:58 +0000 Message-Id: <1490043181-20031-1-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.7.4 Subject: [edk2] [PATCH 0/3] ArmPkg: increase robustness of the crash handler X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ryan.harkin@linaro.org, Ard Biesheuvel , eugene@hp.com MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Make the default exception handler deal with corrupted SP or PC registers, by switching to the EL0 stack pointer for sync exceptions, and walking the call stack even if PC is 0x0 or otherwise invalid. Ard Biesheuvel (3): ArmPkg/DefaultExceptionHandlerLib: add missing GUID to .inf ArmPkg/DefaultExceptionHandlerLib: walk call stack unconditionally ArmPkg/ArmExceptionLib: use EL0 stack for synchronous exceptions ArmPkg/Library/ArmExceptionLib/AArch64/AArch64Exception.c | 17 +++- ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S | 86 ++++++++++++-------- ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf | 5 +- ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c | 56 +++++++------ ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf | 3 + ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf | 3 + 6 files changed, 107 insertions(+), 63 deletions(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel