* Jason A. Donenfeld: > static void *vgetrandom_alloc(size_t *num, size_t *size_per_each, unsigned int flags) > { > unsigned long ret = syscall(__NR_vgetrandom_alloc, num, size_per_each, flags); > return ret > -4096UL ? NULL : (void *)ret; > } The traditional syscall function returns -1 on error and set errors, so using unsing long and the 4096 is quite misleading. Thanks, Florian