From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFB311EBFFF for ; Tue, 7 Jan 2025 09:41:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736242910; cv=none; b=slX2UqaVQtjb+gwd6o0vIt0KKQJ/Gf76c7m86ATJl4gVdw0LUHmI3bEwAyeReHkF4ou5ATTXHYim6kMxmpLUBxKqZY/lsaKsWp3cvZ+yc+Ast5o0RqoXLNoY77/u79mY1WAMm8q//Rw5nC3jKFqvKRzHdcYQGAmlDlCgBlxA58E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736242910; c=relaxed/simple; bh=svGo+nM8V23CbybX4fwPd9oDkdOwLyN2GgXx9BTtMik=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DYBxogglcPO9LogyoeaRnmxn60q62tFnaU4+wkR1tmgj5gaHQR8Y1uspHzCjWDw9TWNf+PrrFlG6+TP3q6U956snatjHJkhQoPfn/yrHEFfAQkVaalmTcSKKGpki/pA5DoB9XitLIoyHX7nP6CoF19EiZTpBhDt2cBZs8i53nv8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=pPADqBAD; arc=none smtp.client-ip=209.85.218.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="pPADqBAD" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-aaec111762bso2491422866b.2 for ; Tue, 07 Jan 2025 01:41:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1736242905; x=1736847705; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=v829giFYonEyQ9WTV+P3dJRTtjfI/rZhUUQIvCJakF8=; b=pPADqBADKWYCK0i9869nHPsT360Iuqj+fH+aBiabydHOduS238FszI+3DGe7ePQJXl r7i3UEy+XPOdxbPlg1nUNh08JwsMb/8fGHgKoIhZsTETFPPux3rzlnBj1FhCbaj4Zv+p cGgmcrxmdvuUXX+wWcWKsYkuSiacdYbUv7IgT/HpMB4Zs/m2BGcxg6/xBugVG6xfeffK 0FhoOoXAdsfZZcHZPtMjCDwjM4m0J4H5E8R19qat9U+IC/QzbyZB7iHfWWpB7EUtgqOi ZwgXrfETbZHOzA0I9/W+nO9qAYGfHEv6bpOh1Pkv5yc0IMa0fldGX55KpqwxuoFBT8Jz ecxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736242905; x=1736847705; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v829giFYonEyQ9WTV+P3dJRTtjfI/rZhUUQIvCJakF8=; b=Gkc8BTg25q6b1qFaX4Hq8ueIUx+URBV0Lj9GZH96FVW6BaHv1zMaALXEb9VRm5aGYK zMJxB1LsHM1Sk8cc3bGOp0pLuYLqlc6W9w+MrR4bEibglOjP6fjM01WEAR04iM2r1lCF k0K9mueBASsQ6fel7fZroPPhBslH11o907sndsyfdImfAJxUfaQZz1Xg+vSQBNmL12CB szjZlodYxBC7Ke6A7GETnFYLvxKi7T678dP9SWwD+y6W26wWtvpIdtFN32qiSgVrWWsy o8tKuOvfE6jjIjX7Yem71JFtmdSJ5sD/ObqRkic1yFgmFWQay6ZN6e8m06bCzvDJYkXD zy8g== X-Forwarded-Encrypted: i=1; AJvYcCUP+3zyjG1fXCtZ1fsN9tkhHEKrojJfuXdG6LyFYW2vRFJc0iS7qJYgP5ehIXt2AIIPP79wIIlp9YR0nF8=@vger.kernel.org X-Gm-Message-State: AOJu0YyASNMGcynIv/9lSJJr8NeOAm1ToFYht1GyeQx5H9OglxvDR38W CS5Oz2XIxxbhfiyi/8UqadnFaW8kGbbKKvLY3MrMm5aZ8U281gEM51g2xX4sgGJUJtSM/OgMSuC TZvk= X-Gm-Gg: ASbGncvimUsfUVFI9qFkluUfnxbMafsUiwuq64UvppyF3vgv6NioxUm2Sgb8K+ghN4m mkcOf3idsQ8+YkV8lMFoTJodZceRKygeNCtKyddEkA0swhem07Ue+JLSKXITfdkrue/jRZvPdJp gienUUNplGDYYbr+E65uafdox4TRGhJg2Rl47UJGf+U4ejRGWKj/+ncgk2ii+2go/AOZ7LL52qW 4LcZxZ5Ai2Vu05FbKMxTAfqTI3WgrAjbiJNu0sgkFvtSj5UJoE/BDh7j3b0ibIdDJA= X-Google-Smtp-Source: AGHT+IGxL2uvreJSYgRQWypM4h6fpX3X0ht6mED44IiWbS3kunWbdejn+a0zmCmtQsTsupFQ/PTArA== X-Received: by 2002:a17:907:1a4e:b0:aac:4324:977e with SMTP id a640c23a62f3a-aac432497bamr4897636766b.27.1736242904900; Tue, 07 Jan 2025 01:41:44 -0800 (PST) Received: from [192.168.1.140] ([85.235.12.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aac0f012229sm2356901166b.133.2025.01.07.01.41.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jan 2025 01:41:44 -0800 (PST) From: Linus Walleij Date: Tue, 07 Jan 2025 10:41:30 +0100 Subject: [PATCH RFC v3 14/30] ARM: entry: Drop trace argument from usr_entry macro Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250107-arm-generic-entry-v3-14-4e5f3c15db2d@linaro.org> References: <20250107-arm-generic-entry-v3-0-4e5f3c15db2d@linaro.org> In-Reply-To: <20250107-arm-generic-entry-v3-0-4e5f3c15db2d@linaro.org> To: Dmitry Vyukov , Oleg Nesterov , Russell King , Kees Cook , Andy Lutomirski , Will Drewry , Frederic Weisbecker , "Paul E. McKenney" , Jinjie Ruan , Arnd Bergmann , Ard Biesheuvel , Al Viro Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Linus Walleij X-Mailer: b4 0.14.2 The trace argument select whether to look into tracing of the hardirqs for the exceptions from userspace, but also selects whether to call further down to establish context for RCU. Split off a second macro that is called on everything except the FIQ since this is the only outlier. Signed-off-by: Linus Walleij --- arch/arm/kernel/entry-armv.S | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 93a37437a9520118eff411f009e8f6bd729412fc..c71110126fc105fc6ac2d6cb0f5f399b4c8b1548 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S @@ -357,7 +357,7 @@ ENDPROC(__fiq_abt) #error "sizeof(struct pt_regs) must be a multiple of 8" #endif - .macro usr_entry, trace=1, uaccess=1 + .macro usr_entry, uaccess=1 UNWIND(.fnstart ) UNWIND(.cantunwind ) @ don't unwind the user space sub sp, sp, #PT_REGS_SIZE @@ -401,13 +401,14 @@ ENDPROC(__fiq_abt) @ Clear FP to mark the first stack frame @ zero_fp + .endm - .if \trace + /* Called after usr_entry for everything except FIQ */ + .macro usr_entry_enter #ifdef CONFIG_TRACE_IRQFLAGS bl trace_hardirqs_off #endif asm_irqentry_enter_from_user_mode save = 0 - .endif .endm .macro kuser_cmpxchg_check @@ -429,6 +430,7 @@ ENDPROC(__fiq_abt) .align 5 __dabt_usr: usr_entry uaccess=0 + usr_entry_enter kuser_cmpxchg_check mov r2, sp dabt_helper @@ -439,6 +441,7 @@ ENDPROC(__dabt_usr) .align 5 __irq_usr: usr_entry + usr_entry_enter kuser_cmpxchg_check irq_handler from_user=1 get_thread_info tsk @@ -452,6 +455,7 @@ ENDPROC(__irq_usr) .align 5 __und_usr: usr_entry uaccess=0 + usr_entry_enter @ IRQs must be enabled before attempting to read the instruction from @ user space since that could cause a page/translation fault if the @@ -476,6 +480,7 @@ ENDPROC(__und_usr) .align 5 __pabt_usr: usr_entry + usr_entry_enter mov r2, sp @ regs pabt_helper UNWIND(.fnend ) @@ -495,7 +500,7 @@ ENDPROC(ret_from_exception) .align 5 __fiq_usr: - usr_entry trace=0 + usr_entry kuser_cmpxchg_check mov r0, sp @ struct pt_regs *regs bl handle_fiq_as_nmi -- 2.47.1