From 03b2e3bda1ad6c0b76a58baad0a216ac80695041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 23 May 2022 15:57:40 +0200 Subject: [PATCH] libports: rename jitterentropy's memcpy To prevent symbol aliasing when using the static jitterentropy library rename it to 'jent_memcpy'. Fixes #4516. --- repos/libports/ports/jitterentropy.hash | 2 +- repos/libports/ports/jitterentropy.port | 3 ++- .../lib/jitterentropy/jitterentropy-base-genode.cc | 4 ++-- .../lib/jitterentropy/jitterentropy-base-genode.h | 2 +- .../lib/jitterentropy/jitterentropy_memcpy.patch | 13 +++++++++++++ 5 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 repos/libports/src/lib/jitterentropy/jitterentropy_memcpy.patch diff --git a/repos/libports/ports/jitterentropy.hash b/repos/libports/ports/jitterentropy.hash index acaf33bb3d..4c67a13615 100644 --- a/repos/libports/ports/jitterentropy.hash +++ b/repos/libports/ports/jitterentropy.hash @@ -1 +1 @@ -b982a76430613834d1df5877fd528e4fa0c65fb2 +a03bf871577242847d2be302ff4054197e8799e3 diff --git a/repos/libports/ports/jitterentropy.port b/repos/libports/ports/jitterentropy.port index 2145108b08..f9e9cec349 100644 --- a/repos/libports/ports/jitterentropy.port +++ b/repos/libports/ports/jitterentropy.port @@ -13,7 +13,8 @@ DIR_CONTENT(include/jitterentropy) := $(addprefix src/lib/jitterentropy/,\ jitterentropy.h) PATCHES := src/lib/jitterentropy/jitterentropy_h.patch \ - src/lib/jitterentropy/jitterentropy_delta_compare.patch + src/lib/jitterentropy/jitterentropy_delta_compare.patch \ + src/lib/jitterentropy/jitterentropy_memcpy.patch PATCH_OPT := -p1 -d src/lib/jitterentropy # diff --git a/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.cc b/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.cc index 1767ed071f..6662fdfa24 100644 --- a/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.cc +++ b/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.cc @@ -5,7 +5,7 @@ */ /* - * Copyright (C) 2014-2017 Genode Labs GmbH + * Copyright (C) 2014-2022 Genode Labs GmbH * * This file is part of the Genode OS framework, which is distributed * under the terms of the GNU Affero General Public License version 3. @@ -42,7 +42,7 @@ void jent_zfree(void *ptr, unsigned int len) } -void *memcpy(void *dest, const void *src, size_t n) +void *jent_memcpy(void *dest, const void *src, size_t n) { return Genode::memcpy(dest, src, n); } diff --git a/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.h b/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.h index b41d216eed..cdbf980e7a 100644 --- a/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.h +++ b/repos/libports/src/lib/jitterentropy/jitterentropy-base-genode.h @@ -51,7 +51,7 @@ static inline __u64 rol64(__u64 word, unsigned int shift) return (word << shift) | (word >> (64 - shift)); } -void *memcpy(void *dest, const void *src, size_t n); +void *jent_memcpy(void *dest, const void *src, size_t n); #ifdef __cplusplus } diff --git a/repos/libports/src/lib/jitterentropy/jitterentropy_memcpy.patch b/repos/libports/src/lib/jitterentropy/jitterentropy_memcpy.patch new file mode 100644 index 0000000000..a75f1e53d3 --- /dev/null +++ b/repos/libports/src/lib/jitterentropy/jitterentropy_memcpy.patch @@ -0,0 +1,13 @@ +diff --git a/jitterentropy-base.c b/jitterentropy-base.c +index 28b1462..3ea4c90 100644 +--- a/jitterentropy-base.c ++++ b/jitterentropy-base.c +@@ -553,7 +553,7 @@ ssize_t jent_read_entropy(struct rand_data *ec, char *data, size_t len) + tocopy = (DATA_SIZE_BITS / 8); + else + tocopy = len; +- memcpy(p, &ec->data, tocopy); ++ jent_memcpy(p, &ec->data, tocopy); + + len -= tocopy; + p += tocopy;