Update to new upstream release 1.3.0
Include 2 upstream patches to fix build issues with i686 and issues with s390x builds. Resolves: #rhbz1981316
This commit is contained in:
parent
34ccbaec04
commit
3d265a417f
@ -1,37 +0,0 @@
|
|||||||
From e8c22fe01c6dd46399396694cd1d72a6988dc287 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ondrej Mosnacek <omosnace@redhat.com>
|
|
||||||
Date: Sat, 27 Mar 2021 13:46:45 +0100
|
|
||||||
Subject: [PATCH] kcapi: Fix hang in fuzz tests with recent kernels
|
|
||||||
|
|
||||||
After kernel commit f3c802a1f300 ("crypto: algif_aead - Only wake up
|
|
||||||
when..."), the fuzz tests hang indefinitely, because they request more
|
|
||||||
output data than the operation can produce. Fix this by requesting at
|
|
||||||
most the expected size of the output data.
|
|
||||||
|
|
||||||
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
|
|
||||||
---
|
|
||||||
test/kcapi-main.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/kcapi-main.c b/test/kcapi-main.c
|
|
||||||
index 64e466c..975e8d1 100644
|
|
||||||
--- a/test/kcapi-main.c
|
|
||||||
+++ b/test/kcapi-main.c
|
|
||||||
@@ -380,7 +380,7 @@ static int fuzz_cipher(struct kcapi_cavs *cavs_test, unsigned long flags,
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < sizeof(indata); i++) {
|
|
||||||
- unsigned int outlen = sizeof(outdata);
|
|
||||||
+ unsigned int outlen = i;
|
|
||||||
uint8_t *out = outdata;
|
|
||||||
uint8_t *iv = indata;
|
|
||||||
uint8_t *in = indata;
|
|
||||||
@@ -474,7 +474,7 @@ static int fuzz_aead(struct kcapi_cavs *cavs_test, unsigned long flags,
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < sizeof(indata); i++) {
|
|
||||||
- unsigned int outlen = sizeof(outdata);
|
|
||||||
+ unsigned int outlen = i;
|
|
||||||
uint8_t *out = outdata;
|
|
||||||
uint8_t *iv = indata;
|
|
||||||
uint8_t *in = indata;
|
|
83
001-libkcapi-1.3.0-32bit-werror.patch
Normal file
83
001-libkcapi-1.3.0-32bit-werror.patch
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
From 299e5e8c38de9be99b86885c1af60dd5e1cc9888 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ondrej Mosnacek <omosnace@redhat.com>
|
||||||
|
Date: Mon, 17 May 2021 22:19:32 +0200
|
||||||
|
Subject: [PATCH] docproc: fix -Wconversion warnings on 32-bit
|
||||||
|
|
||||||
|
On i686, GCC 11.1.1 complains:
|
||||||
|
```
|
||||||
|
lib/doc/bin/docproc.c: In function 'find_all_symbols':
|
||||||
|
lib/doc/bin/docproc.c:433:17: error: conversion to 'ssize_t' {aka 'int'} from 'unsigned int' may change the sign of the result [-Werror=sign-conversion]
|
||||||
|
433 | start = all_list_len;
|
||||||
|
| ^~~~~~~~~~~~
|
||||||
|
lib/doc/bin/docproc.c:441:48: error: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'unsigned int' [-Werror=sign-compare]
|
||||||
|
441 | for (i = 0; i < (int)data_len && start != all_list_len; i++) {
|
||||||
|
| ^~
|
||||||
|
cc1: all warnings being treated as errors
|
||||||
|
```
|
||||||
|
|
||||||
|
Fix this by declaring all of all_list_len, i, count, and start as
|
||||||
|
size_t and remove a few casts that are no longer necessary.
|
||||||
|
|
||||||
|
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
|
||||||
|
Signed-off-by: Stephan Mueller <smueller@chronox.de>
|
||||||
|
---
|
||||||
|
lib/doc/bin/docproc.c | 14 +++++++-------
|
||||||
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/doc/bin/docproc.c b/lib/doc/bin/docproc.c
|
||||||
|
index 556d5d4..74b3cdb 100644
|
||||||
|
--- a/lib/doc/bin/docproc.c
|
||||||
|
+++ b/lib/doc/bin/docproc.c
|
||||||
|
@@ -77,11 +77,11 @@ FILELINE * docsection;
|
||||||
|
static char *srctree, *kernsrctree;
|
||||||
|
|
||||||
|
static char **all_list = NULL;
|
||||||
|
-static unsigned int all_list_len = 0;
|
||||||
|
+static size_t all_list_len = 0;
|
||||||
|
|
||||||
|
static void consume_symbol(const char *sym)
|
||||||
|
{
|
||||||
|
- unsigned int i;
|
||||||
|
+ size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < all_list_len; i++) {
|
||||||
|
if (!all_list[i])
|
||||||
|
@@ -361,11 +361,11 @@ static void find_all_symbols(char *filename)
|
||||||
|
{
|
||||||
|
char *vec[4]; /* kerneldoc -list file NULL */
|
||||||
|
pid_t pid;
|
||||||
|
- ssize_t ret, i, count, start;
|
||||||
|
+ ssize_t ret;
|
||||||
|
char real_filename[PATH_MAX + 1];
|
||||||
|
int pipefd[2];
|
||||||
|
char *data, *str;
|
||||||
|
- size_t data_len = 0;
|
||||||
|
+ size_t i, count, start, data_len = 0;
|
||||||
|
|
||||||
|
vec[0] = KERNELDOC;
|
||||||
|
vec[1] = LIST;
|
||||||
|
@@ -424,21 +424,21 @@ static void find_all_symbols(char *filename)
|
||||||
|
|
||||||
|
count = 0;
|
||||||
|
/* poor man's strtok, but with counting */
|
||||||
|
- for (i = 0; i < (int)data_len; i++) {
|
||||||
|
+ for (i = 0; i < data_len; i++) {
|
||||||
|
if (data[i] == '\n') {
|
||||||
|
count++;
|
||||||
|
data[i] = '\0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
start = all_list_len;
|
||||||
|
- all_list_len += (unsigned int)count;
|
||||||
|
+ all_list_len += count;
|
||||||
|
all_list = realloc(all_list, sizeof(char *) * all_list_len);
|
||||||
|
if (!all_list) {
|
||||||
|
perror("realloc");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
str = data;
|
||||||
|
- for (i = 0; i < (int)data_len && start != all_list_len; i++) {
|
||||||
|
+ for (i = 0; i < data_len && start != all_list_len; i++) {
|
||||||
|
if (data[i] == '\0') {
|
||||||
|
all_list[start] = str;
|
||||||
|
str = data + i + 1;
|
47
002-libkcapi-1.3.0-s390-types.patch
Normal file
47
002-libkcapi-1.3.0-s390-types.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From 00603fbe01de879eb1bd49a4475b0e619f4bb3b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ondrej Mosnacek <omosnace@redhat.com>
|
||||||
|
Date: Tue, 18 May 2021 15:03:17 +0200
|
||||||
|
Subject: [PATCH] Fix bad types in _kcapi_common_send_meta()
|
||||||
|
|
||||||
|
The types for 'type' and 'assoclen' variables need to match the kernel
|
||||||
|
ABI, so they can't be changed to size_t. On most arches it is by chance
|
||||||
|
still working, but on s390x usign size_t here makes almost all tests
|
||||||
|
fail. Change the variables back to uint32_t pointers to fix this.
|
||||||
|
|
||||||
|
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
|
||||||
|
Signed-off-by: Stephan Mueller <smueller@chronox.de>
|
||||||
|
---
|
||||||
|
lib/kcapi-kernel-if.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/kcapi-kernel-if.c b/lib/kcapi-kernel-if.c
|
||||||
|
index a92e2f7..4968a8a 100644
|
||||||
|
--- a/lib/kcapi-kernel-if.c
|
||||||
|
+++ b/lib/kcapi-kernel-if.c
|
||||||
|
@@ -125,7 +125,7 @@ ssize_t _kcapi_common_send_meta(struct kcapi_handle *handle,
|
||||||
|
|
||||||
|
/* plaintext / ciphertext data */
|
||||||
|
struct cmsghdr *header = NULL;
|
||||||
|
- size_t *type = NULL;
|
||||||
|
+ uint32_t *type = NULL;
|
||||||
|
struct msghdr msg;
|
||||||
|
|
||||||
|
/* IV data */
|
||||||
|
@@ -135,7 +135,7 @@ ssize_t _kcapi_common_send_meta(struct kcapi_handle *handle,
|
||||||
|
0;
|
||||||
|
|
||||||
|
/* AEAD data */
|
||||||
|
- size_t *assoclen = NULL;
|
||||||
|
+ uint32_t *assoclen = NULL;
|
||||||
|
size_t assoc_msg_size = handle->aead.assoclen ?
|
||||||
|
CMSG_SPACE(sizeof(*assoclen)) : 0;
|
||||||
|
|
||||||
|
@@ -205,7 +205,7 @@ ssize_t _kcapi_common_send_meta(struct kcapi_handle *handle,
|
||||||
|
header->cmsg_type = ALG_SET_AEAD_ASSOCLEN;
|
||||||
|
header->cmsg_len = CMSG_LEN(sizeof(*assoclen));
|
||||||
|
assoclen = (void*)CMSG_DATA(header);
|
||||||
|
- *assoclen = handle->aead.assoclen;
|
||||||
|
+ *assoclen = (uint32_t)handle->aead.assoclen;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = sendmsg(*_kcapi_get_opfd(handle), &msg, (int)flags);
|
@ -1,7 +1,7 @@
|
|||||||
# Shared object version of libkcapi.
|
# Shared object version of libkcapi.
|
||||||
%global vmajor 1
|
%global vmajor 1
|
||||||
%global vminor 2
|
%global vminor 3
|
||||||
%global vpatch 1
|
%global vpatch 0
|
||||||
|
|
||||||
# Do we build the replacements packages?
|
# Do we build the replacements packages?
|
||||||
%bcond_with replace_coreutils
|
%bcond_with replace_coreutils
|
||||||
@ -125,7 +125,7 @@ done \
|
|||||||
|
|
||||||
Name: libkcapi
|
Name: libkcapi
|
||||||
Version: %{vmajor}.%{vminor}.%{vpatch}
|
Version: %{vmajor}.%{vminor}.%{vpatch}
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: User space interface to the Linux Kernel Crypto API
|
Summary: User space interface to the Linux Kernel Crypto API
|
||||||
|
|
||||||
License: BSD or GPLv2
|
License: BSD or GPLv2
|
||||||
@ -135,7 +135,9 @@ Source1: https://www.chronox.de/%{name}/%{name}-%{version}.tar.xz.asc
|
|||||||
Source2: sha512hmac-openssl.sh
|
Source2: sha512hmac-openssl.sh
|
||||||
Source3: fipshmac-openssl.sh
|
Source3: fipshmac-openssl.sh
|
||||||
|
|
||||||
Patch001: %{giturl}/pull/110.patch#/001-fix-fuzz-test.patch
|
Patch1: 001-libkcapi-1.3.0-32bit-werror.patch
|
||||||
|
Patch2: 002-libkcapi-1.3.0-s390-types.patch
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: bash
|
BuildRequires: bash
|
||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
@ -512,6 +514,9 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 12 2021 Simo Sorce <simo@redhat.com> - 1.3.0-1
|
||||||
|
- Update to new upstream release 1.3.0
|
||||||
|
|
||||||
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.1-3
|
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.1-3
|
||||||
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||||
Related: rhbz#1971065
|
Related: rhbz#1971065
|
||||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (libkcapi-1.2.1.tar.xz) = bfe5e4fa4368973cfcadbde3b2a278e31bc5c36a6afba9fc92fdd5903e4e8050d09000a195c764c981753896ef543635add98bbb930dbe52a56d2f6318bc1241
|
SHA512 (libkcapi-1.3.0.tar.xz) = 3b6fbf9b6651dec870c9181709c8e7d7882d4967fe1c4d53a59cc428fcf83e2ec1f56f09406d8918f145beb417dffbfdf4719c2c61631d8008bb049970323ed0
|
||||||
SHA512 (libkcapi-1.2.1.tar.xz.asc) = f2823add4528e16c45ccb59e2124da29007b0285faed5194fe5969f4928411faa63b3b6586bd103085b666a4dfb977cfdf0d20db6588d426ab92e29e360a37e7
|
SHA512 (libkcapi-1.3.0.tar.xz.asc) = 9b89ea6743e43727bc9e003bb617970f4ab389b3d740a16105ca6eeff2a3485a56664aecf957c5e30fb54f5dfa44fc0cc015dd4e9b518b16db2fad55e8cba69c
|
||||||
|
Loading…
Reference in New Issue
Block a user