From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 39D843F86E0 for ; Fri, 26 Jun 2026 14:17:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782483463; cv=none; b=a/kT+4dIfAIChuncjU03Hk7paAO8WAgBhPvaEh+9xBGZL0HKa7kP80C7z8txtuIG7pzh8GnFGMCtJedlvBZTPWOKCJlqaeo5oFnDeKySck9Je4yFbk1Ye0s7DeG4wyVxH9KKtoj9O7N7ljIJnvnVmhvI0xR4oFiE9bJJey39pqY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782483463; c=relaxed/simple; bh=EsyTFM+2cQ9EKdp+PAjZ7RtRVbb96Jeozu49iqRGaG8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=prta3/4zfZFz8gX61sYCml9JoXUrVLUdaEOiPgBTHqZBz/RBBkrQgrt0nYU1dbw1TBsS0zelRO07QmxrUhP9AWPyM5JK3u3GOD+PAKDEfV+5pn/M6ZfpSgcEbTmwu/CCSZ1lYVOtSfPHOj+PfO/197BthEcZw5+7ButgFJMgzGI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OTwv4cp1; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OTwv4cp1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B6A61F00A3E; Fri, 26 Jun 2026 14:17:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782483461; bh=S7OGCC6Q1LctmHJFe8cX2dcUbKj1900sOqj9vVCpnIc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OTwv4cp19o0IbJ6sxOymAbLDjcG8g4T/wUVR/SlObZCgRnVEvQGJQ4UXhugb6TTx9 tCCAp5tt7fAGnprLtyxLJjRoLVnt+fUuLDAZaJPZfoJl5/lNzmEvgg0ODng2kpifFP D+XhW8sUCKeybEzvozJ26E4xtDZXrDhPi49+uMHSYqXVZtDS+g0YvAo8xnlGW7HkoC BF3c5UKkn1CGR09jbBtV/HlxE2u+gTv9dHpgcNC+t7CLcdtBbcdlKnDF5O/Uvl2eL+ P7nnYJZTmIKT9/Ep3kjqBEbczIqoy0b8Y46p20sheRq1DrKw+bXh7c+VLGXgvZqZym x1sq8qott/r6w== From: Will Deacon To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Will Deacon , Arnd Bergmann , Nick Desaulniers , Steffen Eiden , Andreas Grapentin , Catalin Marinas , Dave Martin , Mark Rutland , Marc Zyngier Subject: [PATCH v2 2/2] arm64: uapi: Use __u128 instead of __uint128_t in UAPI headers Date: Fri, 26 Jun 2026 15:17:29 +0100 Message-ID: <20260626141730.5976-3-will@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260626141730.5976-1-will@kernel.org> References: <20260626141730.5976-1-will@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The arm64 UAPI exposes '__uint128_t' types in the members of 'struct user_fpsimd_state', 'struct user_pac_address_keys' and in the signal frame via 'struct fpsimd_context'. Since the alignment of such a type appears to be non-portable (16 bytes on arm64, 8 bytes on s390), prefer the '__u128' typedef from uapi/linux/types.h, which makes the alignment explicit and allows the definitions to be reused by other host architectures. Cc: Arnd Bergmann Cc: Nick Desaulniers Cc: Steffen Eiden Cc: Andreas Grapentin Cc: Catalin Marinas Cc: Dave Martin Cc: Mark Rutland Cc: Marc Zyngier Acked-by: Mark Rutland Reviewed-by: Marc Zyngier Reviewed-by: Arnd Bergmann Signed-off-by: Will Deacon --- arch/arm64/include/uapi/asm/ptrace.h | 12 ++++++------ arch/arm64/include/uapi/asm/sigcontext.h | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h index 6fed93fb2536..15649a253a57 100644 --- a/arch/arm64/include/uapi/asm/ptrace.h +++ b/arch/arm64/include/uapi/asm/ptrace.h @@ -93,7 +93,7 @@ struct user_pt_regs { }; struct user_fpsimd_state { - __uint128_t vregs[32]; + __u128 vregs[32]; __u32 fpsr; __u32 fpcr; __u32 __reserved[2]; @@ -258,14 +258,14 @@ struct user_pac_mask { /* pointer authentication keys (NT_ARM_PACA_KEYS, NT_ARM_PACG_KEYS) */ struct user_pac_address_keys { - __uint128_t apiakey; - __uint128_t apibkey; - __uint128_t apdakey; - __uint128_t apdbkey; + __u128 apiakey; + __u128 apibkey; + __u128 apdakey; + __u128 apdbkey; }; struct user_pac_generic_keys { - __uint128_t apgakey; + __u128 apgakey; }; /* ZA state (NT_ARM_ZA) */ diff --git a/arch/arm64/include/uapi/asm/sigcontext.h b/arch/arm64/include/uapi/asm/sigcontext.h index e29bf3e2d0cc..d250ca7a1d46 100644 --- a/arch/arm64/include/uapi/asm/sigcontext.h +++ b/arch/arm64/include/uapi/asm/sigcontext.h @@ -78,7 +78,7 @@ struct fpsimd_context { struct _aarch64_ctx head; __u32 fpsr; __u32 fpcr; - __uint128_t vregs[32]; + __u128 vregs[32]; }; /* @@ -266,8 +266,8 @@ struct gcs_context { * - ---- ----------- * REGS the entire SVE context * - * ZREGS __uint128_t[SVE_NUM_ZREGS][vq] all Z-registers - * ZREG __uint128_t[vq] individual Z-register Zn + * ZREGS __u128[SVE_NUM_ZREGS][vq] all Z-registers + * ZREG __u128[vq] individual Z-register Zn * * PREGS uint16_t[SVE_NUM_PREGS][vq] all P-registers * PREG uint16_t[vq] individual P-register Pn -- 2.55.0.rc0.799.gd6f94ed593-goog