mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-15 06:14:57 +01:00
8ce7f9f78b
The macOS deployment target has been set to 12.0, and the collection of patches and reverts to keep older macOS versions working has been dropped, as maintaining what is effectively a fork of QEMU solely for the sake of versions no longer supported by Apple has become untenable. It may or may not still work on older macOS versions, potentially with reduced functionality. Upstream only officially supports the latest two versions of macOS, so this is still extending support further back than QEMU will support. To continue supporting back to macOS 10.12, at least the following upstream commits would have to be reverted, and possibly more: * <2d27c91e2b
> * <e9c9d8dc3b
> * <7b60b971cc
> However, if you want to do that, you should be prepared to take up the burden of maintaining the monotonically‐increasing set of patches that will be required to keep this working in future. Fixes: CVE-2024-7409 Co-authored-by: Emily <vcs@emily.moe>
45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
|
|
index c2bd0b4316..47cee1c351 100644
|
|
--- a/qga/commands-posix.c
|
|
+++ b/qga/commands-posix.c
|
|
@@ -246,7 +246,7 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
|
|
return;
|
|
}
|
|
|
|
- const char *argv[] = {"/sbin/shutdown",
|
|
+ const char *argv[] = {"/run/current-system/sw/bin/shutdown",
|
|
#ifdef CONFIG_SOLARIS
|
|
shutdown_flag, "-g0", "-y",
|
|
#elif defined(CONFIG_BSD)
|
|
@@ -257,6 +257,10 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
|
|
"hypervisor initiated shutdown", (char *) NULL};
|
|
|
|
ga_run_command(argv, NULL, "shutdown", &local_err);
|
|
+ if (local_err) {
|
|
+ argv[0] = "/sbin/shutdown";
|
|
+ ga_run_command(argv, NULL, "shutdown", &local_err);
|
|
+ }
|
|
if (local_err) {
|
|
error_propagate(errp, local_err);
|
|
return;
|
|
@@ -270,7 +274,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
|
int ret;
|
|
Error *local_err = NULL;
|
|
struct timeval tv;
|
|
- const char *argv[] = {"/sbin/hwclock", has_time ? "-w" : "-s", NULL};
|
|
+ const char *argv[] = {"/run/current-system/sw/bin/hwclock", has_time ? "-w" : "-s", NULL};
|
|
|
|
/* If user has passed a time, validate and set it. */
|
|
if (has_time) {
|
|
@@ -303,6 +307,11 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
|
* hardware clock (RTC). */
|
|
ga_run_command(argv, NULL, "set hardware clock to system time",
|
|
&local_err);
|
|
+ if (local_err) {
|
|
+ argv[0] = "/sbin/hwclock";
|
|
+ ga_run_command(argv, NULL, "set hardware clock to system time",
|
|
+ &local_err);
|
|
+ }
|
|
if (local_err) {
|
|
error_propagate(errp, local_err);
|
|
return;
|