teknoraver / rpms / systemd

Forked from rpms/systemd 3 months ago
Clone

Blame SOURCES/0295-test-cpu-set-util-fix-allocation-size-check-on-i386.patch

4fbe94
From 3cf9361996b796eae0bda12aec8c92ddae1d5d48 Mon Sep 17 00:00:00 2001
4fbe94
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
4fbe94
Date: Tue, 4 Jun 2019 09:40:38 +0200
4fbe94
Subject: [PATCH] test-cpu-set-util: fix allocation size check on i386
4fbe94
4fbe94
We get just 28 bytes not 32 as on 64-bit architectures (__cpu_set_t is 4 bytes,
4fbe94
we need at least 26, so 28 satisfies the constraints).
4fbe94
4fbe94
(cherry picked from commit 64412970ac0d4b6f5c4bbd8816edc9bff9eab2de)
4fbe94
4fbe94
Related: #1734787
4fbe94
---
4fbe94
 src/test/test-cpu-set-util.c | 4 +++-
4fbe94
 1 file changed, 3 insertions(+), 1 deletion(-)
4fbe94
4fbe94
diff --git a/src/test/test-cpu-set-util.c b/src/test/test-cpu-set-util.c
4fbe94
index 3456add989..136eaca82d 100644
4fbe94
--- a/src/test/test-cpu-set-util.c
4fbe94
+++ b/src/test/test-cpu-set-util.c
4fbe94
@@ -256,7 +256,9 @@ static void test_cpu_set_to_from_dbus(void) {
4fbe94
         assert_se(array);
4fbe94
         assert_se(allocated == c.allocated);
4fbe94
 
4fbe94
-        assert(memcmp(array, expected, sizeof expected) == 0);
4fbe94
+        assert_se(allocated <= sizeof expected);
4fbe94
+        assert_se(allocated >= DIV_ROUND_UP(201u, 8u)); /* We need at least 201 bits for our mask */
4fbe94
+        assert(memcmp(array, expected, allocated) == 0);
4fbe94
 
4fbe94
         assert_se(cpu_set_from_dbus(array, allocated, &c2) == 0);
4fbe94
         assert_se(c2.set);