So we see this note "Invalid information in iocb->_aiocb_private may confuse the kernel." in the BUGS section. AFAICT, it's __aiocb_private, not _aiocb_private (double underscore) which also hints strongly on a private implementation defined symbol, which isn't documented properly (header file even says, don't touch directly). Suggest cutting the BUGS section from aio_write(3) altogether.