Philippe Mathieu-Daudé
1dfd42c426
hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper
...
The whole RDMA subsystem was deprecated in commit e9a54265f5
("hw/rdma: Deprecate the pvrdma device and the rdma subsystem")
released in v8.2.
Remove:
- PVRDMA device
- generated vmw_pvrdma/ directory from linux-headers
- rdmacm-mux tool from contrib/
Cc: Yuval Shaia <yuval.shaia.ml@gmail.com >
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Message-Id: <20240328130255.52257-2-philmd@linaro.org >
2024-04-24 16:03:38 +02:00
Yao Xingtao
d5866a7a4e
contrib/plugins/execlog: Fix compiler warning
...
1. The g_pattern_match_string() is deprecated when glib2 version >= 2.70.
Use g_pattern_spec_match_string() instead to avoid this problem.
2. The type of second parameter in g_ptr_array_add() is
'gpointer' {aka 'void *'}, but the type of reg->name is 'const char*'.
Cast the type of reg->name to 'gpointer' to avoid this problem.
compiler warning message:
contrib/plugins/execlog.c:330:17: warning: ‘g_pattern_match_string’
is deprecated: Use 'g_pattern_spec_match_string' instead [-Wdeprecated-declarations]
330 | if (g_pattern_match_string(pat, rd->name) ||
| ^~
In file included from /usr/include/glib-2.0/glib.h:67,
from contrib/plugins/execlog.c:9:
/usr/include/glib-2.0/glib/gpattern.h:57:15: note: declared here
57 | gboolean g_pattern_match_string (GPatternSpec *pspec,
| ^~~~~~~~~~~~~~~~~~~~~~
contrib/plugins/execlog.c:331:21: warning: ‘g_pattern_match_string’
is deprecated: Use 'g_pattern_spec_match_string' instead [-Wdeprecated-declarations]
331 | g_pattern_match_string(pat, rd_lower)) {
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gpattern.h:57:15: note: declared here
57 | gboolean g_pattern_match_string (GPatternSpec *pspec,
| ^~~~~~~~~~~~~~~~~~~~~~
contrib/plugins/execlog.c:339:63: warning: passing argument 2 of
‘g_ptr_array_add’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
339 | g_ptr_array_add(all_reg_names, reg->name);
| ~~~^~~~~~
In file included from /usr/include/glib-2.0/glib.h:33:
/usr/include/glib-2.0/glib/garray.h:198:62: note: expected
‘gpointer’ {aka ‘void *’} but argument is of type ‘const char *’
198 | gpointer data);
| ~~~~~~~~~~~~~~~~~~^~~~
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2210
Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com >
Message-ID: <20240326015257.21516-1-yaoxt.fnst@fujitsu.com >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2024-03-26 14:32:51 +01:00
Paolo Bonzini
732810235f
tests/plugins: fix use-after-free bug
...
rec->count.score is inside rec, which is freed before rec->count.score is.
Reorder the instructions
Reported by Coverity as CID 1539967.
Cc: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2024-03-20 09:47:16 +01:00
Akihiko Odaki
98d16e5f72
contrib/elf2dmp: Ensure phdrs fit in file
...
Callers of elf64_getphdr() and elf_getphdrnum() assume phdrs are
accessible.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2202
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20240307-elf2dmp-v4-19-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:27 +00:00
Akihiko Odaki
9de37c2883
contrib/elf2dmp: Clamp QEMU note to file size
...
This fixes crashes with truncated dumps.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-18-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:27 +00:00
Akihiko Odaki
0c94e32dff
contrib/elf2dmp: Use GPtrArray
...
This removes the need to enumarate QEMUCPUState twice and saves code.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-17-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:27 +00:00
Akihiko Odaki
f024f5031e
contrib/elf2dmp: Use rol64() to decode
...
rol64() is roubust against too large shift values and fixes UBSan
warnings.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-id: 20240307-elf2dmp-v4-14-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
2aa501af35
contrib/elf2dmp: Use lduw_le_p() to read PDB
...
The relevant value may be unaligned and is little-endian.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-id: 20240307-elf2dmp-v4-13-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
667909478b
contrib/elf2dmp: Ensure segment fits in file
...
This makes elf2dmp more robust against corrupted inputs.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-12-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
2aa205f7c6
contrib/elf2dmp: Always destroy PA space
...
Destroy PA space even if paging base couldn't be found, fixing memory
leak.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-11-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
a6a62ef575
contrib/elf2dmp: Always check for PA resolution failure
...
Not checking PA resolution failure can result in NULL deference.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-10-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
fbc3d7d2f1
contrib/elf2dmp: Fix error reporting style in main.c
...
include/qapi/error.h says:
> We recommend
> * bool-valued functions return true on success / false on failure,
> ...
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20240307-elf2dmp-v4-9-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
49760ccf86
contrib/elf2dmp: Fix error reporting style in qemu_elf.c
...
include/qapi/error.h says:
> We recommend
> * bool-valued functions return true on success / false on failure,
> ...
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20240307-elf2dmp-v4-8-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
b1250455c7
contrib/elf2dmp: Fix error reporting style in pdb.c
...
include/qapi/error.h says:
> We recommend
> * bool-valued functions return true on success / false on failure,
> ...
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20240307-elf2dmp-v4-7-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
1b806c36bc
contrib/elf2dmp: Fix error reporting style in download.c
...
include/qapi/error.h says:
> We recommend
> * bool-valued functions return true on success / false on failure,
> ...
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20240307-elf2dmp-v4-6-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
a15f974949
contrib/elf2dmp: Fix error reporting style in addrspace.c
...
include/qapi/error.h says:
> We recommend
> * bool-valued functions return true on success / false on failure,
> ...
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-id: 20240307-elf2dmp-v4-5-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
262a0ff880
contrib/elf2dmp: Change pa_space_create() signature
...
pa_space_create() used to return an integer to propagate error, but
it never fails so let it return void.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-id: 20240307-elf2dmp-v4-4-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
87157ef350
contrib/elf2dmp: Continue even contexts are lacking
...
Let fill_context() continue even if it fails to fill contexts of some
CPUs. A dump may still contain valuable information even if it lacks
contexts of some CPUs due to dump corruption or a failure before
starting CPUs.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-3-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
a4e58de146
contrib/elf2dmp: Assume error by default
...
A common construct in contrib/elf2dmp is to set "err" flag and goto
in error paths. In such a construct, there is only one successful path
while there are several error paths, so it will be more simpler to
initialize "err" flag set, and clear it in the successful path.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-2-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Akihiko Odaki
b48139d0d9
contrib/elf2dmp: Remove unnecessary err flags
...
They are always evaluated to 1.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu >
Message-id: 20240307-elf2dmp-v4-1-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2024-03-11 17:06:06 +00:00
Pierrick Bouvier
c125a8ab04
contrib/plugins/howvec: migrate to new per_vcpu API
...
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240304130036.124418-11-pierrick.bouvier@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240305121005.3528075-24-alex.bennee@linaro.org >
2024-03-06 12:35:44 +00:00
Pierrick Bouvier
2d0d551442
contrib/plugins/hotblocks: migrate to new per_vcpu API
...
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240304130036.124418-10-pierrick.bouvier@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240305121005.3528075-23-alex.bennee@linaro.org >
2024-03-06 12:35:38 +00:00
Alex Bennée
af6e4e0a22
contrib/plugins: extend execlog to track register changes
...
With the new plugin register API we can now track changes to register
values. Currently the implementation is fairly dumb which will slow
down if a large number of register values are being tracked. This
could be improved by only instrumenting instructions which mention
registers we are interested in tracking.
Example usage:
./qemu-aarch64 -D plugin.log -d plugin \
-cpu max,sve256=on \
-plugin contrib/plugins/libexeclog.so,reg=sp,reg=z\* \
./tests/tcg/aarch64-linux-user/sha512-sve
will display in the execlog any changes to the stack pointer (sp) and
the SVE Z registers.
As testing registers every instruction will be quite a heavy operation
there is an additional flag which attempts to optimise the register
tracking by only instrumenting instructions which are likely to change
its value. This relies on the QEMU disassembler showing up the register
names in disassembly so is an explicit opt-in.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Cc: Akihiko Odaki <akihiko.odaki@daynix.com >
Based-On: <20231025093128.33116-19-akihiko.odaki@daynix.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240227144335.1196131-27-alex.bennee@linaro.org >
2024-02-28 09:11:42 +00:00
Alex Bennée
9e096a76c7
contrib/plugins: fix imatch
...
We can't directly save the ephemeral imatch from argv as that memory
will get recycled.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240227144335.1196131-26-alex.bennee@linaro.org >
2024-02-28 09:11:42 +00:00
Pierrick Bouvier
926e146eff
plugins: remove previous n_vcpus functions from API
...
This information is already accessible using qemu_info_t during plugin
install.
We will introduce another function (qemu_plugin_num_vcpus) which
represent how many cpus were enabled, by tracking new cpu indexes.
It's a breaking change, so we bump API version.
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20240213094009.150349-2-pierrick.bouvier@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240227144335.1196131-16-alex.bennee@linaro.org >
2024-02-28 09:11:34 +00:00
Dmitry Osipenko
574b64aa67
virtio-gpu: Correct virgl_renderer_resource_get_info() error check
...
virgl_renderer_resource_get_info() returns errno and not -1 on error.
Correct the return-value check.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Message-Id: <20240129073921.446869-1-dmitry.osipenko@collabora.com >
Cc: qemu-stable@nongnu.org
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2024-02-14 06:09:33 -05:00
Paolo Bonzini
d0cda6f461
configure, meson: rename targetos to host_os
...
This variable is about the host OS, not the target. It is used a lot
more since the Meson conversion, but the original sin dates back to 2003.
Time to fix it.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-12-31 09:11:29 +01:00
Greg Manning
4789f9d3a1
plugins: fix win plugin tests on cross compile
...
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1972
Cross compile gcc is more picky about argument order than msys. Changed
the meson command to take the (now renamed) libqemu_plugin_api.a as a
lib, rather than an object. This puts it in the right place on both
native and cross compile gcc commands
Reenable plugins on crossbuilds
Signed-off-by: Greg Manning <gmanning@rapitasystems.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20231109124326.21106-2-gmanning@rapitasystems.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231120150833.2552739-5-alex.bennee@linaro.org >
2023-11-23 14:10:04 +00:00
Michael Tokarev
1a9c9a6f8a
contrib/vhost-user-gpu/virgl.c: spelling fix: mesage
...
Fixes: e3c82fe04f
"contrib/vhost-user-gpu: add support for sending dmabuf modifiers"
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
2023-11-15 11:59:54 +03:00
Alex Bennée
8df113d979
contrib/gitdm: add Daynix to domain-map
...
Daynix describes itself as a cloud technology company so I assume
employee contributions should count as such.
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231106185112.2755262-21-alex.bennee@linaro.org >
2023-11-08 15:15:23 +00:00
Alex Bennée
e14e0f293d
contrib/gitdm: map HiSilicon to Huawei
...
HiSilicon is a wholly owned subsidiary of Huawei so map the domain to
the same company to avoid splitting the contributions.
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231106185112.2755262-20-alex.bennee@linaro.org >
2023-11-08 15:15:23 +00:00
luzhipeng
567fa02988
contrib/gitdm: add domain-map for Cestc
...
Signed-off-by: luzhipeng <luzhipeng@cestc.cn >
Message-Id: <20230628072236.1925-1-luzhipeng@cestc.cn >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231106185112.2755262-19-alex.bennee@linaro.org >
2023-11-08 15:15:23 +00:00
Alex Bennée
56953a596c
contrib/gitdm: Add Rivos Inc to the domain map
...
Whatever they are up to a number of people for the company are
contributing to QEMU so lets group them together.
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com >
Acked-by: Palmer Dabbelt <palmer@rivosinc.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231106185112.2755262-18-alex.bennee@linaro.org >
2023-11-08 15:15:23 +00:00
Greg Manning
d5f207ea47
plugins: disable lockstep plugin on windows
...
The lockstep plugin uses unix sockets and would require a different
communication mechanism to work on Windows.
Signed-off-by: Greg Manning <gmanning@rapitasystems.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231102172053.17692-4-gmanning@rapitasystems.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231106185112.2755262-16-alex.bennee@linaro.org >
2023-11-08 15:15:23 +00:00
Greg Manning
330fe3b03f
plugins: make test/example plugins work on windows
...
Generate a qemu_plugin_api.lib delay import lib on windows, for
windows qemu plugins to link against.
Implement an example dll load fail hook to link up the API functions
correctly when a plugin is loaded on windows.
Update the build scripts for the test and example plugins to use these
things.
Signed-off-by: Greg Manning <gmanning@rapitasystems.com >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231102172053.17692-3-gmanning@rapitasystems.com >
[AJB: use find_program for dlltool, s/Windows/windows/]
Cc: Paolo Bonzini <pbonzini@redhat.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231106185112.2755262-15-alex.bennee@linaro.org >
2023-11-08 15:15:23 +00:00
Cong Liu
7f45276269
contrib/plugins: Close file descriptor on error return
...
This patch closes the file descriptor fd on error return to avoid
resource leak.
Fixes: ec7ee95db9
("contrib/plugins: fix coverity warning in lockstep")
Signed-off-by: Cong Liu <liucong2@kylinos.cn >
Message-Id: <20231018025225.1640122-1-liucong2@kylinos.cn >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231029145033.592566-20-alex.bennee@linaro.org >
2023-10-31 14:10:21 +00:00
Suraj Shirvankar
2a052b4ee0
contrib/elf2dmp: Use g_malloc(), g_new() and g_free()
...
QEMU coding style uses the glib memory allocation APIs, not
the raw libc malloc/free. Switch the allocation and free
calls in elf2dmp to use these functions (dropping the now-unneeded
checks for failure).
Signed-off-by: Suraj Shirvankar <surajshirvankar@gmail.com >
Message-id: 169753938460.23804.11418813007617535750-1@git.sr.ht
[PMM: also remove NULL checks from g_malloc() calls;
beef up commit message]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-19 14:32:13 +01:00
Viktor Prutyanov
9d9c06b144
elf2dmp: check array bounds in pdb_get_file_size
...
Index in file_size array must be checked against num_files, because the
entries we are looking for may be absent in the PDB.
Fixes: Coverity CID 1521597
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-id: 20230930235317.11469-3-viktor@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-19 14:32:12 +01:00
Viktor Prutyanov
8b01683e85
elf2dmp: limit print length for sign_rsds
...
String sign_rsds isn't terminated, so the print length must be limited.
Fixes: Coverity CID 1521598
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-id: 20230930235317.11469-2-viktor@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-19 14:32:12 +01:00
Thomas Huth
cc46a7ef3b
contrib/vhost-user-gpu: Fix compiler warning when compiling with -Wshadow
...
Rename some variables to avoid compiler warnings when compiling
with -Wshadow=local.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20231009083726.30301-1-thuth@redhat.com >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
2023-10-12 16:37:16 +02:00
Alex Bennée
5b982f3bde
contrib/plugins: fix coverity warning in hotblocks
...
Coverity complains that we have an unbalance use of mutex leading to
potential deadlocks.
Fixes: CID 1519048
Fixes: a208ba09bd
("tests/plugin: add a hotblocks plugin")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231009164104.369749-26-alex.bennee@linaro.org >
2023-10-11 08:46:39 +01:00
Alex Bennée
ec7ee95db9
contrib/plugins: fix coverity warning in lockstep
...
Coverity complains that e don't check for a truncation when copying in
the path. Bail if we can't copy the whole path into sockaddr.
Fixes: CID 1519045
Fixes: CID 1519046
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231009164104.369749-25-alex.bennee@linaro.org >
2023-10-11 08:46:39 +01:00
Alex Bennée
60cb16c0d8
contrib/plugins: fix coverity warning in cache
...
Coverity complains that appends_stats_line can be fed a 0 leading
to the undefined behaviour of a divide by 0.
Fixes: CID 1519044
Fixes: CID 1519047
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231009164104.369749-24-alex.bennee@linaro.org >
2023-10-11 08:46:39 +01:00
Akihiko Odaki
1063693e1c
contrib/plugins: Use GRWLock in execlog
...
execlog had the following comment:
> As we could have multiple threads trying to do this we need to
> serialise the expansion under a lock. Threads accessing already
> created entries can continue without issue even if the ptr array
> gets reallocated during resize.
However, when the ptr array gets reallocated, the other threads may have
a stale reference to the old buffer. This results in use-after-free.
Use GRWLock to properly fix this issue.
Fixes: 3d7caf145e
("contrib/plugins: add execlog to log instruction execution and memory access")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20230912224107.29669-5-akihiko.odaki@daynix.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231009164104.369749-12-alex.bennee@linaro.org >
2023-10-11 08:46:33 +01:00
Viktor Prutyanov
231f6a7d66
elf2dmp: rework PDB_STREAM_INDEXES::segments obtaining
...
PDB for Windows 11 kernel has slightly different structure compared to
previous versions. Since elf2dmp don't use the other fields, copy only
'segments' field from PDB_STREAM_INDEXES.
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-id: 20230915170153.10959-6-viktor@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-09-21 16:13:54 +01:00
Viktor Prutyanov
df7a75564e
elf2dmp: use Linux mmap with MAP_NORESERVE when possible
...
Glib's g_mapped_file_new maps file with PROT_READ|PROT_WRITE and
MAP_PRIVATE. This leads to premature physical memory allocation of dump
file size on Linux hosts and may fail. On Linux, mapping the file with
MAP_NORESERVE limits the allocation by available memory.
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-id: 20230915170153.10959-5-viktor@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-09-21 16:13:54 +01:00
Viktor Prutyanov
9b7dcd8ff4
elf2dmp: introduce merging of physical memory runs
...
DMP supports 42 physical memory runs at most. So, merge adjacent
physical memory ranges from QEMU ELF when possible to minimize total
number of runs.
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-id: 20230915170153.10959-4-viktor@daynix.com
[PMM: fixed format string for printing size_t values]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-09-21 16:07:15 +01:00
Viktor Prutyanov
d5c27a53d5
elf2dmp: introduce physical block alignment
...
Physical memory ranges may not be aligned to page size in QEMU ELF, but
DMP can only contain page-aligned runs. So, align them.
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-id: 20230915170153.10959-3-viktor@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-09-21 16:07:15 +01:00
Viktor Prutyanov
3c407ec67f
elf2dmp: replace PE export name check with PDB name check
...
PE export name check introduced in d399d6b179
isn't reliable enough,
because a page with the export directory may be not present for some
reason. On the other hand, elf2dmp retrieves the PDB name in any case.
It can be also used to check that a PE image is the kernel image. So,
check PDB name when searching for Windows kernel image.
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2165917
Signed-off-by: Viktor Prutyanov <viktor@daynix.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-id: 20230915170153.10959-2-viktor@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-09-21 16:07:14 +01:00
Erico Nunes
e3c82fe04f
contrib/vhost-user-gpu: add support for sending dmabuf modifiers
...
virglrenderer recently added virgl_renderer_resource_get_info_ext as a
new api, which gets resource information, including dmabuf modifiers.
We have to support dmabuf modifiers since the driver may choose to
allocate buffers with these modifiers for efficiency, and importing
buffers without modifiers information may result in completely broken
rendering.
Signed-off-by: Erico Nunes <ernunes@redhat.com >
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Sergio Lopez <slp@redhat.com >
Message-Id: <20230714153900.475857-3-ernunes@redhat.com >
2023-09-12 10:37:01 +04:00