> On Mar 17, 2016, at 8:25 PM, noloa...@gmail.com via RT <r...@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).

-- 
        Viktor.

-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to