procps-ng/sysctl-succ-on-fail.patch
Jan Rybar d83883f655 sysctl: returns success even on fail bug
Resolves: RHEL-84138
2025-12-04 14:21:54 +01:00

49 lines
1.2 KiB
Diff

From cd3a440b562e6efc713ce1524678dd068a85bf91 Mon Sep 17 00:00:00 2001
From: Matteo Croce <teknoraver@meta.com>
Date: Fri, 7 Jun 2024 00:29:32 +0200
Subject: [PATCH] sysctl: return error on permission denied
When trying to write to a readonly sysctl or a directory by mistake,
sysctl still returns success:
# sysctl kernel.version=foo
sysctl: setting key "kernel.version": Operation not permitted
# echo $?
0
# sysctl kernel=foo
sysctl: setting key "kernel": Operation not permitted
# echo $?
0
Let sysctl return error in both the cases above.
Signed-off-by: Matteo Croce <teknoraver@meta.com>
---
src/sysctl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/sysctl.c b/src/sysctl.c
index 087ddabe..1914203c 100644
--- a/src/sysctl.c
+++ b/src/sysctl.c
@@ -585,14 +585,14 @@ static int WriteSetting(
errno = EPERM;
xwarn(_("setting key \"%s\""), dotted_key);
free(dotted_key);
- return rc;
+ return EXIT_FAILURE;
}
if (S_ISDIR(ts.st_mode)) {
errno = EISDIR;
xwarn(_("setting key \"%s\""), dotted_key);
free(dotted_key);
- return rc;
+ return EXIT_FAILURE;
}
if (!DryRun) {
--
GitLab