mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-24 11:34:50 +08:00
1d56ade032
Extends test_loader.c:test_loader__run_subtests() by allowing to execute tests in unprivileged mode, similar to test_verifier.c. Adds the following new attributes controlling test_loader behavior: __msg_unpriv __success_unpriv __failure_unpriv * If any of these attributes is present the test would be loaded in unprivileged mode. * If only "privileged" attributes are present the test would be loaded only in privileged mode. * If both "privileged" and "unprivileged" attributes are present the test would be loaded in both modes. * If test has to be executed in both modes, __msg(text) is specified and __msg_unpriv is not specified the behavior is the same as if __msg_unpriv(text) is specified. * For test filtering purposes the name of the program loaded in unprivileged mode is derived from the usual program name by adding `@unpriv' suffix. Also adds attribute '__description'. This attribute specifies text to be used instead of a program name for display and filtering purposes. Signed-off-by: Eduard Zingerman <eddyz87@gmail.com> Link: https://lore.kernel.org/r/20230325025524.144043-4-eddyz87@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
27 lines
448 B
C
27 lines
448 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#include <stdbool.h>
|
|
#include <stdlib.h>
|
|
#include <error.h>
|
|
#include <stdio.h>
|
|
|
|
#include "unpriv_helpers.h"
|
|
|
|
bool get_unpriv_disabled(void)
|
|
{
|
|
bool disabled;
|
|
char buf[2];
|
|
FILE *fd;
|
|
|
|
fd = fopen("/proc/sys/" UNPRIV_SYSCTL, "r");
|
|
if (fd) {
|
|
disabled = (fgets(buf, 2, fd) == buf && atoi(buf));
|
|
fclose(fd);
|
|
} else {
|
|
perror("fopen /proc/sys/" UNPRIV_SYSCTL);
|
|
disabled = true;
|
|
}
|
|
|
|
return disabled;
|
|
}
|