[openssl-dev] [openssl.org #4443] Re: VIA C7-D processor: Hang in 30-test_afalg.t

Viktor Dukhovni openssl-users at dukhovni.org
Fri Mar 18 00:43:40 UTC 2016

> On Mar 17, 2016, at 8:25 PM, noloader at gmail.com via RT <rt at openssl.org> wrote:
> Yeah, this looks fishy... According to the libc manual, 13.10 Perform
> I/O Operations in Parallel
> (https://www.gnu.org/software/libc/manual/html_node/Asynchronous-I_002fO.html):
>    volatile void *aio_buf
>        This is a pointer to the buffer with the data to
>        be written or the place where the read data is
>        stored.
> That cast should be to a void*, not an unsigned long.

Wrong interface.  Here, OpenSSL is using "struct iocb" from the kernel ABI via
<linux/aio_abi.h>, not glibc's "struct aiocb".  In the kernel structure, the
definition is:

	__u64 aio_buf;

Since OpenSSL master has "uint64_t", that would perhaps be more appropriate
than (unsigned long).


More information about the openssl-dev mailing list