[LTP] [PATCH v2 2/3] shmctl03: Fix shmmax clamped to INT_MAX in 32bit compat mode
Petr Vorel
pvorel@suse.cz
Thu Sep 24 13:25:13 CEST 2026
From: Andrea Cervesato <andrea.cervesato@suse.com>
Kernel clamped /proc/sys/kernel/shmmax in 32bit compat mode
to INT_MAX due change in kernel v2.6.22 in commit
af7c693f14606 ("Cap shmmax at INT_MAX in compat shminfo").
Reflect that.
Reported-by: Wei Gao <wegao@suse.com>
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
[ pvorel: check PATH_KERN_SHMMAX >= INT_MAX, separate into its own
commit, write the commit message ]
Co-developed-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
testcases/kernel/syscalls/shmctl/shmctl03.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/shmctl/shmctl03.c b/testcases/kernel/syscalls/shmctl/shmctl03.c
index 9e1c2f0990..0a4e27ce98 100644
--- a/testcases/kernel/syscalls/shmctl/shmctl03.c
+++ b/testcases/kernel/syscalls/shmctl/shmctl03.c
@@ -30,7 +30,14 @@ static void verify_ipcinfo(void)
else
tst_res(TPASS, "shmmin = 1");
- TST_ASSERT_ULONG(PATH_KERN_SHMMAX, info.shmmax);
+ if (tst_is_compat_mode() && info.shmmax == INT_MAX) {
+ unsigned long long shmmax;
+ SAFE_FILE_SCANF(PATH_KERN_SHMMAX, "%llu", &shmmax);
+ TST_EXP_LE_LU(INT_MAX, shmmax);
+ } else {
+ TST_ASSERT_ULONG(PATH_KERN_SHMMAX, info.shmmax);
+ }
+
TST_ASSERT_ULONG(PATH_KERN_SHMMNI, info.shmmni);
TST_ASSERT_ULONG(PATH_KERN_SHMALL, info.shmall);
}
--
2.55.0
More information about the ltp
mailing list