diff options
author | Mike Gilbert <floppym@gentoo.org> | 2021-04-27 14:16:15 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2021-04-27 14:16:15 -0400 |
commit | f2b7897598ade571e055da4ea58e25340c259a0d (patch) | |
tree | fec807dd027c38370076b8a864fcbe7c73fecd8f /sys-apps | |
parent | dev-ruby/puppetdb-termini: 7.3.1 bump (diff) | |
download | gentoo-f2b7897598ade571e055da4ea58e25340c259a0d.tar.gz gentoo-f2b7897598ade571e055da4ea58e25340c259a0d.tar.bz2 gentoo-f2b7897598ade571e055da4ea58e25340c259a0d.zip |
sys-apps/systemd: fix rfkill with linux-headers-5.12
Closes: https://bugs.gentoo.org/785955
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/systemd/files/248-rfkill.patch | 35 | ||||
-rw-r--r-- | sys-apps/systemd/systemd-248.ebuild | 1 |
2 files changed, 36 insertions, 0 deletions
diff --git a/sys-apps/systemd/files/248-rfkill.patch b/sys-apps/systemd/files/248-rfkill.patch new file mode 100644 index 000000000000..122508704355 --- /dev/null +++ b/sys-apps/systemd/files/248-rfkill.patch @@ -0,0 +1,35 @@ +From ab1aa6368a883bce88e3162fee2bea14aacedf23 Mon Sep 17 00:00:00 2001 +From: Luca Boccassi <luca.boccassi@microsoft.com> +Date: Tue, 13 Apr 2021 13:17:53 +0100 +Subject: [PATCH] rfkill: add some casts to silence -Werror=sign-compare + +--- + src/rfkill/rfkill.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c +index e2d1a1be5fa..bff1a2886be 100644 +--- a/src/rfkill/rfkill.c ++++ b/src/rfkill/rfkill.c +@@ -177,7 +177,7 @@ static int load_state(Context *c, const struct rfkill_event *event) { + ssize_t l = write(c->rfkill_fd, &we, sizeof we); + if (l < 0) + return log_error_errno(errno, "Failed to restore rfkill state for %i: %m", event->idx); +- if (l < RFKILL_EVENT_SIZE_V1) ++ if ((size_t)l < RFKILL_EVENT_SIZE_V1) /* l cannot be < 0 here. Cast to fix -Werror=sign-compare */ + return log_error_errno(SYNTHETIC_ERRNO(EIO), + "Couldn't write rfkill event structure, too short (wrote %zd of %zu bytes).", + l, sizeof we); +@@ -335,9 +335,9 @@ static int run(int argc, char *argv[]) { + break; + } + +- if (l < RFKILL_EVENT_SIZE_V1) +- return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct rfkill_event: (%zd < %d)", +- l, RFKILL_EVENT_SIZE_V1); ++ if ((size_t)l < RFKILL_EVENT_SIZE_V1) /* l cannot be < 0 here. Cast to fix -Werror=sign-compare */ ++ return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct rfkill_event: (%zd < %zu)", ++ l, (size_t) RFKILL_EVENT_SIZE_V1); /* Casting necessary to make compiling with different kernel versions happy */ + log_debug("Reading struct rfkill_event: got %zd bytes.", l); + + /* The event structure has more fields. We only care about the first few, so it's OK if we diff --git a/sys-apps/systemd/systemd-248.ebuild b/sys-apps/systemd/systemd-248.ebuild index 1c671060823e..3f21eb068539 100644 --- a/sys-apps/systemd/systemd-248.ebuild +++ b/sys-apps/systemd/systemd-248.ebuild @@ -214,6 +214,7 @@ src_prepare() { # Add local patches here PATCHES+=( + "${FILESDIR}/248-rfkill.patch" ) if ! use vanilla; then |