baae5b4a06
Some programs don't support `(uint16_t) -1` or `(uint32_t) -1` as user or group IDs. This is because `-1` is used as an error code or as an unspecified ID, e.g. in `chown(2)` parameters, and in the past, `gid_t` and `uid_t` have changed width. For legacy reasons, those values have been kept reserved in programs today (for example systemd does this; see the documentation in the link below). This should not be confused with catching overflow in the ID values, since that is already caught by our ERANGE checks. This is about not using reserved values that have been reserved for legacy reasons. Link: <https://systemd.io/UIDS-GIDS/> Reviewed-by: Alejandro Colomar <alx@kernel.org> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>