--- sysctl.8 | 2 ++ sysctl.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) --- sysctl.8 +++ sysctl.8 2022-03-29 10:21:47.926686046 +0000 @@ -117,6 +117,8 @@ will read files from directories in the order from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/boot/sysctl.conf- +.br /etc/sysctl.d/*.conf .br /run/sysctl.d/*.conf --- sysctl.c +++ sysctl.c 2022-03-29 10:20:51.795708321 +0000 @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -794,6 +795,7 @@ static int sortpairs(const void *A, cons static int PreloadSystem(SettingList *setlist) { unsigned di, i; + struct utsname uts; const char *dirs[] = { "/etc/sysctl.d", "/run/sysctl.d", @@ -858,6 +860,16 @@ static int PreloadSystem(SettingList *se } qsort(cfgs, ncfgs, sizeof(struct cfg *), sortpairs); + if (uname(&uts) == 0) { + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), "/boot/sysctl.conf-%s", uts.release); + if (access(buf, R_OK) == 0) { + if (!Quiet) + printf("* Applying %s ...\n", buf); + Preload(setlist, buf); + } + } + for (i = 0; i < ncfgs; ++i) { if (!Quiet) printf(_("* Applying %s ...\n"), cfgs[i]->value);