On Oct 8, 2016 4:17 PM, "Theodore Ts'o" <tytso@xxxxxxx> wrote: > > On Sat, Oct 08, 2016 at 02:28:27PM +0200, Florian Weimer wrote: > > The manual page says the return type of getrandom(2) is int, but > > ssize_t would be more natural (see read(2) for comparison). The > > kernel uses ssize_t internally, which is converted to long on the > > system call boundary. > > > > The difference does not currently matter because the return value is > > limited to much less than INT_MAX in the implementation. > > > > Should we use int or ssize_t in the glibc system call wrapper? I think it should be ssize_t. Having the types mismatched across the syscall boundary is just confusing. (b) the maximum number of bytes returned will *always* be well > under INT_MAX. I would argue that this particular ship sailed when the len parameter was given the type size_t. The door is open for requests bigger than 2GiB. Even if Linux will never honor those requests, I see no reason to make their return value have a nonsensical type. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html