From nobody Sun Feb 8 11:45:06 2026 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.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 5ED8337C0E3 for ; Tue, 3 Feb 2026 06:34:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770100501; cv=none; b=al00kc35dEudgAToL8hgO7FbKGR1X3f8g3V9E+g7xea/pVF8j1r3wGhFuembkmbLY5zOlv7PLIcaKP1MlBh2LTpJWivN838DkjHkT/F75zxenC56XSulvsbq/9YVio/G5w375GSM4yar6GwbgnFVjKkABmQBZgsJtZl/hUhkgOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770100501; c=relaxed/simple; bh=+jfAbJmK5NygcciGKp6EEwMSd5OUC57idgZm/cik9Ls=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=qLjQIvHi91TmtCKU+1xuXjkfLZPJGDh6LlnZMqqby7IxFzpYK3vJHu+fpacdZXwOVF8uobJlbhCAOr63P5jmmuNkZ70PTMJbL1fh+9DGpJwPTnGXYpwdDkuOwT7B8zDFmPXfSNwJbZXwM57vZDfNDz2IwFA7Imw5DjXJ/xHo5+0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Uecs1NQ0; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Uecs1NQ0" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-59dcdf60427so6119607e87.3 for ; Mon, 02 Feb 2026 22:34:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770100497; x=1770705297; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Q7veAzn+ssv4gTO6PNq9GiaBpAmIsYoQzI7tl2meJ/s=; b=Uecs1NQ0hQC+B0VmmpsdWHrtqMj/OivpTHDg5UYHhVRGBz73HmI9+/ZU7GqdIN48iU gPoSOKPUTF00wK4DvkpaXTt1qezSA7BOroWM/WmIWnnuSttJA9obgDM8rz2oz2zK4Gbq 2fnQSZYk9yq8WWzkK8a+BG991DWqAZy5GXBmxkNI0bcG5XAOipbMh6+mJ33GhDXZHI6O KYGMg0rILO40d2OGMEE+Mej3bXEhcKG104aqkEjs2p0T0REW4X4m52AhciWl77Ipt/B6 VOV2s2MWFb3nWvuz7Ulmncp5r2i63XK5q6JpimhIGJ61jgL2zY8zahU4m9Q//S4hCvm/ rSbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770100497; x=1770705297; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q7veAzn+ssv4gTO6PNq9GiaBpAmIsYoQzI7tl2meJ/s=; b=YaJpb2d8XDxq0nIeOcACjBTYtZniNNiFM+7rd6jcrsPyT2+nOJUnu3Vce+oqmKTq74 CfhmT3H/OBPFWsC/Myz5ATfL/QaYn2QNNFMTsuAolZXNxXLC5RzA+l7UwVn6wOdBM2ln vK6vT6RFARSrlFsIBDiJxBuTohsMZBDQ7Bn/8TJ0eIHi2ya7/iAiG4Wawxg1FMMJoENi 14ySpMgC4x9KlsFcE9kci2gFlm7fLrUbf4JCv7dkpSMKhl38msemdHVnDCzgd+0RAsLp cQtt6hTP4auH8icMQ+e4Rf68LRUKn3khHKimYnnKnUpnUCpYIFG8V8xOYyKuRsO5PHb3 bkng== X-Forwarded-Encrypted: i=1; AJvYcCUMvEtnQj0TN/QqvG+/hjKmKymcmChTNg8MKzWjtoySXsoHSAniO+g0K8uhFydX+5yb1bNhID8kyOo0SP0=@vger.kernel.org X-Gm-Message-State: AOJu0YzOqCzaKnDd4ZwelcA4Wgf9TbQULqMw3jHrTFdrP79WRBk8iF4O RDdmBg1G6Z5jmNZTMsmweq6qSkacPZWce+sds4AAN/I27QaB2i2AXM38 X-Gm-Gg: AZuq6aK/+P7ykzwiZO1x+QvfpZc5hBMLC2BoiyFpjQVB4LZHpRT3FiLe3v7CBNkwEO0 7P7UQWTGBfWty9VpZd+pXl8z7resCX/rqoZVjQwg88oM8ONaNNaOu9xV9tcmfJTXga8s8rBwXJg Y51OFpjVXbgn4PU9Nn0S7HYQbY/fEpBMosAOrDGoF5o3HOZ6YOZV7QGoL7N9u9mAxPRfM1dApgT SJaedbC5x0QFnGTFhDqKzKVhXsGpreDGiZbWrc+0z9vvz/T8GaoTUbPJ5IM9gCz7icv4Bsj8X0x 9rDd9WkmIaF6c3NcOv0pQEJPt5rA/KcAdXnmpH9qTDqvYWrZe/oDEpLNKSVGvDOLF9LhLtf2RQs 8mXJACKlzUV3EkeNasBoUrrkIvdBKUk7w0FJwJxnxNwbwfRr/7KUB0d6ccLYfPSK2/jJZIIIZxe INCAFRjHqgPOBRbIT6RoxdC8OaTxvCVbBQKQGQPEWQyVsjuKlEOlzm+NxvH6Cqr/MTa01tHce88 S4XNPA2Qjp2K4nfpFPSpD8= X-Received: by 2002:a05:6512:238f:b0:59e:9b4:96a7 with SMTP id 2adb3069b0e04-59e164420cfmr4144034e87.37.1770100497341; Mon, 02 Feb 2026 22:34:57 -0800 (PST) Received: from buildhost.darklands.se (h-94-254-104-176.A469.priv.bahnhof.se. [94.254.104.176]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59e074889a7sm3993935e87.31.2026.02.02.22.34.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 22:34:56 -0800 (PST) From: Magnus Lindholm To: kees@kernel.org, luto@amacapital.net, wad@chromium.org, shuah@kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, glaubitz@physik.fu-berlin.de Cc: Magnus Lindholm Subject: [PATCH] selftests/seccomp: add Alpha support to seccomp_bpf Date: Tue, 3 Feb 2026 07:33:26 +0100 Message-ID: <20260203063357.14320-1-linmag7@gmail.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Enable seccomp_bpf selftests on the Alpha architecture by providing Alpha-specific register definitions and syscall accessors. This allows the seccomp-bpf test suite to exercise syscall tracing, seccomp filters, and user notification on Alpha. Signed-off-by: Magnus Lindholm --- tools/testing/selftests/seccomp/seccomp_bpf.c | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/= selftests/seccomp/seccomp_bpf.c index 32e2d4df397b..db2c81bb89b6 100644 --- a/tools/testing/selftests/seccomp/seccomp_bpf.c +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c @@ -136,6 +136,8 @@ struct seccomp_data { # define __NR_seccomp 354 # elif defined(__x86_64__) # define __NR_seccomp 317 +# elif defined(__alpha__) +# define __NR_seccomp 514 # elif defined(__arm__) # define __NR_seccomp 383 # elif defined(__aarch64__) @@ -1748,6 +1750,29 @@ TEST_F(TRACE_poke, getpid_runs_normally) # define ARCH_REGS struct user_regs_struct # define SYSCALL_NUM(_regs) (_regs).orig_eax # define SYSCALL_RET(_regs) (_regs).eax +#elif defined(__alpha__) +#define ARCH_REGS struct pt_regs +#define SYSCALL_NUM(_regs) ((_regs).r1) +#define SYSCALL_NR_SET(_regs, _nr) \ + ((_regs).r1 =3D (unsigned long)(_nr)) +#define SYSCALL_RET(_regs) ((_regs).r0) +/* + * Alpha syscall ABI: + * - r0 holds return value (or positive errno on failure) + * - r19 (a3) is 0 on success, 1 on failure + */ +#define SYSCALL_RET_SET(_regs, _val) \ + do { \ + long __v =3D (long)(_val); \ + if (__v < 0) { \ + (_regs).r0 =3D (unsigned long)(-__v); \ + (_regs).r19 =3D 1; \ + } else { \ + (_regs).r0 =3D (unsigned long)__v; \ + (_regs).r19 =3D 0; \ + } \ + } while (0) + #elif defined(__arm__) # define ARCH_REGS struct pt_regs # define SYSCALL_NUM(_regs) (_regs).ARM_r7 @@ -4643,6 +4668,10 @@ TEST(user_notification_wait_killable_pre_notificatio= n) pid_t pid; long ret; char c; + + #if defined(__alpha__) + SKIP(return, "/proc//syscall not available on Alpha"); + #endif /* 100 ms */ struct timespec delay =3D { .tv_nsec =3D 100000000 }; =20 --=20 2.52.0