From patchwork Mon Sep 18 00:40:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Levin, Alexander \(Sasha Levin\)" X-Patchwork-Id: 112863 Delivered-To: patch@linaro.org Received: by 10.140.106.117 with SMTP id d108csp3118730qgf; Sun, 17 Sep 2017 17:44:37 -0700 (PDT) X-Google-Smtp-Source: ADKCNb4K/dpkVyV+tyeDxt60Zf3fjfd94HfRV15y/3uIyIeHQhKSfFgVW4pzEa3e7rvpfcv7Srp3 X-Received: by 10.84.131.105 with SMTP id 96mr34749810pld.229.1505695477592; Sun, 17 Sep 2017 17:44:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1505695477; cv=none; d=google.com; s=arc-20160816; b=WR2TVaT4r97ukaXhMAEBvZCbvdMoWq3/HA+hVHWPDp5SiG7lOh6YkL+TrY96oF7vMy lOkzVaXfB+vBt7DB3PWg+fri5lojXUiFgXkE7I6d7apXilUaM0tDCvpMN+TcQfCVYsg1 NqFfwj83wxYAQR6RxvhEjaHKpU9AXKvYFA84cvGCOypf50eiqDIIhDYlJD2bNfz3O6yG WCRbv9QMcmT8S5zphbWtudHG5z9qZMqLN/T5GPqCq1evi+QmFDn/FFMmqLOfTVV2uVLH 6M75AXia2t9SufOnso5zF0fFRw/D/mD8ViK/D8gW6g89Y/epwS7RgSBWi3Z9Xijd6x+w BpsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:to:dkim-signature :dkim-signature:cc:from:dkim-signature:arc-authentication-results; bh=CDDXsDP3GLbvlD4Ti9gJTorvZFGS29IvkglT7FT9wZU=; b=fg1kEbLGwNkDhTjMLOjI2O+kAnugLZ4z3YPqfdQdoHHbpmQma6ZdKSTBS55k8l28zD hJoz9hyW8GjlRVyc2/kvFjxnYZrak13913TGSs3yfCipOZnYWefaraLCLCt+zpi1n0xS RAkQoWj5woO6czm0YAU/RyPmRxcqNnhhP6HKzz3w9psr1HV9QKB8Q8l+Lul9xddMozl/ 6nvorOY7PMavRskf1MZ1FSt3gCMh/jcpdPfCotcu6YlYqa1roX8PIqYsQlVESwadGsPU XwZxRYdf4KumtCkC9ecHQfddxyxXH5M+++i58iAX59SOEOHwOCb4OBCPuMc9LPQ/LoHo yFnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@verizon.com header.s=corp header.b=JXY9mJ6u; dkim=fail header.i=@verizon.com header.s=corp header.b=JQX/3tRf; dkim=fail header.i=@verizon.com header.s=corp header.b=JQX/3tRf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=verizon.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y17si3788858pfl.140.2017.09.17.17.44.37; Sun, 17 Sep 2017 17:44:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@verizon.com header.s=corp header.b=JXY9mJ6u; dkim=fail header.i=@verizon.com header.s=corp header.b=JQX/3tRf; dkim=fail header.i=@verizon.com header.s=corp header.b=JQX/3tRf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=verizon.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752373AbdIRAoe (ORCPT + 26 others); Sun, 17 Sep 2017 20:44:34 -0400 Received: from omzsmtpe03.verizonbusiness.com ([199.249.25.208]:61379 "EHLO omzsmtpe03.verizonbusiness.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751587AbdIRAlF (ORCPT ); Sun, 17 Sep 2017 20:41:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=verizon.com; i=@verizon.com; q=dns/txt; s=corp; t=1505695265; x=1537231265; h=from:cc:to:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=QXhAbpnm9Uly5vQNNBMTDelBwnqfx8sK/+dNJ7MMEOc=; b=JXY9mJ6uw3czRgbt/in1pwNSaq1h0o3MpoepXflaFcXvklm7rMO6rj1U PUOdnv/BqA0k9HBwbWHRQae8Knnd4Tspe7gIeKb5F40+xSJgpy8Qetpb7 HT7+Qnqs/JNGt123U//MxsYid/sOtGJWWbsgUSIAt90/R0uUds1VbYbOR Q=; Received: from unknown (HELO fldsmtpi01.verizon.com) ([166.68.71.143]) by omzsmtpe03.verizonbusiness.com with ESMTP; 18 Sep 2017 00:41:01 +0000 From: "Levin, Alexander (Sasha Levin)" Cc: Mark Rutland , Catalin Marinas , Will Deacon , "Levin, Alexander (Sasha Levin)" Received: from rogue-10-255-192-101.rogue.vzwcorp.com (HELO atlantis.verizonwireless.com) ([10.255.192.101]) by fldsmtpi01.verizon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 18 Sep 2017 00:40:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=verizon.com; i=@verizon.com; q=dns/txt; s=corp; t=1505695245; x=1537231245; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=QXhAbpnm9Uly5vQNNBMTDelBwnqfx8sK/+dNJ7MMEOc=; b=JQX/3tRfd7UDpzZOLVJGgLB5HbElBQ1xSImRdaGyobUqh9EjfbpVIuf+ 0vK0YNrq13Sea1bfT4d7VzYT9SQKo7Ik9xmkVcb/3vsVcW01dAbiKt1eI jtXNFRrov4h+8IM8dpqZyqALyHHej2kMSNyHtMcbQUC/hMvQf3O/0VZFV Y=; Received: from viking.odc.vzwcorp.com (HELO mercury.verizonwireless.com) ([10.255.240.26]) by atlantis.verizonwireless.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 17 Sep 2017 20:40:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=verizon.com; i=@verizon.com; q=dns/txt; s=corp; t=1505695245; x=1537231245; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=QXhAbpnm9Uly5vQNNBMTDelBwnqfx8sK/+dNJ7MMEOc=; b=JQX/3tRfd7UDpzZOLVJGgLB5HbElBQ1xSImRdaGyobUqh9EjfbpVIuf+ 0vK0YNrq13Sea1bfT4d7VzYT9SQKo7Ik9xmkVcb/3vsVcW01dAbiKt1eI jtXNFRrov4h+8IM8dpqZyqALyHHej2kMSNyHtMcbQUC/hMvQf3O/0VZFV Y=; X-Host: viking.odc.vzwcorp.com Received: from casac1exh002.uswin.ad.vzwcorp.com ([10.11.218.44]) by mercury.verizonwireless.com with ESMTP/TLS/AES128-SHA256; 18 Sep 2017 00:40:44 +0000 Received: from scwexch19apd.uswin.ad.vzwcorp.com (153.114.130.38) by CASAC1EXH002.uswin.ad.vzwcorp.com (10.11.218.44) with Microsoft SMTP Server (TLS) id 14.3.248.2; Sun, 17 Sep 2017 17:40:44 -0700 Received: from OMZP1LUMXCA18.uswin.ad.vzwcorp.com (144.8.22.196) by scwexch19apd.uswin.ad.vzwcorp.com (153.114.130.38) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Sun, 17 Sep 2017 17:40:43 -0700 Received: from OMZP1LUMXCA17.uswin.ad.vzwcorp.com (144.8.22.195) by OMZP1LUMXCA18.uswin.ad.vzwcorp.com (144.8.22.196) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Sun, 17 Sep 2017 19:40:38 -0500 Received: from OMZP1LUMXCA17.uswin.ad.vzwcorp.com ([144.8.22.195]) by OMZP1LUMXCA17.uswin.ad.vzwcorp.com ([144.8.22.195]) with mapi id 15.00.1263.000; Sun, 17 Sep 2017 19:40:38 -0500 To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" Subject: [PATCH for 4.9 29/39] arm64: kasan: avoid bad virt_to_pfn() Thread-Topic: [PATCH for 4.9 29/39] arm64: kasan: avoid bad virt_to_pfn() Thread-Index: AQHTMBa9C252J62RbEyEI0TktOUzqg== Date: Mon, 18 Sep 2017 00:40:34 +0000 Message-ID: <20170918004024.7247-12-alexander.levin@verizon.com> References: <20170918004024.7247-1-alexander.levin@verizon.com> In-Reply-To: <20170918004024.7247-1-alexander.levin@verizon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.144.60.250] MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mark Rutland [ Upstream commit b0de0ccc8b9edd8846828e0ecdc35deacdf186b0 ] Booting a v4.11-rc1 kernel with DEBUG_VIRTUAL and KASAN enabled produces the following splat (trimmed for brevity): [ 0.000000] virt_to_phys used for non-linear address: ffff200008080000 (0xffff200008080000) [ 0.000000] WARNING: CPU: 0 PID: 0 at arch/arm64/mm/physaddr.c:14 __virt_to_phys+0x48/0x70 [ 0.000000] PC is at __virt_to_phys+0x48/0x70 [ 0.000000] LR is at __virt_to_phys+0x48/0x70 [ 0.000000] Call trace: [ 0.000000] [] __virt_to_phys+0x48/0x70 [ 0.000000] [] kasan_init+0x1c0/0x498 [ 0.000000] [] setup_arch+0x2fc/0x948 [ 0.000000] [] start_kernel+0xb8/0x570 [ 0.000000] [] __primary_switched+0x6c/0x74 This is because we use virt_to_pfn() on a kernel image address when trying to figure out its nid, so that we can allocate its shadow from the same node. As with other recent changes, this patch uses lm_alias() to solve this. We could instead use NUMA_NO_NODE, as x86 does for all shadow allocations, though we'll likely want the "real" memory shadow to be backed from its corresponding nid anyway, so we may as well be consistent and find the nid for the image shadow. Cc: Catalin Marinas Cc: Will Deacon Acked-by: Laura Abbott Signed-off-by: Mark Rutland Signed-off-by: Will Deacon Signed-off-by: Sasha Levin --- arch/arm64/mm/kasan_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.11.0 diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c index 757009daa9ed..ff43da269fe8 100644 --- a/arch/arm64/mm/kasan_init.c +++ b/arch/arm64/mm/kasan_init.c @@ -153,7 +153,7 @@ void __init kasan_init(void) clear_pgds(KASAN_SHADOW_START, KASAN_SHADOW_END); vmemmap_populate(kimg_shadow_start, kimg_shadow_end, - pfn_to_nid(virt_to_pfn(_text))); + pfn_to_nid(virt_to_pfn(lm_alias(_text)))); /* * vmemmap_populate() has populated the shadow region that covers the