Units might have different access rules, so check the access on each
unit when querying the full list.
/* Anyone can call this method */
- r = mac_selinux_access_check(message, "status", reterr_error);
- if (r < 0)
- return r;
-
r = sd_bus_message_new_method_return(message, &reply);
if (r < 0)
return r;
if (k != u->id)
continue;
+ r = mac_selinux_unit_access_check(u, message, "status", /* reterr_error= */ NULL);
+ if (r < 0)
+ continue; /* silently skip units the caller is not allowed to see */
+
if (!unit_passes_filter(u, states, patterns))
continue;