summaryrefslogtreecommitdiffstats
path: root/package/cryptodev-linux/0002-Fix-compilation-against-linux-4.3.patch
blob: e8e8423b7d6d476be12b1f614d4af71e6c31144f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
From e8acc16d455876855ac3e13efa5f24f1e93a42e0 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
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 <gustavo@zacarias.com.ar>
---
 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 <linux/version.h>
+
 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

OpenPOWER on IntegriCloud