Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3637840ybb; Mon, 23 Mar 2020 05:00:49 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvjNv5ra1FEKC6ibQZVtMGRe0v74E8f+KIQUeU6MccnfZcRRjJZQ03eVpsunjQhGicyU0eR X-Received: by 2002:aca:7517:: with SMTP id q23mr16827887oic.23.1584964849336; Mon, 23 Mar 2020 05:00:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584964849; cv=none; d=google.com; s=arc-20160816; b=QeVQp5hLs9E+gPwGuTzPuBVpZaSFNmi7pWYb6nRi95/aLlFs6RcA/8e/kQoa2KuNeL HGWXmp+maxtg5pJ6SGOET95kr+sIjFk75J2R/FcLhRcO8ywYsui1NfOmJKdLZUcwbJeQ Y+8u8Uq0WBRndPS2782HO9H25DuN3ZgOrZz05Ue+jmJeljhe9tjPfPcHMFcXc9GiHEbK 0XQJUYgs5wg3x4hcWZyvmJgPLqZEEsz+1jexXkUgqS+NfOxN8kfMAVIhYfvwmeq8hePe XwPfSFFI2mPdBBOydpGTZrWF0ZsY3i4dfigQOno9AEZTpW3RYT5eDcMUtKmRsf+4rGXA lJJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=2b122vFft/uwooQ31oHiNIL47pr8TWz8huOnnH7Apfs=; b=rVZv7ZHWJ3yJ2+i1EZN9+K4YA9s6ABK0RsICERt5sg8Dbfw4yactP9iR359zhkl7Tg LqD8ZdovQxBhbcruo+umPxnOyOa/R9p2EsYM173T0dH/xYs60+soOi5l4hBFecjymVog pQig+ITa4pZKyoaEkTkgUmkeIzP3TP9wqlQtSoVWTKYqpj0//+tPligZ00CpQ0n3fR85 ezB8f6yY1XAURT6hReS9+X8iLplKNX2ue8ME6aJmmDB4EJl36XldjS6EnV2z+VxKpPeG znLJfSXclJBngZN7tPjldbZeME7bFH1RgsdeHmZw2KPGaKguz1lML1clV9ioyX9HvIY1 z2tw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y2si7331727oto.123.2020.03.23.05.00.29; Mon, 23 Mar 2020 05:00:49 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728206AbgCWL6L (ORCPT + 99 others); Mon, 23 Mar 2020 07:58:11 -0400 Received: from foss.arm.com ([217.140.110.172]:47830 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728174AbgCWL6L (ORCPT ); Mon, 23 Mar 2020 07:58:11 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 465AB1FB; Mon, 23 Mar 2020 04:58:11 -0700 (PDT) Received: from C02TD0UTHF1T.local (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C14BF3F52E; Mon, 23 Mar 2020 04:58:09 -0700 (PDT) Date: Mon, 23 Mar 2020 11:58:04 +0000 From: Mark Rutland To: Catalin Marinas Cc: =?utf-8?B?UsOpbWk=?= Denis-Courmont , will@kernel.org, linux-arm-kernel@lists.infradead.org, james.morse@arm.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/3] arm64: reduce trampoline data alignment Message-ID: <20200323115804.GA2597@C02TD0UTHF1T.local> References: <1938400.7m7sAWtiY1@basile.remlab.net> <20200319091407.51449-3-remi@remlab.net> <20200321134056.GB3052@mbp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200321134056.GB3052@mbp> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Mar 21, 2020 at 01:41:01PM +0000, Catalin Marinas wrote: > On Thu, Mar 19, 2020 at 11:14:07AM +0200, RĂ©mi Denis-Courmont wrote: > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > > index c36733d8cd75..ecad15443655 100644 > > --- a/arch/arm64/kernel/entry.S > > +++ b/arch/arm64/kernel/entry.S > > @@ -858,7 +858,7 @@ SYM_CODE_END(tramp_exit_compat) > > .popsection // .entry.tramp.text > > #ifdef CONFIG_RANDOMIZE_BASE > > .pushsection ".rodata", "a" > > - .align PAGE_SHIFT > > + .align 4 // all .rodata must be in a single fixmap page > > SYM_DATA_START(__entry_tramp_data_start) > > .quad vectors > > SYM_DATA_END(__entry_tramp_data_start) > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > > index 9b08f7c7e6f0..6a0e75f48e7b 100644 > > --- a/arch/arm64/mm/mmu.c > > +++ b/arch/arm64/mm/mmu.c > > @@ -599,9 +599,8 @@ static int __init map_entry_trampoline(void) > > if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) { > > extern char __entry_tramp_data_start[]; > > > > - __set_fixmap(FIX_ENTRY_TRAMP_DATA, > > - __pa_symbol(__entry_tramp_data_start), > > - PAGE_KERNEL_RO); > > + pa_start = __pa_symbol(__entry_tramp_data_start) & PAGE_MASK; > > + __set_fixmap(FIX_ENTRY_TRAMP_DATA, pa_start, PAGE_KERNEL_RO); > > } > > > > return 0; > > For some reason, I haven't investigated yet, a kernel with KASAN and 64K > pages enabled does not boot (see the attached config). It seems to lock > up when starting user space. Bisected to this commit, reverting it fixes > the issue. I think the issue might be due to ADRP + ADD :lo12: using 4K offsets, and so patch 1 isn't quite right for !4K kernels, as we're not accounting for 4 bits of the address when we try to generate it. I'll check that now. Thanks, Mark.