[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-9.2.2 04/14] linux-user: Do not define struct sched_attr if libc
From: |
Michael Tokarev |
Subject: |
[Stable-9.2.2 04/14] linux-user: Do not define struct sched_attr if libc headers do |
Date: |
Fri, 21 Feb 2025 20:49:34 +0300 |
From: Khem Raj <raj.khem@gmail.com>
glibc 2.41+ has added [1] definitions for sched_setattr and
sched_getattr functions and struct sched_attr. Therefore, it needs
to be checked for here as well before defining sched_attr, to avoid
a compilation failure.
Define sched_attr conditionally only when SCHED_ATTR_SIZE_VER0 is
not defined.
[1]
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2799
Cc: qemu-stable@nongnu.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 27a8d899c7a100fd5aa040a8b993bb257687c393)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 1ce4c79784..a407d4a023 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -358,7 +358,8 @@ _syscall3(int, sys_sched_getaffinity, pid_t, pid, unsigned
int, len,
#define __NR_sys_sched_setaffinity __NR_sched_setaffinity
_syscall3(int, sys_sched_setaffinity, pid_t, pid, unsigned int, len,
unsigned long *, user_mask_ptr);
-/* sched_attr is not defined in glibc */
+/* sched_attr is not defined in glibc < 2.41 */
+#ifndef SCHED_ATTR_SIZE_VER0
struct sched_attr {
uint32_t size;
uint32_t sched_policy;
@@ -371,6 +372,7 @@ struct sched_attr {
uint32_t sched_util_min;
uint32_t sched_util_max;
};
+#endif
#define __NR_sys_sched_getattr __NR_sched_getattr
_syscall4(int, sys_sched_getattr, pid_t, pid, struct sched_attr *, attr,
unsigned int, size, unsigned int, flags);
--
2.39.5
- [Stable-9.2.2 00/14] Patch Round-up for stable 9.2.2, freeze on 2025-02-23, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 01/14] rust: add --rust-target option for bindgen, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 03/14] block-backend: Fix argument order when calling 'qapi_event_send_block_io_error()', Michael Tokarev, 2025/02/21
- [Stable-9.2.2 02/14] block: Fix leak in send_qmp_error_event, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 04/14] linux-user: Do not define struct sched_attr if libc headers do,
Michael Tokarev <=
- [Stable-9.2.2 05/14] qmp: update vhost-user protocol feature maps, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 06/14] gitlab-ci.d/cirrus: Update the FreeBSD job to v14.2, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 07/14] vfio/iommufd: Fix SIGSEV in iommufd_cdev_attach(), Michael Tokarev, 2025/02/21
- [Stable-9.2.2 09/14] make-release: don't rely on $CWD when excluding subproject directories, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 08/14] ui/sdl2: reenable the SDL2 Windows keyboard hook procedure, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 10/14] hw/net/smc91c111: Ignore attempt to pop from empty RX fifo, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 11/14] elfload: Fix alignment when unmapping excess reservation, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 12/14] target/sparc: Fix register selection for all F*TOx and FxTO* instructions, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 14/14] net/slirp: libslirp 4.9.0 compatibility, Michael Tokarev, 2025/02/21
- [Stable-9.2.2 13/14] target/sparc: Fix gdbstub incorrectly handling registers f32-f62, Michael Tokarev, 2025/02/21