Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 923976dfe367b0bfed45ff660c369f3fe65604a7
      
https://github.com/qemu/qemu/commit/923976dfe367b0bfed45ff660c369f3fe65604a7
  Author: Helge Deller <del...@gmx.de>
  Date:   2025-05-17 (Sat, 17 May 2025)

  Changed paths:
    M target/hppa/int_helper.c

  Log Message:
  -----------
  target/hppa: Copy instruction code into fr1 on FPU assist fault

The hardware stores the instruction code in the lower bits of the FP
exception register #1 on FP assist traps.
This fixes the FP exception handler on Linux, as the Linux kernel uses
the value to decide on the correct signal which should be pushed into
userspace (see decode_fpu() in Linux kernel).

Signed-off-by: Helge Deller <del...@gmx.de>


  Commit: b4b49cf39dba5f993ad925f204cb820aacfc8e45
      
https://github.com/qemu/qemu/commit/b4b49cf39dba5f993ad925f204cb820aacfc8e45
  Author: Helge Deller <del...@gmx.de>
  Date:   2025-05-17 (Sat, 17 May 2025)

  Changed paths:
    M linux-user/hppa/cpu_loop.c

  Log Message:
  -----------
  linux-user/hppa: Send proper si_code on SIGFPE exception

Improve the linux-user emulation to send the correct si_code depending
on overflow (TARGET_FPE_FLTOVF), underflow (TARGET_FPE_FLTUND), ...
Note that the hardware stores the relevant flags in FP exception
register #1, which is actually the lower 32-bits of the 64-bit fr[0]
register in qemu.

Signed-off-by: Helge Deller <del...@gmx.de>


  Commit: ebd394948de4e868cb8fc5b265a8a18f0935dce1
      
https://github.com/qemu/qemu/commit/ebd394948de4e868cb8fc5b265a8a18f0935dce1
  Author: Helge Deller <del...@gmx.de>
  Date:   2025-05-17 (Sat, 17 May 2025)

  Changed paths:
    M target/hppa/fpu_helper.c

  Log Message:
  -----------
  target/hppa: Fix FPE exceptions

Implement FP exception register #1 (lower 32-bits of 64-bit fr[0]).
A proper implementation is necessary to allow the Linux kernel in
system mode and the qemu linux-user to send proper si_code values
on SIGFPE signal.

Always set the T-bit on taken exception, and merge over- and underflow
in system mode to just set overflow bit to mimic the behaviour I tested
on a physical machine.

The test program below can be used to verify correct behaviour. Note
that behaviour on SIGFPE may vary on different platforms. The program
should always detect the correct signal, but it may or may not be able
to sucessfully continue afterwards.

 #define _GNU_SOURCE
 #include <signal.h>
 #include <stdio.h>
 #include <fenv.h>
 #include <float.h>

 static void fpe_func(int sig, siginfo_t *i, void *v) {
    sigset_t set;
    sigemptyset(&set);
    sigaddset(&set, SIGFPE);
    sigprocmask(SIG_UNBLOCK, &set, NULL);
    printf("GOT signal %d with si_code %ld\n", sig, i->si_code);
 }

 int main(int argc, char *argv[]) {
    struct sigaction action = {
        .sa_sigaction = fpe_func,
        .sa_flags = SA_RESTART|SA_SIGINFO };
    sigaction(SIGFPE, &action, 0);
    feenableexcept(FE_OVERFLOW | FE_UNDERFLOW);
    double x = DBL_MIN;
    return printf("%lf\n", argc > 1
        ? 1.7976931348623158E308*1.7976931348623158E308
        : x / 10);
 }

Signed-off-by: Helge Deller <del...@gmx.de>


  Commit: 7ed96710e82c385c6cfc3d064eec7dde20f0f3fd
      
https://github.com/qemu/qemu/commit/7ed96710e82c385c6cfc3d064eec7dde20f0f3fd
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M ui/vnc-enc-tight.c
    M ui/vnc-enc-zrle.c
    M ui/vnc-jobs.c
    M ui/vnc.c
    M ui/vnc.h

  Log Message:
  -----------
  ui/vnc.c: replace big endian flag with byte order value

It will make it easier to do certain comparisons in future if we
store G_BIG_ENDIAN/G_LITTLE_ENDIAN directly, instead of a boolean
flag, as we can then compare directly to the G_BYTE_ORDER constant.

Reviewed-by: BALATON Zoltan <bala...@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 70097442853c389a765c9f6502d861d182b092ae
      
https://github.com/qemu/qemu/commit/70097442853c389a765c9f6502d861d182b092ae
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M include/ui/qemu-pixman.h
    M ui/qemu-pixman.c
    M ui/vnc-enc-tight.c
    M ui/vnc.c

  Log Message:
  -----------
  ui/vnc: take account of client byte order in pixman format

The set_pixel_conversion() method is responsible for determining whether
the VNC client pixel format matches the server format, and thus whether
we can use the fast path "copy" impl for sending pixels, or must use
the generic impl with bit swizzling.

The VNC server format is set at build time to VNC_SERVER_FB_FORMAT,
which corresponds to PIXMAN_x8r8g8b8.

The qemu_pixman_get_format() method is then responsible for converting
the VNC pixel format into a pixman format.

The VNC client pixel shifts are relative to the associated endianness.

The pixman formats are always relative to the host native endianness.

The qemu_pixman_get_format() method does not take into account the
VNC client endianness, and is thus returning a pixman format that is
only valid with the host endianness matches that of the VNC client.

This has been broken since pixman was introduced to the VNC server:

  commit 9f64916da20eea67121d544698676295bbb105a7
  Author: Gerd Hoffmann <kra...@redhat.com>
  Date:   Wed Oct 10 13:29:43 2012 +0200

    pixman/vnc: use pixman images in vnc.

The flaw can be demonstrated using the Tigervnc client by using

   vncviewer -AutoSelect=0 -PreferredEncoding=raw server:display

connecting from a LE client to a QEMU on a BE server, or the
reverse.

The bug was masked, however, because almost all VNC clients will
advertize support for the "tight" encoding and the QEMU VNC server
will prefer "tight" if advertized.

The tight_pack24 method is responsible for taking a set of pixels
which have already been converted into client endianness and then
repacking them into the TPIXEL format which the RFB spec defines
as

  "TPIXEL is only 3 bytes long, where the first byte is the
   red component, the second byte is the green component,
   and the third byte is the blue component of the pixel
   color value"

IOW, the TPIXEL format is fixed on the wire, regardless of what
the VNC client declare as its endianness.

Since the VNC pixel encoding code was failing to honour the endian
flag of the client, the tight_pack24 method was always operating
on data in native endianness. Its impl cancelled out the VNC pixel
encoding bug.

With the VNC pixel encoding code now fixed, the tight_pack24 method
needs to take into account that it is operating on data in client
endianness, not native endianness. It thus may need to invert the
pixel shifts.

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 63d320909220a90647c484263ae5e2f26eb54587
      
https://github.com/qemu/qemu/commit/63d320909220a90647c484263ae5e2f26eb54587
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M ui/vnc-enc-tight.c

  Log Message:
  -----------
  ui/vnc: fix tight palette pixel encoding for 8/16-bpp formats

When sending a tight rectangle with the palette filter, if the client
format was 8/16bpp, the colours on big endian hosts are not set as
we're sending the wrong bytes. We must first cast the 32-bit colour
to a 16/8-bit value, and then send the result.

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 212c217f7d540fdbf1df4b65653ad5592073bb8e
      
https://github.com/qemu/qemu/commit/212c217f7d540fdbf1df4b65653ad5592073bb8e
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M tests/unit/test-crypto-secret.c

  Log Message:
  -----------
  tests: skip encrypted secret tests if AES is not available

This avoids test breakage when we drop support for using the
built-in AES impl as a fallback for missing crypto libraries.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 75134a32851e2d9f240097cc7a3bc3426667e147
      
https://github.com/qemu/qemu/commit/75134a32851e2d9f240097cc7a3bc3426667e147
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M tests/unit/test-crypto-block.c

  Log Message:
  -----------
  tests: skip legacy qcow2 encryption test if AES is not available

This avoids test breakage when we drop support for using the
built-in AES impl as a fallback for missing crypto libraries.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 01ce649e5d260d4d1a466d10dfaeabeeb2b7478d
      
https://github.com/qemu/qemu/commit/01ce649e5d260d4d1a466d10dfaeabeeb2b7478d
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M tests/unit/test-crypto-cipher.c

  Log Message:
  -----------
  tests: fix skipping cipher tests when AES is not available

This avoid tests breakage when we drop support for using the
built-in AES impl as a fallback for missing crypto libraries.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 5a56f60d7c2e241bf972b8eca31286cf7f3cd7c1
      
https://github.com/qemu/qemu/commit/5a56f60d7c2e241bf972b8eca31286cf7f3cd7c1
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    R crypto/cipher-builtin.c.inc
    A crypto/cipher-stub.c.inc
    M crypto/cipher.c

  Log Message:
  -----------
  crypto: fully drop built-in cipher provider

When originally creating the internal crypto cipher APIs, they were
wired up to use the built-in D3DES and AES implementations, as a way
to gracefully transition to the new APIs without introducing an
immediate hard dep on any external crypto libraries for the VNC
password auth (D3DES) or the qcow2 encryption (AES).

In the 6.1.0 release we dropped the built-in D3DES impl, and also
the XTS mode for the AES impl, leaving only AES with ECB/CBC modes.
The rational was that with the system emulators, it is expected that
3rd party crypto libraries will be available.

The qcow2 LUKS impl is preferred to the legacy raw AES impl, and by
default that requires AES in XTS mode, limiting the usefulness of
the built-in cipher provider.

The built-in AES impl has known timing attacks and is only suitable
for use cases where a security boundary is already not expected to
be provided (TCG).

Providing a built-in cipher impl thus potentially misleads users,
should they configure a QEMU without any crypto library, and try
to use it with the LUKS backend, even if that requires a non-default
configuration choice.

Complete what we started in 6.1.0 and purge the remaining AES
support.

Use of either gnutls, nettle, or libcrypt is now mandatory for any
cipher support, except for TCG impls.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Alex Bennée <alex.ben...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 66411ab48b3676894903148406db12a446445adc
      
https://github.com/qemu/qemu/commit/66411ab48b3676894903148406db12a446445adc
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  Revert "scripts: mandate that new files have SPDX-License-Identifier"

This reverts commit fa4d79c64dae03ffa269e42e21822453856618b7.

The logic in this commit was flawed in two critical ways

 * It always failed to report SPDX validation on the last newly
   added file. IOW, it only worked if at least 2 new files were
   added in a commit

 * If an existing file change, followed a new file change, in
   the commit and the existing file context/changed lines
   included SPDX-License-Identifier, it would incorrectly
   associate this with the previous newly added file.

Simply reverting this commit will make it significantly easier to
understand the improved logic in the following commit.

Reported-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 619bf37594e362131f12b42888e6a35ddee488e0
      
https://github.com/qemu/qemu/commit/619bf37594e362131f12b42888e6a35ddee488e0
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch.pl: fix various indentation mistakes

Various checks in the code were under-indented relative to other
surrounding code. Some places used 4-space indents instead of
single tab, while other places simply used too few tabs.

Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 25374ba59bce2d8c714283c7bb18b1dc2cc89ebe
      
https://github.com/qemu/qemu/commit/25374ba59bce2d8c714283c7bb18b1dc2cc89ebe
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: introduce tracking of file start/end

Some checks want to be performed either at the start of a new file
within a patch, or at the end. This is complicated by the fact that
the information relevant to the check may be spread across multiple
lines. It is further complicated by a need to support both git and
non-git diffs, and special handling for renames where there might
not be any patch hunks.

To handle this more sanely, introduce explicit tracking of file
start/end, taking account of git metadata, and calling a hook
function at each transition.

Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 9bec5f93e794271b2dc643cdc1c43082af958fac
      
https://github.com/qemu/qemu/commit/9bec5f93e794271b2dc643cdc1c43082af958fac
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: use new hook for ACPI test data check

The ACPI test data check needs to analyse a list of all files in a
commit, so can use the new hook for processing the file list.

Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: f48f16ec3d8cee0a3d843915451c5649fe3a8aaf
      
https://github.com/qemu/qemu/commit/f48f16ec3d8cee0a3d843915451c5649fe3a8aaf
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: use new hook for file permissions check

The file permissions check is the kind of check intended to be performed
in the new start of file hook.

Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 45abbf209f007db90d0a596139f653783cd1cb0f
      
https://github.com/qemu/qemu/commit/45abbf209f007db90d0a596139f653783cd1cb0f
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: expand pattern for matching makefiles

The current regex matches Makefile & Makefile.objs, but the latter is
no longer used, anjd we're missing coverage of Makefile.include and
Makefile.target. Expand the pattern to match any suffix.

Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 1d745e6d96353af20f116672b87ae28b0d07eca9
      
https://github.com/qemu/qemu/commit/1d745e6d96353af20f116672b87ae28b0d07eca9
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: use new hook for MAINTAINERS update check

When seeing a new/deleted/renamed file we check to see if MAINTAINERS
is updated, but we don't give the user a list of files affected, as
we don't want to repeat the same warning many times over.

Using the new file list hook, we can give a single warning at the
end with a list of filenames included.

Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: b36934063c5550a3fcb1b36027fd1a509142e4f9
      
https://github.com/qemu/qemu/commit/b36934063c5550a3fcb1b36027fd1a509142e4f9
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: reimplement mandate for SPDX-License-Identifier

Going forward we want all newly created source files to have an
SPDX-License-Identifier tag present.

Initially mandate this for C, Python, Perl, Shell source files,
as well as JSON (QAPI) and Makefiles, while encouraging users
to consider it for other file types.

The new attempt at detecting missing SPDX-License-Identifier relies
on the hooks for relying triggering logic at the end of scanning a
new file in the diff.

Tested-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 1f59381d6c0126cf0348977caa73ab8f7cfa1269
      
https://github.com/qemu/qemu/commit/1f59381d6c0126cf0348977caa73ab8f7cfa1269
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: reject license boilerplate on new files

The previous commit mandates use of SPDX-License-Identifier on common
source files, and encourages it on all other files.

Some contributors are none the less still also including the license
boilerplate text. This is redundant and will potentially cause
trouble if inconsistent with the SPDX declaration.

Match common boilerplate text blurbs and report them as invalid,
for newly added files.

Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Cédric Le Goater <c...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 0dc051aa85e1bd68d5c5110fa8af69204e6dbd3d
      
https://github.com/qemu/qemu/commit/0dc051aa85e1bd68d5c5110fa8af69204e6dbd3d
  Author: Juraj Marcin <jmar...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M io/dns-resolver.c

  Log Message:
  -----------
  io: Fix partial struct copy in qio_dns_resolver_lookup_sync_inet()

Commit aec21d3175 (qapi: Add InetSocketAddress member keep-alive)
introduces the keep-alive flag, but this flag is not copied together
with other options in qio_dns_resolver_lookup_sync_inet().

This patch fixes this issue and also prevents future ones by copying the
entire structure first and only then overriding a few attributes that
need to be different.

Fixes: aec21d31756c (qapi: Add InetSocketAddress member keep-alive)
Signed-off-by: Juraj Marcin <jmar...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: b8b5278aca78be4a1c2e7cbb11c6be176f63706d
      
https://github.com/qemu/qemu/commit/b8b5278aca78be4a1c2e7cbb11c6be176f63706d
  Author: Juraj Marcin <jmar...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M util/qemu-sockets.c

  Log Message:
  -----------
  util/qemu-sockets: Refactor setting client sockopts into a separate function

This is done in preparation for enabling the SO_KEEPALIVE support for
server sockets and adding settings for more TCP keep-alive socket
options.

Signed-off-by: Juraj Marcin <jmar...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 911e0f2c6e2d00c985affa75ec188c8edcf480f2
      
https://github.com/qemu/qemu/commit/911e0f2c6e2d00c985affa75ec188c8edcf480f2
  Author: Juraj Marcin <jmar...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M util/qemu-sockets.c

  Log Message:
  -----------
  util/qemu-sockets: Refactor success and failure paths in inet_listen_saddr()

To get a listening socket, we need to first create a socket, try binding
it to a certain port, and lastly starting listening to it. Each of these
operations can fail due to various reasons, one of them being that the
requested address/port is already in use. In such case, the function
tries the same process with a new port number.

This patch refactors the port number loop, so the success path is no
longer buried inside the 'if' statements in the middle of the loop. Now,
the success path is not nested and ends at the end of the iteration
after successful socket creation, binding, and listening. In case any of
the operations fails, it either continues to the next iteration (and the
next port) or jumps out of the loop to handle the error and exits the
function.

Signed-off-by: Juraj Marcin <jmar...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 00064705ed1f3943d3634be25da434466c87e7d5
      
https://github.com/qemu/qemu/commit/00064705ed1f3943d3634be25da434466c87e7d5
  Author: Juraj Marcin <jmar...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M qapi/sockets.json
    M util/qemu-sockets.c

  Log Message:
  -----------
  util/qemu-sockets: Add support for keep-alive flag to passive sockets

Commit aec21d3175 (qapi: Add InetSocketAddress member keep-alive)
introduces the keep-alive flag, which enables the SO_KEEPALIVE socket
option, but only on client-side sockets. However, this option is also
useful for server-side sockets, so they can check if a client is still
reachable or drop the connection otherwise.

This patch enables the SO_KEEPALIVE socket option on passive server-side
sockets if the keep-alive flag is enabled. This socket option is then
inherited by active server-side sockets communicating with connected
clients.

Signed-off-by: Juraj Marcin <jmar...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 316e8ee8d614f049bfae697570a5e62af450491c
      
https://github.com/qemu/qemu/commit/316e8ee8d614f049bfae697570a5e62af450491c
  Author: Juraj Marcin <jmar...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M tests/unit/test-util-sockets.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  util/qemu-sockets: Refactor inet_parse() to use QemuOpts

Currently, the inet address parser cannot handle multiple options where
one is prefixed with the name of the other. For example, with the
'keep-alive-idle' option added, the current parser cannot parse
'127.0.0.1:5000,keep-alive-idle=60,keep-alive' correctly. Instead, it
fails with "error parsing 'keep-alive' flag '-idle=60,keep-alive'".

To resolve these issues, this patch rewrites the inet address parsing
using the QemuOpts parser, which the inet_parse_flag() function tries to
mimic. This new parser supports all previously supported options and on
top of that the 'numeric' flag is now also supported. The only
difference is, the new parser produces an error if an unknown option is
passed, instead of silently ignoring it.

Signed-off-by: Juraj Marcin <jmar...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 1bd4237cb1095d71c16afad3ce93b4a1e453173e
      
https://github.com/qemu/qemu/commit/1bd4237cb1095d71c16afad3ce93b4a1e453173e
  Author: Juraj Marcin <jmar...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M meson.build
    M qapi/sockets.json
    M tests/unit/test-util-sockets.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  util/qemu-sockets: Introduce inet socket options controlling TCP keep-alive

With the default TCP stack configuration, it could be even 2 hours
before the connection times out due to the other side not being
reachable. However, in some cases, the application needs to be aware of
a connection issue much sooner.

This is the case, for example, for postcopy live migration. If there is
no traffic from the migration destination guest (server-side) to the
migration source guest (client-side), the destination keeps waiting for
pages indefinitely and does not switch to the postcopy-paused state.
This can happen, for example, if the destination QEMU instance is
started with the '-S' command line option and the machine is not started
yet, or if the machine is idle and produces no new page faults for
not-yet-migrated pages.

This patch introduces new inet socket parameters that control count,
idle period, and interval of TCP keep-alive packets before the
connection is considered broken. These parameters are available on
systems where the respective TCP socket options are defined, that
includes Linux, Windows, macOS, but not OpenBSD. Additionally, macOS
defines TCP_KEEPIDLE as TCP_KEEPALIVE instead, so the patch supplies its
own definition.

The default value for all is 0, which means the system configuration is
used.

Signed-off-by: Juraj Marcin <jmar...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: 81941aa896b718c194f08cebb4303561b64c60b4
      
https://github.com/qemu/qemu/commit/81941aa896b718c194f08cebb4303561b64c60b4
  Author: Daniel P. Berrangé <berra...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch.pl: mandate SPDX tag for Rust src files

Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>


  Commit: bd02070353f84354c03e3d16287e9e80e0875ec1
      
https://github.com/qemu/qemu/commit/bd02070353f84354c03e3d16287e9e80e0875ec1
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M linux-user/hppa/cpu_loop.c
    M target/hppa/fpu_helper.c
    M target/hppa/int_helper.c

  Log Message:
  -----------
  Merge tag 'hppa-fpe-fixup-pull-request' of 
https://github.com/hdeller/qemu-hppa into staging

HPPA floating point exception handling fixes

Fixes and improvements in the floating point exception
handling in the hppa system and user emulation.

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCaC7b/QAKCRD3ErUQojoP
# X8IPAQCZGjG3+iwJJuJkL6dSu7WKWgidX16zIxeRYQl+FXTpkAD9FBQ/nDP+EAFN
# 5hQTeiixyj3xIsZHPeHwfzhWiBUwQAo=
# =Q3zi
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 22 May 2025 04:10:37 EDT
# gpg:                using EDDSA key BCE9123E1AD29F07C049BBDEF712B510A23A0F5F
# gpg: Good signature from "Helge Deller <del...@gmx.de>" [unknown]
# gpg:                 aka "Helge Deller <del...@kernel.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 4544 8228 2CD9 10DB EF3D  25F8 3E5F 3D04 A7A2 4603
#      Subkey fingerprint: BCE9 123E 1AD2 9F07 C049  BBDE F712 B510 A23A 0F5F

* tag 'hppa-fpe-fixup-pull-request' of https://github.com/hdeller/qemu-hppa:
  target/hppa: Fix FPE exceptions
  linux-user/hppa: Send proper si_code on SIGFPE exception
  target/hppa: Copy instruction code into fr1 on FPU assist fault

Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>


  Commit: 4589acc17ae1a8e8c4c530e249353c929850858a
      
https://github.com/qemu/qemu/commit/4589acc17ae1a8e8c4c530e249353c929850858a
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    R crypto/cipher-builtin.c.inc
    A crypto/cipher-stub.c.inc
    M crypto/cipher.c
    M include/ui/qemu-pixman.h
    M io/dns-resolver.c
    M meson.build
    M qapi/sockets.json
    M scripts/checkpatch.pl
    M tests/unit/test-crypto-block.c
    M tests/unit/test-crypto-cipher.c
    M tests/unit/test-crypto-secret.c
    M tests/unit/test-util-sockets.c
    M ui/qemu-pixman.c
    M ui/vnc-enc-tight.c
    M ui/vnc-enc-zrle.c
    M ui/vnc-jobs.c
    M ui/vnc.c
    M ui/vnc.h
    M util/qemu-sockets.c

  Log Message:
  -----------
  Merge tag 'misc-next-pull-request' of https://gitlab.com/berrange/qemu into 
staging

Misc VNC, I/O, Crypto & checkpatch changes

* Fix VNC tight encoding with 8/16-bpp formats with
  mixed endian server/client
* Fix VNC non-tight encoding with mixed endian server/client
* Drop built-in AES impl from non-TCG usage, requiring
  nettle/gcrypt/gnutls
* Fix validation of SPDX-License-Identifier in new files
* Mandate SPDX-License-Identifier in Rust source
* Reject license boilerplate in new files
* Add full control over TCP keep alive setting for sockets

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE2vOm/bJrYpEtDo4/vobrtBUQT98FAmgu/EgACgkQvobrtBUQ
# T994FA/7BLeIHJqsV3/DtPKVqllzG2PJT/n85Owu/h39gqRsqHDssDQFPmgFsnzk
# UcvOSLd7RKQ5/tY5zLPh4JPpnloJ/jpj50hUK42wu8Q4U16PV/yUhQVVjEkVmX+z
# XepbEwgrEVuy4F62NnUJmbaT5PcayyS5FPREbrQ8zPzagMWTSqbR7EQ+PCTUkJdo
# LR4mvxoqWhGnaQzPAGlRtAfRfT6Jg3NaL4sLqLiexuhdloZLHC85SvE1usBg8x+M
# KP2BX1FeIILnN+1CXnZ9/vzUqiFaFLfzGwVMK9QYW0GW2Oo3uCcLloY+llbo6Pq/
# tC8Po8AMIOojnrJm+TeS6V18QBNU5qqyHKGamZrSlBobZRgC7tOSljExoT5mnGrS
# V1nKNAz5FLz7LQ8jZpziPlPqr3WBqBRtV8SxJD+a0vh0/5YnTCbPC0Q6Q2N8cQDh
# Wra9QN10xD60tjsnRT/7Lp7gW/RyjT+uJHQkNxn6PZVbI/6Q1283YpbmVY55vcNe
# De47LPsmc6XnpJSmzmjt+VrWLob67IOo4JcttMrv7xWj08jb1TFUf7M0Mvdu2YBR
# 3C9MAt5sjmL9qHARToXr8RC3SCX9pMTZFYatHGAbRdRDi6ygFW1OQVJvxrOj00kN
# bavXjcDlTfRzgTnVRbqUbqSY0D9LZqSUDRxfQdEBGAzWgMksAuM=
# =X323
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 22 May 2025 06:28:24 EDT
# gpg:                using RSA key DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <d...@berrange.com>" [full]
# gpg:                 aka "Daniel P. Berrange <berra...@redhat.com>" [full]
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* tag 'misc-next-pull-request' of https://gitlab.com/berrange/qemu: (23 commits)
  scripts/checkpatch.pl: mandate SPDX tag for Rust src files
  util/qemu-sockets: Introduce inet socket options controlling TCP keep-alive
  util/qemu-sockets: Refactor inet_parse() to use QemuOpts
  util/qemu-sockets: Add support for keep-alive flag to passive sockets
  util/qemu-sockets: Refactor success and failure paths in inet_listen_saddr()
  util/qemu-sockets: Refactor setting client sockopts into a separate function
  io: Fix partial struct copy in qio_dns_resolver_lookup_sync_inet()
  scripts/checkpatch: reject license boilerplate on new files
  scripts/checkpatch: reimplement mandate for SPDX-License-Identifier
  scripts/checkpatch: use new hook for MAINTAINERS update check
  scripts/checkpatch: expand pattern for matching makefiles
  scripts/checkpatch: use new hook for file permissions check
  scripts/checkpatch: use new hook for ACPI test data check
  scripts/checkpatch: introduce tracking of file start/end
  scripts/checkpatch.pl: fix various indentation mistakes
  Revert "scripts: mandate that new files have SPDX-License-Identifier"
  crypto: fully drop built-in cipher provider
  tests: fix skipping cipher tests when AES is not available
  tests: skip legacy qcow2 encryption test if AES is not available
  tests: skip encrypted secret tests if AES is not available
  ...

Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>


Compare: https://github.com/qemu/qemu/compare/c6e1f60cc73c...4589acc17ae1

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to