>>124
http://swtch.com/usr/local/plan9/src/cmd/read.c strongly suggests that the documentation is correctly documenting the insanity of the approach, otherwise read(1) could use a static buffer just like cat(1) and split the output across several writes(2), because why not if the OS is allowed to do that anyway?
Avoiding syscall overhead, perhaps? In some cases it might be better to do multiple realloc's (since many of these will return immediately without brk'ing into the system) to avoid doing multiple writes.