* [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall
@ 2026-09-03 13:04 Andrea Cervesato
2026-09-03 13:04 ` [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon Andrea Cervesato
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Andrea Cervesato @ 2026-09-03 13:04 UTC (permalink / raw)
To: Linux Test Project
Complete the EINVAL coverage on invalid input data and create a new test
to verify discarding pages functionalities.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v4:
- replaced the manual /proc/swaps check with .needs_kconfigs = "CONFIG_SWAP=y"
- added .needs_cmds = "mkswap" to make sure that the binary exists
- switched from raw tst_syscall to standard swapon() and swapoff()
- used TST_EXP_PASS() to check the swapon() call
- truncated the backing file before checking FALLOC_FL_PUNCH_HOLE support
- added SAFE_FSYNC() before mkswap to flush data to disk
- changed TTERRNO to TERRNO for swapoff() errors
- removed redundant static flag resets in cleanup()
- added .skip_filesystems to skip filesystems that do not support punch hole
- Link to v3: https://lore.kernel.org/20260828-swapon_discard_coverage-v3-0-136924a1a730@suse.com
Changes in v3:
- better description for fallbacks
- swapon02: make sure we swapoff() if swapon() accidentally pass
- Link to v2: https://lore.kernel.org/20260828-swapon_discard_coverage-v2-0-e55a86dad729@suse.com
Changes in v2:
- ensure buffer is flushed after discard using fsync()
- add messages to show what test cases we are running
- Link to v1: https://lore.kernel.org/20260827-swapon_discard_coverage-v1-0-633bcb11c181@suse.com
To: Linux Test Project <ltp@lists.linux.it>
---
Andrea Cervesato (3):
tse_swap: Add fallback definitions for swapon
swapon04: Add test for discard flags
swapon02: Add test cases for invalid swapflags
include/tse_swap.h | 16 +++
runtest/syscalls | 1 +
testcases/kernel/syscalls/swapon/.gitignore | 1 +
testcases/kernel/syscalls/swapon/swapon02.c | 59 ++++++--
testcases/kernel/syscalls/swapon/swapon04.c | 208 ++++++++++++++++++++++++++++
5 files changed, 270 insertions(+), 15 deletions(-)
---
base-commit: 12724413534a6d4160ff9694ba6f09daa4ccb6bd
change-id: 20260827-swapon_discard_coverage-34861d63fc55
Best regards,
--
Andrea Cervesato <andrea.cervesato@suse.com>
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
* [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon
2026-09-03 13:04 [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato
@ 2026-09-03 13:04 ` Andrea Cervesato
2026-09-03 16:01 ` [LTP] " linuxtestproject.agent
2026-09-10 11:47 ` [LTP] [PATCH v4 1/3] " Cyril Hrubis
2026-09-03 13:04 ` [LTP] [PATCH v4 2/3] swapon04: Add test for discard flags Andrea Cervesato
` (2 subsequent siblings)
3 siblings, 2 replies; 10+ messages in thread
From: Andrea Cervesato @ 2026-09-03 13:04 UTC (permalink / raw)
To: Linux Test Project
From: Andrea Cervesato <andrea.cervesato@suse.com>
Introduce fallback definitions inside include/tse_swap.h for:
- SWAP_FLAG_PREFER
- SWAP_FLAG_PRIO_MASK
- SWAP_FLAG_DISCARD
- SWAP_FLAG_DISCARD_ONCE
- SWAP_FLAG_DISCARD_PAGES
Reviewed-by: Li Wang <li.wang@linux.dev>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/tse_swap.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/include/tse_swap.h b/include/tse_swap.h
index c4979b3e5..25fe4ad77 100644
--- a/include/tse_swap.h
+++ b/include/tse_swap.h
@@ -14,6 +14,22 @@
#ifndef TSE_SWAP_H__
#define TSE_SWAP_H__
+#ifndef SWAP_FLAG_PREFER
+# define SWAP_FLAG_PREFER 0x8000
+#endif
+#ifndef SWAP_FLAG_PRIO_MASK
+# define SWAP_FLAG_PRIO_MASK 0x7fff
+#endif
+#ifndef SWAP_FLAG_DISCARD
+# define SWAP_FLAG_DISCARD 0x10000
+#endif
+#ifndef SWAP_FLAG_DISCARD_ONCE
+# define SWAP_FLAG_DISCARD_ONCE 0x20000
+#endif
+#ifndef SWAP_FLAG_DISCARD_PAGES
+# define SWAP_FLAG_DISCARD_PAGES 0x40000
+#endif
+
enum swapfile_method {
SWAPFILE_BY_SIZE,
SWAPFILE_BY_BLKS
--
2.51.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [LTP] [PATCH v4 2/3] swapon04: Add test for discard flags
2026-09-03 13:04 [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato
2026-09-03 13:04 ` [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon Andrea Cervesato
@ 2026-09-03 13:04 ` Andrea Cervesato
2026-09-10 14:21 ` Cyril Hrubis
2026-09-03 13:04 ` [LTP] [PATCH v4 3/3] swapon02: Add test cases for invalid swapflags Andrea Cervesato
2026-09-11 6:33 ` [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato via ltp
3 siblings, 1 reply; 10+ messages in thread
From: Andrea Cervesato @ 2026-09-03 13:04 UTC (permalink / raw)
To: Linux Test Project
From: Andrea Cervesato <andrea.cervesato@suse.com>
Verify that swapon(2) discard flags (SWAP_FLAG_DISCARD,
SWAP_FLAG_DISCARD_ONCE, SWAP_FLAG_DISCARD_PAGES) correctly control
swapon-time area discard on block devices supporting discard operations.
Reviewed-by: Li Wang <li.wang@linux.dev>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
runtest/syscalls | 1 +
testcases/kernel/syscalls/swapon/.gitignore | 1 +
testcases/kernel/syscalls/swapon/swapon04.c | 208 ++++++++++++++++++++++++++++
3 files changed, 210 insertions(+)
diff --git a/runtest/syscalls b/runtest/syscalls
index 737c63e31..ca190dd97 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -1676,6 +1676,7 @@ swapoff02 swapoff02
swapon01 swapon01
swapon02 swapon02
swapon03 swapon03
+swapon04 swapon04
#Exclusive syscall() for POWER6 machines only
switch01 endian_switch01
diff --git a/testcases/kernel/syscalls/swapon/.gitignore b/testcases/kernel/syscalls/swapon/.gitignore
index 729226b11..db03b81ea 100644
--- a/testcases/kernel/syscalls/swapon/.gitignore
+++ b/testcases/kernel/syscalls/swapon/.gitignore
@@ -1,3 +1,4 @@
/swapon01
/swapon02
/swapon03
+/swapon04
diff --git a/testcases/kernel/syscalls/swapon/swapon04.c b/testcases/kernel/syscalls/swapon/swapon04.c
new file mode 100644
index 000000000..de95849e3
--- /dev/null
+++ b/testcases/kernel/syscalls/swapon/swapon04.c
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) Linux Test Project, 2026
+ */
+
+/*\
+ * Check that :manpage:`swapon(2)` discard flags control swapon-time area discard:
+ *
+ * - With 0 (no flags), the swap area is not discarded at swapon.
+ * - With SWAP_FLAG_DISCARD, the swap area is discarded at swapon.
+ * - With SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_ONCE, the swap area is discarded at swapon.
+ * - With SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_PAGES, swapon-time area discard
+ * is disabled (page-cluster discard only).
+ * - With SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_ONCE | SWAP_FLAG_DISCARD_PAGES,
+ * SWAP_FLAG_DISCARD_ONCE takes precedence and discards the swap area at swapon.
+ * - With SWAP_FLAG_DISCARD_ONCE or SWAP_FLAG_DISCARD_PAGES alone (without the
+ * SWAP_FLAG_DISCARD master enable bit), discard is not enabled.
+ *
+ * [Algorithm]
+ *
+ * - Create a backing file on the test filesystem and fill it completely.
+ * - Attach the backing file to a loop device supporting discard.
+ * - For each test case, populate the backing file and format it with mkswap.
+ * - Record the allocated block count before swapon().
+ * - Call swapon() with the test case flags.
+ * - Verify whether the allocated block count dropped (discarded) or remained.
+ * - Call swapoff() to reset the swap device state.
+ */
+
+#define _GNU_SOURCE
+
+#include <sys/stat.h>
+#include <sys/swap.h>
+#include <unistd.h>
+
+#include "tst_test.h"
+#include "tse_swap.h"
+#include "lapi/fallocate.h"
+
+#define MNTPOINT "mntpoint"
+#define BACKING_FILE MNTPOINT "/swap_backing_file"
+#define SWAP_SIZE_MB 16
+
+static char loop_dev[PATH_MAX];
+static int loop_dev_id = -1;
+static int loop_attached;
+static int swap_active;
+static size_t max_header_blocks;
+
+static struct tcase {
+ int flags;
+ int exp_discard;
+ const char *desc;
+} tcases[] = {
+ {
+ .desc = "0 (no flags)",
+ },
+ {
+ .flags = SWAP_FLAG_DISCARD,
+ .exp_discard = 1,
+ .desc = "SWAP_FLAG_DISCARD",
+ },
+ {
+ .flags = SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_ONCE,
+ .exp_discard = 1,
+ .desc = "SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_ONCE",
+ },
+ {
+ .flags = SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_PAGES,
+ .desc = "SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_PAGES",
+ },
+ {
+ .flags = SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_ONCE | SWAP_FLAG_DISCARD_PAGES,
+ .exp_discard = 1,
+ .desc = "SWAP_FLAG_DISCARD | SWAP_FLAG_DISCARD_ONCE | SWAP_FLAG_DISCARD_PAGES",
+ },
+ {
+ .flags = SWAP_FLAG_DISCARD_ONCE,
+ .desc = "SWAP_FLAG_DISCARD_ONCE (alone without master flag)",
+ },
+ {
+ .flags = SWAP_FLAG_DISCARD_PAGES,
+ .desc = "SWAP_FLAG_DISCARD_PAGES (alone without master flag)",
+ },
+};
+
+static void setup(void)
+{
+ char discard_path[PATH_MAX];
+ unsigned long discard_max_bytes = 0;
+ size_t page_size, blk_size, alloc_units;
+ struct stat st;
+ int fd;
+
+ fd = SAFE_OPEN(BACKING_FILE, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ SAFE_FTRUNCATE(fd, SWAP_SIZE_MB * TST_MB);
+ TEST(fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 4096));
+ SAFE_CLOSE(fd);
+
+ if (TST_RET != 0) {
+ if (TST_ERR == EOPNOTSUPP || TST_ERR == ENOSYS) {
+ tst_brk(TCONF, "Filesystem %s does not support FALLOC_FL_PUNCH_HOLE",
+ tst_device->fs_type);
+ }
+
+ tst_brk(TBROK | TERRNO, "fallocate() error");
+ }
+
+ loop_dev_id = tst_find_free_loopdev(loop_dev, sizeof(loop_dev));
+ if (loop_dev_id < 0)
+ tst_brk(TBROK, "No free loop device found");
+
+ if (tst_attach_device(loop_dev, BACKING_FILE))
+ tst_brk(TBROK, "Failed to attach %s to %s", loop_dev, BACKING_FILE);
+ loop_attached = 1;
+
+ snprintf(discard_path, sizeof(discard_path),
+ "/sys/block/loop%d/queue/discard_max_bytes", loop_dev_id);
+ if (FILE_SCANF(discard_path, "%lu", &discard_max_bytes) != 0 || discard_max_bytes == 0) {
+ tst_brk(TCONF, "Loop device %s does not support discard on %s",
+ loop_dev, tst_device->fs_type);
+ }
+
+ SAFE_STAT(BACKING_FILE, &st);
+
+ page_size = getpagesize();
+ blk_size = st.st_blksize;
+ alloc_units = page_size > blk_size ? page_size : blk_size;
+
+ /* Minimum 512-byte blocks for 1 page + small tolerance for filesystem metadata */
+ max_header_blocks = (alloc_units / 512) * 2;
+}
+
+static void verify_swapon(unsigned int n)
+{
+ struct tcase *tc = &tcases[n];
+ int fd;
+ struct stat st;
+ blkcnt_t blocks_before, blocks_after;
+ const char *const mkswap_argv[] = {"mkswap", loop_dev, NULL};
+
+ tst_res(TINFO, "Testing swapon(%s, %s)", loop_dev, tc->desc);
+
+ tst_fill_file(BACKING_FILE, 'A', TST_MB, SWAP_SIZE_MB);
+
+ fd = SAFE_OPEN(BACKING_FILE, O_WRONLY);
+ SAFE_FSYNC(fd);
+ SAFE_CLOSE(fd);
+
+ tst_cmd(mkswap_argv, "/dev/null", "/dev/null", 0);
+
+ SAFE_STAT(BACKING_FILE, &st);
+ blocks_before = st.st_blocks;
+
+ if (!blocks_before)
+ tst_brk(TBROK, "Backing file has 0 allocated blocks");
+
+ TST_EXP_PASS(swapon(loop_dev, tc->flags), "swapon(%s, %s)", loop_dev, tc->desc);
+ if (!TST_PASS)
+ return;
+ swap_active = 1;
+
+ SAFE_STAT(BACKING_FILE, &st);
+ blocks_after = st.st_blocks;
+
+ if (tc->exp_discard)
+ TST_EXP_LE_LU(blocks_after, max_header_blocks);
+ else
+ TST_EXP_EQ_LI(blocks_after, blocks_before);
+
+ if (swapoff(loop_dev) != 0)
+ tst_brk(TBROK | TERRNO, "swapoff(%s) failed", loop_dev);
+ swap_active = 0;
+}
+
+static void cleanup(void)
+{
+ if (swap_active && swapoff(loop_dev) != 0)
+ tst_res(TWARN | TERRNO, "swapoff(%s) failed", loop_dev);
+
+ if (loop_attached)
+ tst_detach_device(loop_dev);
+}
+
+static struct tst_test test = {
+ .needs_root = 1,
+ .mount_device = 1,
+ .mntpoint = MNTPOINT,
+ .all_filesystems = 1,
+ .skip_filesystems = (const char *const []) {
+ "vfat",
+ "exfat",
+ "ntfs",
+ NULL
+ },
+ .needs_cmds = (struct tst_cmd[]) {
+ {.cmd = "mkswap"},
+ {}
+ },
+ .needs_kconfigs = (const char *[]) {
+ "CONFIG_SWAP=y",
+ NULL
+ },
+ .setup = setup,
+ .cleanup = cleanup,
+ .test = verify_swapon,
+ .tcnt = ARRAY_SIZE(tcases),
+};
--
2.51.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [LTP] [PATCH v4 3/3] swapon02: Add test cases for invalid swapflags
2026-09-03 13:04 [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato
2026-09-03 13:04 ` [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon Andrea Cervesato
2026-09-03 13:04 ` [LTP] [PATCH v4 2/3] swapon04: Add test for discard flags Andrea Cervesato
@ 2026-09-03 13:04 ` Andrea Cervesato
2026-09-10 14:29 ` Cyril Hrubis
2026-09-11 6:33 ` [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato via ltp
3 siblings, 1 reply; 10+ messages in thread
From: Andrea Cervesato @ 2026-09-03 13:04 UTC (permalink / raw)
To: Linux Test Project
From: Andrea Cervesato <andrea.cervesato@suse.com>
Add test cases verifying that swapon(2) returns EINVAL when swapflags
contains undefined or invalid flag bits.
Reviewed-by: Li Wang <li.wang@linux.dev>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
testcases/kernel/syscalls/swapon/swapon02.c | 59 +++++++++++++++++++++--------
1 file changed, 44 insertions(+), 15 deletions(-)
diff --git a/testcases/kernel/syscalls/swapon/swapon02.c b/testcases/kernel/syscalls/swapon/swapon02.c
index d3e528c94..7319e8c03 100644
--- a/testcases/kernel/syscalls/swapon/swapon02.c
+++ b/testcases/kernel/syscalls/swapon/swapon02.c
@@ -5,10 +5,11 @@
*/
/*\
- * This test case checks whether swapon(2) system call returns:
+ * This test case checks whether :manpage:`swapon(2)` system call returns:
*
* - ENOENT when the path does not exist
* - EINVAL when the path exists but is invalid
+ * - EINVAL when swapflags contains invalid or undefined flag bits
* - EPERM when user is not a superuser
* - EBUSY when the specified path is already being used as a swap area
*/
@@ -20,10 +21,10 @@
#include "tse_swap.h"
#define MNTPOINT "mntpoint"
-#define TEST_FILE MNTPOINT"/testswap"
-#define NOTSWAP_FILE MNTPOINT"/notswap"
-#define SWAP_FILE MNTPOINT"/swapfile"
-#define USED_FILE MNTPOINT"/alreadyused"
+#define TEST_FILE MNTPOINT "/testswap"
+#define NOTSWAP_FILE MNTPOINT "/notswap"
+#define SWAP_FILE MNTPOINT "/swapfile"
+#define USED_FILE MNTPOINT "/alreadyused"
static uid_t nobody_uid;
static int do_swapoff;
@@ -32,11 +33,40 @@ static struct tcase {
char *err_desc;
int exp_errno;
char *path;
+ int flags;
} tcases[] = {
- {"Path does not exist", ENOENT, "./doesnotexist"},
- {"Invalid path", EINVAL, NOTSWAP_FILE},
- {"Permission denied", EPERM, SWAP_FILE},
- {"File already used", EBUSY, USED_FILE},
+ {
+ .err_desc = "Path does not exist",
+ .exp_errno = ENOENT,
+ .path = "./doesnotexist",
+ },
+ {
+ .err_desc = "Invalid path",
+ .exp_errno = EINVAL,
+ .path = NOTSWAP_FILE,
+ },
+ {
+ .err_desc = "Permission denied",
+ .exp_errno = EPERM,
+ .path = SWAP_FILE,
+ },
+ {
+ .err_desc = "File already used",
+ .exp_errno = EBUSY,
+ .path = USED_FILE,
+ },
+ {
+ .err_desc = "Invalid swapflags (undefined flag bits)",
+ .exp_errno = EINVAL,
+ .path = SWAP_FILE,
+ .flags = 0x80000,
+ },
+ {
+ .err_desc = "Invalid swapflags (high bits set)",
+ .exp_errno = EINVAL,
+ .path = SWAP_FILE,
+ .flags = ~0,
+ },
};
static void setup(void)
@@ -66,20 +96,19 @@ static void cleanup(void)
static void verify_swapon(unsigned int i)
{
- struct tcase *tc = tcases + i;
+ struct tcase *tc = &tcases[i];
+
if (tc->exp_errno == EPERM)
SAFE_SETEUID(nobody_uid);
- TST_EXP_FAIL(tst_syscall(__NR_swapon, tc->path, 0), tc->exp_errno,
+ TST_EXP_FAIL(tst_syscall(__NR_swapon, tc->path, tc->flags), tc->exp_errno,
"swapon(2) fail with %s", tc->err_desc);
if (tc->exp_errno == EPERM)
SAFE_SETEUID(0);
- if (TST_RET != -1) {
- tst_res(TFAIL, "swapon(2) failed unexpectedly, expected: %s",
- tst_strerrno(tc->exp_errno));
- }
+ if (TST_RET == 0 && tst_syscall(__NR_swapoff, tc->path) != 0)
+ tst_res(TWARN | TERRNO, "swapoff(%s) failed", tc->path);
}
static struct tst_test test = {
--
2.51.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [LTP] tse_swap: Add fallback definitions for swapon
2026-09-03 13:04 ` [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon Andrea Cervesato
@ 2026-09-03 16:01 ` linuxtestproject.agent
2026-09-04 7:16 ` Andrea Cervesato via ltp
2026-09-10 11:47 ` [LTP] [PATCH v4 1/3] " Cyril Hrubis
1 sibling, 1 reply; 10+ messages in thread
From: linuxtestproject.agent @ 2026-09-03 16:01 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi Andrea,
On Thu, Sep 3, 2026, Andrea Cervesato wrote:
> [PATCH 1/3] tse_swap: Add fallback definitions for swapon
--- [PATCH 2/3] ---
> static struct tst_test test = {
> .needs_root = 1,
> .mount_device = 1,
SWAP_FLAG_DISCARD_ONCE and SWAP_FLAG_DISCARD_PAGES were added in Linux
3.11. Add `.min_kver = "3.11"`; older kernels reject these bits and the
test reports TFAIL instead of TCONF.
--- [PATCH 3/3] ---
> {
> .err_desc = "Invalid swapflags (undefined flag bits)",
> .exp_errno = EINVAL,
> .path = SWAP_FILE,
> .flags = 0x80000,
> },
Invalid swap flags started returning EINVAL in Linux 3.4. Add
`.min_kver = "3.4"` so the test skips older kernels, which may accept the
flags and produce spurious failures.
Verdict - Needs revision
---
Note:
The agent can sometimes produce false positives although often its
findings are genuine. If you find issues with the review, please
comment this email or ignore the suggestions.
Regards,
LTP AI Reviewer
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [LTP] tse_swap: Add fallback definitions for swapon
2026-09-03 16:01 ` [LTP] " linuxtestproject.agent
@ 2026-09-04 7:16 ` Andrea Cervesato via ltp
0 siblings, 0 replies; 10+ messages in thread
From: Andrea Cervesato via ltp @ 2026-09-04 7:16 UTC (permalink / raw)
To: linuxtestproject.agent; +Cc: ltp
> Hi Andrea,
>
> On Thu, Sep 3, 2026, Andrea Cervesato wrote:
> > [PATCH 1/3] tse_swap: Add fallback definitions for swapon
>
> --- [PATCH 2/3] ---
>
> > static struct tst_test test = {
> > .needs_root = 1,
> > .mount_device = 1,
>
> SWAP_FLAG_DISCARD_ONCE and SWAP_FLAG_DISCARD_PAGES were added in Linux
> 3.11. Add `.min_kver = "3.11"`; older kernels reject these bits and the
> test reports TFAIL instead of TCONF.
>
> --- [PATCH 3/3] ---
>
> > {
> > .err_desc = "Invalid swapflags (undefined flag bits)",
> > .exp_errno = EINVAL,
> > .path = SWAP_FILE,
> > .flags = 0x80000,
> > },
>
> Invalid swap flags started returning EINVAL in Linux 3.4. Add
> `.min_kver = "3.4"` so the test skips older kernels, which may accept the
> flags and produce spurious failures.
>
> Verdict - Needs revision
>
> ---
> Note:
>
> The agent can sometimes produce false positives although often its
> findings are genuine. If you find issues with the review, please
> comment this email or ignore the suggestions.
>
> Regards,
> LTP AI Reviewer
both can be ignored, we don't support those kernels. I will add a
rule to the Agent so we remove this once for all.
--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon
2026-09-03 13:04 ` [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon Andrea Cervesato
2026-09-03 16:01 ` [LTP] " linuxtestproject.agent
@ 2026-09-10 11:47 ` Cyril Hrubis
1 sibling, 0 replies; 10+ messages in thread
From: Cyril Hrubis @ 2026-09-10 11:47 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [LTP] [PATCH v4 2/3] swapon04: Add test for discard flags
2026-09-03 13:04 ` [LTP] [PATCH v4 2/3] swapon04: Add test for discard flags Andrea Cervesato
@ 2026-09-10 14:21 ` Cyril Hrubis
0 siblings, 0 replies; 10+ messages in thread
From: Cyril Hrubis @ 2026-09-10 14:21 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [LTP] [PATCH v4 3/3] swapon02: Add test cases for invalid swapflags
2026-09-03 13:04 ` [LTP] [PATCH v4 3/3] swapon02: Add test cases for invalid swapflags Andrea Cervesato
@ 2026-09-10 14:29 ` Cyril Hrubis
0 siblings, 0 replies; 10+ messages in thread
From: Cyril Hrubis @ 2026-09-10 14:29 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall
2026-09-03 13:04 [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato
` (2 preceding siblings ...)
2026-09-03 13:04 ` [LTP] [PATCH v4 3/3] swapon02: Add test cases for invalid swapflags Andrea Cervesato
@ 2026-09-11 6:33 ` Andrea Cervesato via ltp
3 siblings, 0 replies; 10+ messages in thread
From: Andrea Cervesato via ltp @ 2026-09-11 6:33 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Merged, Thanks!
--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-11 6:33 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-03 13:04 [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato
2026-09-03 13:04 ` [LTP] [PATCH v4 1/3] tse_swap: Add fallback definitions for swapon Andrea Cervesato
2026-09-03 16:01 ` [LTP] " linuxtestproject.agent
2026-09-04 7:16 ` Andrea Cervesato via ltp
2026-09-10 11:47 ` [LTP] [PATCH v4 1/3] " Cyril Hrubis
2026-09-03 13:04 ` [LTP] [PATCH v4 2/3] swapon04: Add test for discard flags Andrea Cervesato
2026-09-10 14:21 ` Cyril Hrubis
2026-09-03 13:04 ` [LTP] [PATCH v4 3/3] swapon02: Add test cases for invalid swapflags Andrea Cervesato
2026-09-10 14:29 ` Cyril Hrubis
2026-09-11 6:33 ` [LTP] [PATCH v4 0/3] Increase coverage for swapon syscall Andrea Cervesato via ltp
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox