qemu/util
Ilya Leoshkevich fccb744f41 gdbstub: Try unlinking the unix socket before binding
In case an emulated process execve()s another emulated process, bind()
will fail, because the socket already exists. So try deleting it. Use
the existing unix_listen() function which does this. Link qemu-user
with qemu-sockets.c and add the monitor_get_fd() stub.

Note that it is not possible to handle this in do_execv(): deleting
gdbserver_user_state.socket_path before safe_execve() is not correct,
because the latter may fail, and afterwards we may lose control.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20250117001542.8290-3-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20250207153112.3939799-12-alex.bennee@linaro.org>
2025-02-10 13:47:58 +00:00
..
aio-posix.c include: Move QemuLockCnt APIs to their own header 2024-10-15 15:16:17 +01:00
aio-posix.h aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
aio-wait.c aio-wait: avoid AioContext lock in aio_wait_bh_oneshot() 2023-05-10 14:15:13 +02:00
aio-win32.c include: Move QemuLockCnt APIs to their own header 2024-10-15 15:16:17 +01:00
aiocb.c block: move AioContext, QEMUTimer, main-loop to libqemuutil 2017-02-21 11:14:07 +00:00
async.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
atomic64.c osdep: Move memalign-related functions to their own header 2022-03-07 13:16:49 +00:00
base64.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
bitmap.c migration: Use non-atomic ops for clear log bitmap 2022-11-21 11:58:10 +01:00
bitops.c replace TABs with spaces 2023-03-20 12:43:50 +01:00
block-helpers.c block: Adjust check_block_size() signature 2024-10-18 15:03:35 +02:00
block-helpers.h block: Adjust check_block_size() signature 2024-10-18 15:03:35 +02:00
buffer.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
bufferiszero.c util/bufferiszero: Split out host include files 2024-06-19 12:47:11 -07:00
cacheflush.c util/cacheflush: Avoid possible redundant dcache flush on Darwin 2023-06-13 11:28:58 +02:00
chardev_open.c util/char_dev: Add open_cdev() 2023-12-19 19:03:38 +01:00
compatfd.c util: replace pipe()+cloexec with g_unix_open_pipe() 2022-05-03 15:18:14 +04:00
coroutine-sigaltstack.c osdep: set _FORTIFY_SOURCE=2 when optimization is enabled 2023-10-04 09:52:06 -04:00
coroutine-ucontext.c coroutine-ucontext: Save fake stack for pooled coroutine 2024-01-22 11:00:12 -05:00
coroutine-windows.c build: move coroutine backend selection to meson 2023-05-18 08:53:52 +02:00
cpuinfo-aarch64.c util/cpuinfo: Make use of elf_aux_info(3) on OpenBSD 2024-07-30 07:59:23 +10:00
cpuinfo-i386.c target/i386/hvf: fix handling of XSAVE-related CPUID bits 2024-10-31 18:28:32 +01:00
cpuinfo-loongarch.c util/loongarch64: Detect LASX vector support 2024-06-19 10:55:12 -07:00
cpuinfo-ppc.c util/cpuinfo: Make use of elf_aux_info(3) on OpenBSD 2024-07-30 07:59:23 +10:00
cpuinfo-riscv.c util/cpuinfo-riscv: Detect Zbs 2025-01-16 20:57:17 -08:00
crc-ccitt.c util: Add CRC16 (CCITT) calculation routines 2021-01-24 20:10:54 +01:00
crc32c.c igb: Implement Rx SCTP CSO 2023-05-23 15:20:15 +08:00
cutils.c util/cutils: Remove unused qemu_get_exec_dir 2024-09-20 10:04:34 +03:00
dbus.c util: add dbus helper unit 2020-01-06 18:41:32 +04:00
defer-call.c util/defer-call: move defer_call() to util/ 2023-10-31 15:41:42 +01:00
drm.c util/drm: make portable by avoiding struct dirent d_type 2020-07-13 14:36:10 +01:00
envlist.c envlist: Remove unused envlist_parse 2024-09-20 10:00:27 +03:00
error-report.c Remove glib compatibility code that is not required anymore 2024-05-14 12:46:39 +02:00
error.c util/error: Fix use-after-free errors reported by Coverity 2023-04-06 12:38:42 -04:00
event_notifier-posix.c Replace qemu_pipe() with g_unix_open_pipe() 2022-05-03 15:17:56 +04:00
event_notifier-win32.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
fdmon-epoll.c include: Move QemuLockCnt APIs to their own header 2024-10-15 15:16:17 +01:00
fdmon-io_uring.c remove unnecessary casts from uintptr_t 2024-01-18 10:43:51 +01:00
fdmon-poll.c aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
fifo8.c fifo8: introduce fifo8_peek() function 2024-09-13 20:11:13 +02:00
filemonitor-inotify.c util/filemonitor-inotify.c: spelling fix: kenel 2023-11-15 12:06:05 +03:00
filemonitor-stub.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
getauxval.c util/cpuinfo: Make use of elf_aux_info(3) on OpenBSD 2024-07-30 07:59:23 +10:00
guest-random.c util/guest-random: Clean up global variable shadowing 2023-10-06 13:27:48 +02:00
hbitmap.c qapi/crypto: Rename QCryptoHashAlgorithm to *Algo, and drop prefix 2024-09-10 14:02:16 +02:00
hexdump.c util/hexdump: Inline g_string_append_printf "%02x" 2024-06-05 12:14:20 -07:00
host-utils.c host-utils: Implemented signed 256-by-128 division 2022-06-20 08:38:58 -03:00
id.c net: Use id_generate() in the network subsystem, too 2021-03-09 21:47:45 +01:00
int128.c include/qemu/int128: Use Int128 structure for TCI 2023-02-04 06:19:42 -10:00
interval-tree.c util/interval-tree: Check root for null in interval_tree_iter_first 2023-08-09 09:26:32 -07:00
iov.c util/iov: Introduce iov_send_recv_with_flags() 2024-10-10 12:33:31 +01:00
iova-tree.c util/iova-tree: Remove deadcode 2024-10-08 15:28:55 -04:00
keyval.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
lockcnt.c include: Move QemuLockCnt APIs to their own header 2024-10-15 15:16:17 +01:00
log.c log: Add separate debug option for logging invalid memory accesses 2024-12-20 17:44:55 +01:00
main-loop.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
memalign.c osdep: Move memalign-related functions to their own header 2022-03-07 13:16:49 +00:00
memfd.c physmem: fd-based shared memory 2025-01-29 11:43:04 -03:00
meson.build gdbstub: Try unlinking the unix socket before binding 2025-02-10 13:47:58 +00:00
mmap-alloc.c util/mmap-alloc: qemu_fd_getfs() 2023-04-24 11:29:00 +02:00
module.c module: Prevent crash by resetting local_err in module_load_qom_all() 2024-08-13 16:35:47 +02:00
notify.c notify: pass error to notifier with return 2024-02-28 11:31:28 +08:00
nvdimm-utils.c Clean up includes 2020-12-10 17:16:44 +01:00
osdep.c migration: Add direct-io parameter 2024-06-21 09:47:22 -03:00
oslib-posix.c backends/hostmem-shm: factor out allocation of "anonymous shared memory with an fd" 2025-01-29 11:43:03 -03:00
oslib-win32.c backends/hostmem-shm: factor out allocation of "anonymous shared memory with an fd" 2025-01-29 11:43:03 -03:00
path.c util/path: Do not cache all filenames at startup 2019-06-24 22:19:30 +02:00
qdist.c util: spelling fixes 2023-08-31 19:47:43 +02:00
qemu-co-shared-resource.c util/co-shared-resource: Remove unused co_try_get_from_shres 2024-09-30 10:53:18 +03:00
qemu-co-timeout.c util: add qemu-co-timeout 2022-06-29 10:56:12 +03:00
qemu-config.c util/qemu-config: Extract QMP commands to qemu-config-qmp.c 2024-04-18 11:17:27 +02:00
qemu-coroutine-io.c aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
qemu-coroutine-lock.c atomics: eliminate mb_read/mb_set 2023-06-06 09:42:14 +02:00
qemu-coroutine-sleep.c coroutine: Clean up superfluous inclusion of qemu/coroutine.h 2023-01-19 10:18:28 +01:00
qemu-coroutine.c util/coroutine: fix -Werror=maybe-uninitialized false-positive 2024-10-02 16:14:29 +04:00
qemu-option.c qapi: Inline and remove QERR_INVALID_PARAMETER definition 2024-04-24 09:50:58 +02:00
qemu-print.c monitor: Use getter/setter functions for cur_mon 2020-10-09 07:08:19 +02:00
qemu-progress.c include: move progress API to qemu-progress.h 2022-04-06 14:31:43 +02:00
qemu-sockets.c util: don't set SO_REUSEADDR on client sockets 2024-10-22 11:44:23 +01:00
qemu-thread-common.h Clean up includes 2018-12-20 10:29:08 +01:00
qemu-thread-posix.c include: Include missing 'qemu/clang-tsa.h' header 2024-12-20 17:44:57 +01:00
qemu-thread-win32.c qemu-thread-win32: cleanup, fix, document QemuEvent 2023-03-07 12:38:40 +01:00
qemu-timer-common.c semihosting: Implement SYS_ELAPSED and SYS_TICKFREQ 2021-01-18 10:05:06 +00:00
qemu-timer.c Revert "util/timer: avoid deadlock when shutting down" 2025-02-10 13:47:58 +00:00
qht.c util/qht: use striped locks under TSAN 2023-02-02 11:48:20 +00:00
qsp.c system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
qtree.c tcg: use QTree instead of GTree 2023-03-28 15:23:10 -07:00
range.c util/range.c: spelling fix: inbetween 2023-11-15 12:06:05 +03:00
rcu.c Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
readline.c util/readline: Add C-u shortcut 2024-06-19 12:42:03 +02:00
reserved-region.c util/reserved-region: Add new ReservedRegion helpers 2023-11-03 09:20:31 +01:00
selfmap.c util/selfmap: Use dev_t and ino_t in MapInfo 2023-09-01 13:34:03 -07:00
stats64.c stat64: Add stat64_set() operation 2023-04-27 16:39:43 +02:00
sys_membarrier.c sys_membarrier: fix up include directives 2018-04-05 14:37:38 +02:00
systemd.c systemd: Also clear LISTEN_FDNAMES during systemd socket activation 2023-05-03 14:00:08 -05:00
thread-context.c qapi: Use returned bool to check for failure (again) 2022-12-14 16:19:35 +01:00
thread-pool.c virtio: use defer_call() in virtio_irqfd_notify() 2023-10-31 15:42:14 +01:00
throttle.c throttle: use THROTTLE_MAX/ARRAY_SIZE for hard code 2023-08-29 10:49:24 +02:00
timed-average.c license: Simplify GPL-2.0-or-later license descriptions 2024-09-20 10:11:59 +03:00
trace-events console/win32: allocate shareable display surface 2023-06-27 17:08:56 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
transactions.c transactions: Invoke clean() after everything else 2021-11-16 09:43:44 +01:00
unicode.c json: Reject invalid UTF-8 sequences 2018-08-24 20:26:37 +02:00
userfaultfd.c util/userfaultfd: Remove unused uffd_poll_events 2024-10-08 15:28:55 -04:00
uuid.c util/uuid: Add UUID_STR_LEN definition 2023-11-03 09:20:31 +01:00
vfio-helpers.c util/vfio-helpers: Use g_file_read_link() 2023-05-24 09:21:22 +02:00
vhost-user-server.c vhost-user-server: do not set memory fd non-blocking 2024-07-02 09:27:56 -04:00
yank.c qapi: Fix dangling references to docs/devel/qapi-code-gen.txt 2024-01-26 07:04:53 +01:00