From e8acc16d455876855ac3e13efa5f24f1e93a42e0 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 19 Nov 2015 10:41:30 -0300 Subject: [PATCH] Fix compilation against linux 4.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux Crypto API changed to using aead_request_set_ad() instead of aead_request_set_assoc(). Based on Horia Geantă's patch from https://mail.gna.org/public/cryptodev-linux-devel/2015-11/msg00002.html However we need to version-guard the change for older versions of the kernel to avoid the build from breaking for them. Signed-off-by: Gustavo Zacarias --- cryptlib.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cryptlib.h b/cryptlib.h index a0a8a63..f0c2736 100644 --- a/cryptlib.h +++ b/cryptlib.h @@ -1,6 +1,8 @@ #ifndef CRYPTLIB_H # define CRYPTLIB_H +#include + struct cipher_data { int init; /* 0 uninitialized */ int blocksize; @@ -40,7 +42,11 @@ static inline void cryptodev_cipher_auth(struct cipher_data *cdata, struct scatterlist *sg1, size_t len) { /* for some reason we _have_ to call that even for zero length sgs */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)) aead_request_set_assoc(cdata->async.arequest, len ? sg1 : NULL, len); +#else + aead_request_set_ad(cdata->async.arequest, len); +#endif } static inline void cryptodev_cipher_set_tag_size(struct cipher_data *cdata, int size) -- 2.4.10