Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp932933ybt; Wed, 17 Jun 2020 18:16:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwjjypZwdU8xkTjNvlgNKKmjommbgSH+mP3LVtoF2zMO9ji75zTxediysC92PBeZ95JVnTc X-Received: by 2002:a05:6402:c1a:: with SMTP id co26mr1707758edb.207.1592442995992; Wed, 17 Jun 2020 18:16:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592442995; cv=none; d=google.com; s=arc-20160816; b=tc2JXJuwZFAzE8sH14uRWpT3IWgTozZfWaQGZU3DQLuG7+gGqUj48yut9TwSdYsqVZ TD/newuEVh5sxRgvwuf95Bjf/jzIwDgtKD2c1d08/AaydljxJoxU+Yznt3CGaBL2BMP2 ILzmsbgAxiSJgvK6konI8aHbj4mC47J/gA/4VshrG+3VRx9TKPsBL4rI7FTGKCyWSsUe FXLYzULZSacZuRFlHpviBErpWBNdxAHsy1gL6r5pyRi9gUvVpqsVnBRJzj1rg4MC1x5i aKCauE6r8vdRa6iVNuD300L+DwXsXdYH7ut26fMUu2ioKS852tgKsqx8QjDCH5GUAs94 wFxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MpS6i6OqHoJqAdnuuFQ00u06b2BfoFfjCmKs92gzEEU=; b=OK+jQcebZjF5n9pK/G0sp6aGP39APkFUWjU6XNOi2b6X+lncAetXkXRf1Nt292bmMw 6rKGSHx0N1A32MyazcNmJA1mc4nmS4dKn0lSvbw183d7Nb+OCsXe+t58FYdvilTTDhBW IlULorxZK9UOkvNjsRBhk/TU/rnW4YWoIBYtM36xNBESAap27tg/oKgr8R0fF2Pfz5vK PJa9BidYdZeF8QzgMfFXF78hr/E9dzNtXGSo2viPQYiNCivVhkTg0A+1Rv7Y/W4/Xl90 Ddb4Gq6UfI9gox71m+/a5wfwujKUevXJlSnuF7YeY2oaMFjhZwjeNY1bqEhcYY0n/52V 3BVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b6RH96Ys; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z39si944382ede.374.2020.06.17.18.16.13; Wed, 17 Jun 2020 18:16:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b6RH96Ys; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726931AbgFRBOM (ORCPT + 99 others); Wed, 17 Jun 2020 21:14:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:41912 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728394AbgFRBNB (ORCPT ); Wed, 17 Jun 2020 21:13:01 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2CCF52193E; Thu, 18 Jun 2020 01:13:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442780; bh=uPVJfn4eW6yGGsUiXpVMaywucoc7azMIcy2PSIJ8+B0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b6RH96YsjMrrsG6+i7crH//kF9VcNBMdE6UFbEVX18A0GqX0HclsDQs1LN3fnATOD Bj9xsBgIJ9CZogBSfLTE52OdcPSR1k9a/bYQaD5rtAxeFUYvkjuts770FzZXQk6PhD 4LeY4WO796DDbYAh9W293wQ7Zipo4t+vBWQCo7fI= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Geoff Levand , Michael Ellerman , Sasha Levin , linuxppc-dev@lists.ozlabs.org Subject: [PATCH AUTOSEL 5.7 226/388] powerpc/ps3: Fix kexec shutdown hang Date: Wed, 17 Jun 2020 21:05:23 -0400 Message-Id: <20200618010805.600873-226-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Geoff Levand [ Upstream commit 126554465d93b10662742128918a5fc338cda4aa ] The ps3_mm_region_destroy() and ps3_mm_vas_destroy() routines are called very late in the shutdown via kexec's mmu_cleanup_all routine. By the time mmu_cleanup_all runs it is too late to use udbg_printf, and calling it will cause PS3 systems to hang. Remove all debugging statements from ps3_mm_region_destroy() and ps3_mm_vas_destroy() and replace any error reporting with calls to lv1_panic. With this change builds with 'DEBUG' defined will not cause kexec reboots to hang, and builds with 'DEBUG' defined or not will end in lv1_panic if an error is encountered. Signed-off-by: Geoff Levand Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/7325c4af2b4c989c19d6a26b90b1fec9c0615ddf.1589049250.git.geoff@infradead.org Signed-off-by: Sasha Levin --- arch/powerpc/platforms/ps3/mm.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c index 423be34f0f5f..f42fe4e86ce5 100644 --- a/arch/powerpc/platforms/ps3/mm.c +++ b/arch/powerpc/platforms/ps3/mm.c @@ -200,13 +200,14 @@ void ps3_mm_vas_destroy(void) { int result; - DBG("%s:%d: map.vas_id = %llu\n", __func__, __LINE__, map.vas_id); - if (map.vas_id) { result = lv1_select_virtual_address_space(0); - BUG_ON(result); - result = lv1_destruct_virtual_address_space(map.vas_id); - BUG_ON(result); + result += lv1_destruct_virtual_address_space(map.vas_id); + + if (result) { + lv1_panic(0); + } + map.vas_id = 0; } } @@ -304,19 +305,20 @@ static void ps3_mm_region_destroy(struct mem_region *r) int result; if (!r->destroy) { - pr_info("%s:%d: Not destroying high region: %llxh %llxh\n", - __func__, __LINE__, r->base, r->size); return; } - DBG("%s:%d: r->base = %llxh\n", __func__, __LINE__, r->base); - if (r->base) { result = lv1_release_memory(r->base); - BUG_ON(result); + + if (result) { + lv1_panic(0); + } + r->size = r->base = r->offset = 0; map.total = map.rm.size; } + ps3_mm_set_repository_highmem(NULL); } -- 2.25.1