From: Andrea Cervesato <andrea.cervesato@suse.de>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH v5 4/7] Add lsm_get_self_attr03 test
Date: Mon, 02 Jun 2025 18:41:27 +0200 [thread overview]
Message-ID: <20250602-lsm-v5-4-5c0dd01df3c4@suse.com> (raw)
In-Reply-To: <20250602-lsm-v5-0-5c0dd01df3c4@suse.com>
From: Andrea Cervesato <andrea.cervesato@suse.com>
Verify that LSM_ATTR_CURRENT attribute is correctly recognizing
the current, active security context of the process. This is done by
checking that /proc/self/attr/current matches with the obtained value.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
runtest/syscalls | 1 +
testcases/kernel/syscalls/lsm/.gitignore | 1 +
.../kernel/syscalls/lsm/lsm_get_self_attr03.c | 68 ++++++++++++++++++++++
3 files changed, 70 insertions(+)
diff --git a/runtest/syscalls b/runtest/syscalls
index 2c69e2cc93d2bea73a4849cbb406d3f87ba41d15..ac3c46ee9f8ae84cbbef18ef0c18bf224dd46964 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -760,6 +760,7 @@ lseek11 lseek11
lsm_get_self_attr01 lsm_get_self_attr01
lsm_get_self_attr02 lsm_get_self_attr02
+lsm_get_self_attr03 lsm_get_self_attr03
lstat01 lstat01
lstat01_64 lstat01_64
diff --git a/testcases/kernel/syscalls/lsm/.gitignore b/testcases/kernel/syscalls/lsm/.gitignore
index 9f7c9b00b026a377f1b36f483ac2c1a0adba6249..19956fdf8b9952b4850c3a20826e29ec67ea3560 100644
--- a/testcases/kernel/syscalls/lsm/.gitignore
+++ b/testcases/kernel/syscalls/lsm/.gitignore
@@ -1,2 +1,3 @@
lsm_get_self_attr01
lsm_get_self_attr02
+lsm_get_self_attr03
diff --git a/testcases/kernel/syscalls/lsm/lsm_get_self_attr03.c b/testcases/kernel/syscalls/lsm/lsm_get_self_attr03.c
new file mode 100644
index 0000000000000000000000000000000000000000..68d348de0fe99dd9fada4230f1f3cc0c0401ea8e
--- /dev/null
+++ b/testcases/kernel/syscalls/lsm/lsm_get_self_attr03.c
@@ -0,0 +1,68 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2024 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+/*\
+ * Verify that LSM_ATTR_CURRENT attribute is correctly recognizing
+ * the current, active security context of the process. This is done by
+ * checking that /proc/self/attr/current matches with the obtained value.
+ */
+
+#include "lsm_common.h"
+
+static struct lsm_ctx *ctx;
+static uint32_t page_size;
+
+static void run(void)
+{
+ tst_res(TINFO, "Verifying 'LSM_ATTR_CURRENT' attribute");
+
+ uint32_t count;
+ uint32_t size = page_size;
+ char attr[size];
+
+ memset(attr, 0, size);
+ memset(ctx, 0, LSM_CTX_SIZE_DEFAULT);
+
+ count = TST_EXP_POSITIVE(
+ lsm_get_self_attr(LSM_ATTR_CURRENT, ctx, &size, 0));
+
+ if (TST_RET == -1)
+ return;
+
+ if (!count) {
+ tst_res(TFAIL, "Can't read any attribute");
+ return;
+ }
+
+ read_proc_attr("current", attr, page_size);
+
+ TST_EXP_EQ_STR(attr, (char *)ctx->ctx);
+
+ struct lsm_ctx *next = next_ctx(ctx);
+
+ for (uint32_t i = 1; i < count; i++) {
+ TST_EXP_EXPR(strcmp(attr, (char *)next->ctx) != 0,
+ "Attribute and next LSM context must be different");
+
+ next = next_ctx(next);
+ }
+}
+
+static void setup(void)
+{
+ verify_supported_attr_current();
+
+ page_size = SAFE_SYSCONF(_SC_PAGESIZE);
+}
+
+static struct tst_test test = {
+ .test_all = run,
+ .setup = setup,
+ .min_kver = "6.8",
+ .bufs = (struct tst_buffers[]) {
+ {&ctx, .size = LSM_CTX_SIZE_DEFAULT},
+ {}
+ },
+};
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2025-06-02 16:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-02 16:41 [LTP] [PATCH v5 0/7] LSM testing suite Andrea Cervesato
2025-06-02 16:41 ` [LTP] [PATCH v5 1/7] Add fallback definitions of LSM syscalls Andrea Cervesato
2025-06-02 16:41 ` [LTP] [PATCH v5 2/7] Add lsm_get_self_attr01 test Andrea Cervesato
2025-06-02 16:48 ` Andrea Cervesato via ltp
2025-06-02 16:41 ` [LTP] [PATCH v5 3/7] Add lsm_get_self_attr02 test Andrea Cervesato
2025-06-02 16:41 ` Andrea Cervesato [this message]
2025-06-03 10:31 ` [LTP] [PATCH v5 4/7] Add lsm_get_self_attr03 test Cyril Hrubis
2025-06-02 16:41 ` [LTP] [PATCH v5 5/7] Add lsm_list_modules01 test Andrea Cervesato
2025-06-02 16:41 ` [LTP] [PATCH v5 6/7] Add lsm_list_modules02 test Andrea Cervesato
2025-06-02 16:41 ` [LTP] [PATCH v5 7/7] Add lsm_set_self_attr01 test Andrea Cervesato
2025-06-03 10:52 ` [LTP] [PATCH v5 0/7] LSM testing suite Andrea Cervesato via ltp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250602-lsm-v5-4-5c0dd01df3c4@suse.com \
--to=andrea.cervesato@suse.de \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.