UserMetaData::hasAttribute and isSupported use errno to check if the
syscall was successful. This is insufficient, as a succesful syscall
(return value >= 0) does not reset the errno value.
Also do some minor optimization, there is no need to actually fetch
the value for hasAttribute/isSupported.