2 Commits

Author SHA256 Message Date
67d0b18532 Accepting request 1303152 from filesystems
OBS-URL: https://build.opensuse.org/request/show/1303152
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lkl?expand=0&rev=11
2025-09-08 11:05:28 +00:00
3f5ad6ff8c - kabi: drop page_counter size assertion for non-SMP (bsc#1249252)
* 0001-kabi-drop-page_counter-size-assertion-for-non-SMP.patch

- Use git tag and offset for version string
- Merge opensuse-kernel/SLE15-SP6 68036e061fb1a
- lkl: link tests against common private library
- lkl: fix hijack and zpoline parallel builds
- lkl: tests: fix net setup_backend return status
- lkl: tests: drop sleep before lklfuse unmount
- Add ID_FS_UUID based locking to avoid duplicate mounts (bsc#1237471)
  * lkl: tests: add lklfuse_lock_conflict test
  * lkl: systemd: use lklfuse lock parameter
  * lklfuse: add lock parameter to avoid duplicate mounts
- Drop upstreamed patches:
  * 0001-lkl-tests-drop-unused-lkl_test.fn-parameters.patch
  * 0001-lkl-hijack-explicitly-build-with-std-gnu11.patch

OBS-URL: https://build.opensuse.org/package/show/filesystems/lkl?expand=0&rev=23
2025-09-08 08:30:20 +00:00
8 changed files with 63 additions and 105 deletions

View File

@@ -0,0 +1,31 @@
From 222d83ed9144a141030597a6147303b4e71d6b7f Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Mon, 8 Sep 2025 16:27:58 +1000
Subject: [PATCH] kabi: drop page_counter size assertion for non-SMP
SUSE commit ef34a22779f ("kabi: restore layout of struct page_counter
(jsc#PED-12551).") adds a page_counter == __orig_page_counter size
assertion which fails for non-SMP (e.g. lkl) builds due to
CACHELINE_PADDING, which is does nothing.
Signed-off-by: David Disseldorp <ddiss@suse.de>
---
include/linux/page_counter.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/page_counter.h b/include/linux/page_counter.h
index 25221e845d1ed..66acb4204d438 100644
--- a/include/linux/page_counter.h
+++ b/include/linux/page_counter.h
@@ -75,7 +75,7 @@ struct __orig_page_counter {
struct page_counter *parent;
} ____cacheline_internodealigned_in_smp;
-#ifndef CONFIG_ARM
+#if !defined(CONFIG_ARM) && defined(CONFIG_SMP)
static_assert(sizeof(struct __orig_page_counter) == sizeof(struct page_counter));
#endif
--
2.51.0

View File

@@ -1,35 +0,0 @@
From f3b0ac316eb5c9a8419020ad47a71bda3f3b2dea Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Thu, 26 Jun 2025 17:24:32 +1000
Subject: [PATCH] lkl: hijack: explicitly build with -std=gnu11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
HOST_CALL() uses a (*host_##name)() function pointer while callers
provide regular syscall parameters. With gcc -std=gnu23 this results in:
lib/hijack/hijack.c: In function hijack_setsockopt:
lib/hijack/hijack.c:176:24: error: too many arguments to function host_setsockopt; expected 0, have 5
176 | return host_setsockopt(fd, level, optname, optval, optlen);
| ^~~~~~~~~~~~~~~ ~~
...
Signed-off-by: David Disseldorp <ddiss@suse.de>
---
tools/lkl/lib/hijack/Build | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/lkl/lib/hijack/Build b/tools/lkl/lib/hijack/Build
index eb9872ae5c29e..b42239e47d8e7 100644
--- a/tools/lkl/lib/hijack/Build
+++ b/tools/lkl/lib/hijack/Build
@@ -9,3 +9,6 @@ liblkl-zpoline-y += hijack.o
liblkl-zpoline-y += init.o
liblkl-zpoline-y += xlate.o
liblkl-zpoline-y += dbg_handler.o
+
+# -std=gnu23/c23 fails due to HOST_CALL (*host_##name)()
+CFLAGS_hijack.o += -std=gnu11
--
2.43.0

View File

@@ -1,62 +0,0 @@
From a3ed0bd3e48526b90ab9f5a63b09d1ed67376582 Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Thu, 26 Jun 2025 15:56:27 +1000
Subject: [PATCH] lkl: tests: drop unused lkl_test.fn() parameters
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The existing t.fn(t->arg1, t->arg2, t->arg3) call can lead to build
failures:
tests/test.c: In function lkl_test_run:
tests/test.c:93:23: error: too many arguments to function t->fn;
expected 0, have 3
The parameters don't appear to be used, so can be removed.
Signed-off-by: David Disseldorp <ddiss@suse.de>
---
tools/lkl/tests/test.c | 2 +-
tools/lkl/tests/test.h | 8 +++-----
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/tools/lkl/tests/test.c b/tools/lkl/tests/test.c
index 38784ab4ad140..1ff6abeac82eb 100644
--- a/tools/lkl/tests/test.c
+++ b/tools/lkl/tests/test.c
@@ -90,7 +90,7 @@ int lkl_test_run(const struct lkl_test *tests, int nr, const char *fmt, ...)
start = clock();
- ret = t->fn(t->arg1, t->arg2, t->arg3);
+ ret = t->fn();
stop = clock();
diff --git a/tools/lkl/tests/test.h b/tools/lkl/tests/test.h
index 653a967df0660..e772d9c47d1bd 100644
--- a/tools/lkl/tests/test.h
+++ b/tools/lkl/tests/test.h
@@ -9,16 +9,14 @@
struct lkl_test {
const char *name;
- int (*fn)();
- void *arg1, *arg2, *arg3;
+ int (*fn)(void);
};
/**
* Simple wrapper to initialize a test entry.
- * @name - test name, it assume test function is named test_@name
- * @vargs - arguments to be passed to the function
+ * @name - test name; assume existing test function named lkl_test_@name
*/
-#define LKL_TEST(name, ...) { #name, lkl_test_##name, __VA_ARGS__ }
+#define LKL_TEST(name) { #name, lkl_test_##name }
/**
* lkl_test_run - run a test suite
--
2.43.0

View File

@@ -4,7 +4,9 @@
<param name="url">https://github.com/ddiss/opensuse-kernel</param>
<param name="revision">SLE15-SP6-LKL</param>
<param name="filename">lkl</param>
<param name="versionformat">0.6.4+git.%h</param>
<param name="versionformat">@PARENT_TAG@+git.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">lkl-rpm-(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="changesgenerate">disable</param>
</service>
<service name="recompress" mode="manual">

Binary file not shown.

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:799130b771107261cd5b28b0de38be4fd54ef0205417c8e1aeee16587372259a
size 165027288

View File

@@ -1,3 +1,26 @@
-------------------------------------------------------------------
Mon Sep 8 07:23:35 UTC 2025 - David Disseldorp <ddiss@suse.de>
- kabi: drop page_counter size assertion for non-SMP (bsc#1249252)
* 0001-kabi-drop-page_counter-size-assertion-for-non-SMP.patch
-------------------------------------------------------------------
Fri Sep 5 07:44:05 UTC 2025 - David Disseldorp <ddiss@suse.de>
- Use git tag and offset for version string
- Merge opensuse-kernel/SLE15-SP6 68036e061fb1a
- lkl: link tests against common private library
- lkl: fix hijack and zpoline parallel builds
- lkl: tests: fix net setup_backend return status
- lkl: tests: drop sleep before lklfuse unmount
- Add ID_FS_UUID based locking to avoid duplicate mounts (bsc#1237471)
* lkl: tests: add lklfuse_lock_conflict test
* lkl: systemd: use lklfuse lock parameter
* lklfuse: add lock parameter to avoid duplicate mounts
- Drop upstreamed patches:
* 0001-lkl-tests-drop-unused-lkl_test.fn-parameters.patch
* 0001-lkl-hijack-explicitly-build-with-std-gnu11.patch
-------------------------------------------------------------------
Wed Jun 25 07:02:35 UTC 2025 - David Disseldorp <ddiss@suse.de>

View File

@@ -17,7 +17,7 @@
Name: lkl
# Downstream made-up version number, reflects corrseponding kernel version.
Version: 0.6.4+git.0dca6d43c62
Version: 0.6.4+git.1675.efd0ae33d9e
Release: 0
Summary: EXPERIMENTAL: Linux Kernel Library (LKL) utilities
License: GPL-2.0-only
@@ -26,9 +26,8 @@ Url: https://lkl.github.io
Source: %{name}-%{version}.tar.zst
# mainline:
Patch1: 0001-tools-build-Fix-s-detection-code-in-tools-build-Make.patch
# https://github.com/lkl/linux/pull/610
Patch2: 0001-lkl-tests-drop-unused-lkl_test.fn-parameters.patch
Patch3: 0001-lkl-hijack-explicitly-build-with-std-gnu11.patch
# downstream kabi bsc#1249252
Patch2: 0001-kabi-drop-page_counter-size-assertion-for-non-SMP.patch
# regular Linux kernel build dependencies
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
BuildRequires: bash-sh