summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri John Ledkov <xnox@ubuntu.com>2016-04-19 10:59:03 +0100
committerDimitri John Ledkov <xnox@ubuntu.com>2016-04-19 10:59:03 +0100
commit25eeb1b675382e8d95f4504a343f09ee481b7970 (patch)
tree82ffaf70840961a9600f70bb2df9f080ffc86eaf
parent2add0964a8ab601ac38cb4da4586e9f94c140829 (diff)
parent8d0d32eb1cb9bed7a7ce4320a802f5245746f485 (diff)
Record libica (2.6.1-2) in archive suite sid
-rw-r--r--debian/changelog7
-rw-r--r--debian/patches/0001-Fix-initialization-of-s390-hardware-switches.patch35
-rw-r--r--debian/patches/series2
-rw-r--r--src/include/s390_crypto.h8
-rwxr-xr-xsrc/tests/suite.run2
5 files changed, 48 insertions, 6 deletions
diff --git a/debian/changelog b/debian/changelog
index c963fa2..346a5d7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libica (2.6.1-2) unstable; urgency=medium
+
+ * Cherry pick upstream patch to fix symbol visibility and thus
+ initialization on s390. LP: #1566238
+
+ -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 19 Apr 2016 10:59:03 +0100
+
libica (2.6.1-1) unstable; urgency=medium
* New upstream release LP: #1548353.
diff --git a/debian/patches/0001-Fix-initialization-of-s390-hardware-switches.patch b/debian/patches/0001-Fix-initialization-of-s390-hardware-switches.patch
new file mode 100644
index 0000000..5a28b23
--- /dev/null
+++ b/debian/patches/0001-Fix-initialization-of-s390-hardware-switches.patch
@@ -0,0 +1,35 @@
+From b73a9c6bcfded1f15cb02692fe5ed38fad05c8a0 Mon Sep 17 00:00:00 2001
+From: Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>
+Date: Tue, 19 Apr 2016 10:55:50 +0200
+Subject: [PATCH] Fix initialization of s390 hardware switches
+
+The initialization of the hardware switches was not done correctly.
+This could lead to illegal access and segmentation fault.
+
+Changed declaration of hardware switches to ensure uniqueness
+across compile units and thereby proper initialization.
+
+Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>
+---
+ src/include/s390_crypto.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+Index: libica/src/include/s390_crypto.h
+===================================================================
+--- libica.orig/src/include/s390_crypto.h
++++ libica/src/include/s390_crypto.h
+@@ -119,10 +119,10 @@ typedef enum {
+ SHA512_DRNG_SEED
+ } ppno_functions_t;
+
+-s390_supported_function_t s390_kmc_functions[PRNG + 1];
+-s390_supported_function_t s390_msa4_functions[AES_256_XTS_DECRYPT + 1];
+-s390_supported_function_t s390_kimd_functions[GHASH + 1];
+-s390_supported_function_t s390_ppno_functions[SHA512_DRNG_SEED + 1];
++extern s390_supported_function_t s390_kmc_functions[PRNG + 1];
++extern s390_supported_function_t s390_msa4_functions[AES_256_XTS_DECRYPT + 1];
++extern s390_supported_function_t s390_kimd_functions[GHASH + 1];
++extern s390_supported_function_t s390_ppno_functions[SHA512_DRNG_SEED + 1];
+
+ void s390_crypto_switches_init(void);
+
diff --git a/debian/patches/series b/debian/patches/series
index 07bbd60..08f0fde 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,3 @@
0004-Make-test-suite-bail-out-upon-errors.patch
0005-ubuntu-skip-generating-suite.out-report-to-stdout.patch
-skip-icastats-test.patch
+0001-Fix-initialization-of-s390-hardware-switches.patch
diff --git a/src/include/s390_crypto.h b/src/include/s390_crypto.h
index 0f967f7..55ae59e 100644
--- a/src/include/s390_crypto.h
+++ b/src/include/s390_crypto.h
@@ -119,10 +119,10 @@ typedef enum {
SHA512_DRNG_SEED
} ppno_functions_t;
-s390_supported_function_t s390_kmc_functions[PRNG + 1];
-s390_supported_function_t s390_msa4_functions[AES_256_XTS_DECRYPT + 1];
-s390_supported_function_t s390_kimd_functions[GHASH + 1];
-s390_supported_function_t s390_ppno_functions[SHA512_DRNG_SEED + 1];
+extern s390_supported_function_t s390_kmc_functions[PRNG + 1];
+extern s390_supported_function_t s390_msa4_functions[AES_256_XTS_DECRYPT + 1];
+extern s390_supported_function_t s390_kimd_functions[GHASH + 1];
+extern s390_supported_function_t s390_ppno_functions[SHA512_DRNG_SEED + 1];
void s390_crypto_switches_init(void);
diff --git a/src/tests/suite.run b/src/tests/suite.run
index aa24956..a697810 100755
--- a/src/tests/suite.run
+++ b/src/tests/suite.run
@@ -9,7 +9,7 @@ silent=${1}
echo -ne 'Starting libica test suite ...\n'
echo -ne '-------------------------------------------------- (0%)\r'
-./icastats_test $silent || :
+./icastats_test $silent
echo -ne '#------------------------------------------------- (2%)\r'
./libica_3des_cbc_test $silent
./libica_3des_cfb_test $silent