From a296c71966ebb511ff9c8ade1f5b482ad4adadde Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Tue, 16 Jan 2018 19:41:18 +0000 Subject: [PATCH] Split crp_buf into a union. This adds explicit crp_mbuf and crp_uio pointers of the right type to replace casts of crp_buf. This does not sweep through changing existing code, but new code should use the correct fields instead of casts. Reviewed by: kib Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D13927 --- sys/opencrypto/cryptodev.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/opencrypto/cryptodev.h b/sys/opencrypto/cryptodev.h index 0bdb5769367..f929d10a54c 100644 --- a/sys/opencrypto/cryptodev.h +++ b/sys/opencrypto/cryptodev.h @@ -425,7 +425,11 @@ struct cryptop { * if CRYPTO_F_ASYNC flags is set */ - caddr_t crp_buf; /* Data to be processed */ + union { + caddr_t crp_buf; /* Data to be processed */ + struct mbuf *crp_mbuf; + struct uio *crp_uio; + }; void * crp_opaque; /* Opaque pointer, passed along */ struct cryptodesc *crp_desc; /* Linked list of processing descriptors */ @@ -538,5 +542,6 @@ extern void crypto_copydata(int flags, caddr_t buf, int off, int size, caddr_t out); extern int crypto_apply(int flags, caddr_t buf, int off, int len, int (*f)(void *, void *, u_int), void *arg); + #endif /* _KERNEL */ #endif /* _CRYPTO_CRYPTO_H_ */