From 9cadddd01ae1bacbbd4f0fe771de0f08c63a0a8f Mon Sep 17 00:00:00 2001 From: "yan.yihao 10263201" Date: Fri, 14 Nov 2025 10:29:44 +0800 Subject: [PATCH] disabled vect optimization in bpf rule add function --- ...ptimization-in-bpf-rule-add-function.patch | 35 +++++++++++++++++++ libseccomp.spec | 7 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 disabled-vect-optimization-in-bpf-rule-add-function.patch diff --git a/disabled-vect-optimization-in-bpf-rule-add-function.patch b/disabled-vect-optimization-in-bpf-rule-add-function.patch new file mode 100644 index 0000000..3a505a2 --- /dev/null +++ b/disabled-vect-optimization-in-bpf-rule-add-function.patch @@ -0,0 +1,35 @@ +diff -ru a/src/db.c b/src/db.c +--- a/src/db.c 2022-04-21 21:23:06.975553369 +0800 ++++ b/src/db.c 2025-11-28 14:33:37.261453565 +0800 +@@ -2319,21 +2319,18 @@ + chain[arg_num].op = arg_data.op; + /* TODO: we should check datum/mask size against the + * arch definition, e.g. 64 bit datum on x86 */ +- switch (chain[arg_num].op) { +- case SCMP_CMP_NE: +- case SCMP_CMP_LT: +- case SCMP_CMP_LE: +- case SCMP_CMP_EQ: +- case SCMP_CMP_GE: +- case SCMP_CMP_GT: +- chain[arg_num].mask = DATUM_MAX; +- chain[arg_num].datum = arg_data.datum_a; +- break; +- case SCMP_CMP_MASKED_EQ: ++ if (chain[arg_num].op == SCMP_CMP_MASKED_EQ) { + chain[arg_num].mask = arg_data.datum_a; + chain[arg_num].datum = arg_data.datum_b; +- break; +- default: ++ } else if (chain[arg_num].op == SCMP_CMP_NE || ++ chain[arg_num].op == SCMP_CMP_LT || ++ chain[arg_num].op == SCMP_CMP_LE || ++ chain[arg_num].op == SCMP_CMP_EQ || ++ chain[arg_num].op == SCMP_CMP_GE || ++ chain[arg_num].op == SCMP_CMP_GT) { ++ chain[arg_num].mask = DATUM_MAX; ++ chain[arg_num].datum = arg_data.datum_a; ++ } else { + rc = -EINVAL; + goto add_return; + } diff --git a/libseccomp.spec b/libseccomp.spec index 3f684a7..05deeb7 100644 --- a/libseccomp.spec +++ b/libseccomp.spec @@ -1,4 +1,4 @@ -%define anolis_release 5 +%define anolis_release 6 Name: libseccomp Version: 2.5.4 @@ -10,6 +10,8 @@ Source0: https://github.com/seccomp/libseccomp/releases/download/v%{versi Patch001: add-loongarch64-for-libseccomp.patch Patch002: syscalls.csv-add-loongarch-support.patch +# [Bugfix] GCC 14.3 SLP vectorize optimization, remove when gcc fixed +Patch003: disabled-vect-optimization-in-bpf-rule-add-function.patch BuildRequires: gcc BuildRequires: gperf @@ -91,6 +93,9 @@ autoreconf %{_libdir}/libseccomp.a %changelog +* Fri Nov 14 2025 Yihao Yan - 2.5.4-6 +- disabled vect optimization in bpf rule add function + * Tue Nov 04 2025 Maeve - 2.5.4-5 - rebuild on riscv64 -- Gitee