The xread function must be able to differentiate between an incomplete read and an invalid argument (SIZE_MAX could never fit into memory).