Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
---|---|---|---|---|---|---|
microvm-default-machine-type.patch | set default machine type to be microvm if CONFIG_MICROVM is defined diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index def37e60f79..35b948ffb11 100644 |
Michael Tokarev <mjt@tls.msk.ru> | not-needed | 2020-02-22 | ||
static-linux-user-stubs.diff | static linux-user stubs When building a static linux-user binaries, ld complains: /usr/bin/ld: libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry': warning: Using 'getpwuid' in statically linked applications requires... warning: Using 'getpwnam_r' in statically linked applications requires... warning: Using 'getpwuid_r' in statically linked applications requires... This is because glib, in their "misc utils" unit (gutils.c), has functions to return current user home directory and similar stuff, and this unit is almost always included into the link, even if these particular functions aren't used by the application. Ideally this should be fixed on the glib side, by splitting gutils.c into several files, so unused symbols wont be included in the link at all. But this requires extra efforts from glib side, and static linkage with glib is very rare. So just stub-out a few getpw* symbols here, - this will eliminate the warning and will make resulting binary quite a bit smaller. It would be nice to eliminate whole dlopen() too. diff --git a/linux-user/main.c b/linux-user/main.c |
Michael Tokarev <mjt@tls.msk.ru> | not-needed | 2024-04-25 | ||
linux-user-binfmt-P.diff | [PATCH, HACK]: linux-user: handle binfmt-misc P flag as a separate exe name A hackish way to distinguish the case when qemu-user binary is executed using in-kernel binfmt-misc subsystem with P flag (preserve argv). We register binfmt interpreter under name /usr/libexec/qemu-binfmt/qemu-foo-binfmt-P (which is just a symlink to ../../bin/qemu-foo), and if run like that, qemu-user binary will "know" it should interpret argv[1] & argv[2] in a special way. diff --git a/linux-user/main.c b/linux-user/main.c index 9277df2e9d..bd323f70bc 100644 |
Michael Tokarev <mjt@tls.msk.ru> | yes | 2021-02-13 | ||
note-missing-module-pkg-name.diff | Note missing module package name Debian ships different modules in different packages. By default qemu ignores the fact that it can not load a module, pretending this module never existed. Give a useful hint about the package where the module in question resides. This is a hack, but it makes qemu packaged in debian more user-friendly. diff --git a/audio/audio.c b/audio/audio.c index 7ac74f9e16..15f1071bdc 100644 |
Michael Tokarev <mjt@tls.msk.ru> | not-needed | 2021-08-22 | ||
skip-unpack-edk2-blobs.patch | skip unpacking of edk2 blobs Debian strips the blobs from qemu.orig.tar.gz so the code fails to unpack the missing files. diff --git a/pc-bios/meson.build b/pc-bios/meson.build index a7224ef469..ddaedd95af 100644 |
Michael Tokarev <mjt@tls.msk.ru> | not-needed | 2023-04-01 | ||
qemu-bridge-helper-path.patch | set proper path for qemu-bridge-helper binary in the docs Upstream should propagate this path from the config option. This is a dumb-n-quick fix. diff --git a/qemu-options.hx b/qemu-options.hx index b56f6b2fb2..fe138c83d3 100644 |
Michael Tokarev <mjt@tls.msk.ru> | no | debian | 2023-04-18 | |
gnu-hurd.patch | Add OS detection and support for GNU/Hurd Adds minimal (just OS detection) "support" for GNU/Hurd. Just a test for now. diff --git a/configure b/configure index 0aea9b113b..0648634636 100755 |
Michael Tokarev <mjt@tls.msk.ru> | not-needed | 2024-08-24 | ||
qboot-Disable-LTO-for-ELF-binary-build-step.patch | [PATCH] qboot: Disable LTO for ELF binary build step If LTO is enabled by default qboot fails to link as it exposes a few issues that break the build: ../code16.c: Assembler messages: ../code16.c:37: Error: redundant addr32 prefix ../code16.c:27: Error: redundant addr32 prefix ../code16.c:18: Error: redundant addr32 prefix Until fixed suppress this behavior by adding -fno-lto to the end of the linker flags. |
Christian Ehrhardt <christian.ehrhardt@canonical.com> | yes | upstream | https://gitlab.com/bonzini/qboot/-/merge_requests/32 | 2022-07-06 |
u-boot-sam460ex-fdi.patch | u-boot-sam460ex: fdi fix Fix the missing extern in a variable declaration, resulting in this variable being repeated each time this header is included, so the link with modern gcc fails. diff --git a/roms/u-boot-sam460ex/board/ACube/common/vesa.h b/roms/u-boot-sam460ex/board/ACube/common/vesa.h index a6c32c3c2c..99672aa67b 100644 |
Michael Tokarev <mjt@tls.msk.ru> | no | |||
u-boot-sam460ex-mstring.patch | u-boot-sam460ex: remove obsolete -mstring gcc option Modern gcc complains about it. diff --git a/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk b/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk index 8f47c9b728..cf4414cee6 100644 |
Michael Tokarev <mjt@tls.msk.ru> | no | |||
u-boot-sam460ex-build.patch | u-boot-sam460ex: build fixes Fixes or works around numerous build issues and one real bug. Most are due to new defaults in gcc (in debian), like -Werror=implicit-function-declarations (there are a lot of missing decls) -Werror=incompatible-pointer-types (function types mismatches) -Werror=int-conversion (free int <=> pointer conversion) diff --git a/roms/u-boot-sam460ex/board/ACube/Sam460ex/Sam460ex.c b/roms/u-boot-sam460ex/board/ACube/Sam460ex/Sam460ex.c index 4d5b953c02..5ecf16dbe2 100644 |
Michael Tokarev <mjt@tls.msk.ru> | no | 2024-08-03 | ||
openbios-array-bounds.diff | openbios: drivers/usb.c: add pragma -Warray-bounds to work around gcc false positive diff --git a/roms/openbios/drivers/usb.c b/roms/openbios/drivers/usb.c index 88b7580..03f6ebb 100644 |
Michael Tokarev <mjt@tls.msk.ru> | no | |||
openbios-array-bounds-gcc12.patch | openbios: do not error-out array-bounds warning gcc-12.2 produces an apparently wrong warning for this file: roms/openbios/arch/ppc/qemu/init.c:400:10: error: \ array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} \ [-Werror=array-bounds] 400 | *dsi = 0x48002002; | =====^=========== Turn this particular -Werror back into warning. Gcc is apparently wrong here. index e40385a70b..2e214aa079 100644 |
Michael Tokarev <mjt@tls.msk.ru> | invalid | 2022-09-02 | ||
openbios-use-source_date_epoch-in-makefile.patch | roms/openbios: Use SOURCE_DATE_EPOCH in Makefile. Embedding the build time breaks reproducibility. Instead, use the date specified by the SOURCE_DATE_EPOCH environment variable: https://reproducible-builds.org/docs/source-date-epoch/ This patch relies on features of GNU date, and will need further changes for portability to other systems. |
Vagrant Cascadian <vagrant@reproducible-builds.org> | no | 2020-06-21 | ||
seabios-hppa-use-consistent-date-and-remove-hostname.patch | roms/seabios-hppa: Use consistent date and remove hostname. Two issues break reproducibility; the time and hostname get embedded in the resulting seabios binary. Simply drop the hostname from the embedded version string, as it shouldn't be needed in Debian package builds. Use the SOURCE_DATE_EPOCH environment variable to set the build date rather than the current time: https://reproducible-builds.org/docs/source-date-epoch/ |
Vagrant Cascadian <vagrant@reproducible-builds.org> | no | 2020-06-21 | ||
slof-remove-user-and-host-from-release-version.patch | roms/SLOF/Makefile.gen: Remove user and host from release version. This version string ends up in the slof.bin, leading to reproducibility issues. |
Vagrant Cascadian <vagrant@reproducible-builds.org> | no | 2020-06-22 | ||
slof-ensure-ld-is-called-with-C-locale.patch | slof/Makefile.gen: Ensure ld is called with the C locale. The output of "ld -V" changes based on the environment's locale. |
Vagrant Cascadian <vagrant@reproducible-builds.org> | no | 2020-06-22 | ||
9pfs-fix-regression-regarding-CVE-2023-2861.patch | 9pfs: fix regression regarding CVE-2023-2861 The released fix for this CVE: f6b0de53fb8 ("9pfs: prevent opening special files (CVE-2023-2861)") caused a regression with security_model=passthrough. When handling a 'Tmknod' request there was a side effect that 'Tmknod' request could fail as 9p server was trying to adjust permissions: #6 close_if_special_file (fd=30) at ../hw/9pfs/9p-util.h:140 #7 openat_file (mode=<optimized out>, flags=2228224, name=<optimized out>, dirfd=<optimized out>) at ../hw/9pfs/9p-util.h:181 #8 fchmodat_nofollow (dirfd=dirfd@entry=31, name=name@entry=0x5555577ea6e0 "mysocket", mode=493) at ../hw/9pfs/9p-local.c:360 #9 local_set_cred_passthrough (credp=0x7ffbbc4ace10, name=0x5555577ea6e0 "mysocket", dirfd=31, fs_ctx=0x55555811f528) at ../hw/9pfs/9p-local.c:457 #10 local_mknod (fs_ctx=0x55555811f528, dir_path=<optimized out>, name=0x5555577ea6e0 "mysocket", credp=0x7ffbbc4ace10) at ../hw/9pfs/9p-local.c:702 #11 v9fs_co_mknod (pdu=pdu@entry=0x555558121140, fidp=fidp@entry=0x5555574c46c0, name=name@entry=0x7ffbbc4aced0, uid=1000, gid=1000, dev=<optimized out>, mode=49645, stbuf=0x7ffbbc4acef0) at ../hw/9pfs/cofs.c:205 #12 v9fs_mknod (opaque=0x555558121140) at ../hw/9pfs/9p.c:3711 That's because server was opening the special file to adjust permissions, however it was using O_PATH and it would have not returned the file descriptor to guest. So the call to close_if_special_file() on that branch was incorrect. Let's lift the restriction introduced by f6b0de53fb8 such that it would allow to open special files on host if O_PATH flag is supplied, not only for 9p server's own operations as described above, but also for any client 'Topen' request. It is safe to allow opening special files with O_PATH on host, because O_PATH only allows path based operations on the resulting file descriptor and prevents I/O such as read() and write() on that file descriptor. (cherry picked from commit d06a9d843fb65351e0e4dc42ba0c404f01ea92b3) |
Christian Schoenebeck <qemu_oss@crudebyte.com> | not-needed | upstream, https://gitlab.com/qemu-project/qemu/-/commit/d06a9d843fb65351e0e4dc42ba0c404f01ea92b3 | 2024-12-06 | |
tcg-Reset-free_temps-before-tcg_optimize.patch | tcg: Reset free_temps before tcg_optimize When allocating new temps during tcg_optmize, do not re-use any EBB temps that were used within the TB. We do not have any idea what span of the TB in which the temp was live. Introduce tcg_temp_ebb_reset_freed and use before tcg_optimize, as well as replacing the equivalent in plugin_gen_inject and tcg_func_start. (cherry picked from commit 04e006ab36a8565b92d4e21dd346367fbade7d74) |
Richard Henderson <richard.henderson@linaro.org> | not-needed | upstream, https://gitlab.com/qemu-project/qemu/-/commit/04e006ab36a8565b92d4e21dd346367fbade7d74 | 2024-12-07 | |
tcg-riscv-Fix-StoreStore-barrier-generation.patch | tcg/riscv: Fix StoreStore barrier generation On RISC-V to StoreStore barrier corresponds `fence w, w` not `fence r, r` (cherry picked from commit b438362a142527b97b638b7f0f35ebe11911a8d5) |
Roman Artemev <roman.artemev@syntacore.com> | not-needed | upstream, https://gitlab.com/qemu-project/qemu/-/commit/b438362a142527b97b638b7f0f35ebe11911a8d5 | 2024-12-11 |