}
char *manager_taint_string(Manager *m) {
- _cleanup_free_ char *destination = NULL;
+ _cleanup_free_ char *destination = NULL, *overflowuid = NULL, *overflowgid = NULL;
char *buf, *e;
int r;
"local-hwclock:"
"var-run-bad:"
"weird-nobody-user:"
- "weird-nobody-group:"));
+ "weird-nobody-group:"
+ "overflowuid-not-65534:"
+ "overflowgid-not-65534:"));
if (!buf)
return NULL;
if (!streq(NOBODY_GROUP_NAME, "nobody"))
e = stpcpy(e, "weird-nobody-group:");
+ r = read_one_line_file("/proc/sys/kernel/overflowuid", &overflowuid);
+ if (r >= 0 && !streq(overflowuid, "65534"))
+ e = stpcpy(e, "overflowuid-not-65534:");
+
+ r = read_one_line_file("/proc/sys/kernel/overflowgid", &overflowgid);
+ if (r >= 0 && !streq(overflowgid, "65534"))
+ e = stpcpy(e, "overflowgid-not-65534:");
+
/* remove the last ':' */
if (e != buf)
e[-1] = 0;