qemu-cr16/stubs
Paolo Bonzini 37fb26601d bql: check that the BQL is not dropped within marked sections
The Big QEMU Lock (BQL) is used to provide interior mutability to Rust
code.  While BqlCell performs indivisible accesses, an equivalent of
RefCell will allow the borrower to hold to the interior content for a
long time.  If the BQL is dropped, another thread could come and mutate
the data from C code (Rust code would panic on borrow_mut() instead).
In order to prevent this, add a new BQL primitive that can mark
BQL-atomic sections and aborts if the BQL is dropped within them.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-10 18:49:25 +01:00
..
bdrv-next-monitor-owned.c
blk-commit-all.c
blk-exp-close-all.c meson: Drop the .fa library suffix 2024-07-03 18:41:26 +02:00
blockdev-close-all-bdrv-states.c
change-state-handler.c
cmos.c
cpu-get-clock.c
cpu-synchronize-state.c
cpus-virtual-clock.c sysemu: add set_virtual_time to accel ops 2024-06-24 10:14:34 +01:00
dump.c
error-printf.c
fdset.c monitor: Report errors from monitor_fdset_dup_fd_add 2024-06-21 09:47:21 -03:00
fw_cfg.c
gdbstub.c gdbstub: Introduce GDBFeature structure 2023-10-11 08:46:33 +01:00
get-vm-name.c
graph-lock.c
hotplug-stubs.c hw/core: Move system emulation files to system_ss 2024-04-18 11:17:27 +02:00
icount.c system/replay: Restrict icount to system emulation 2024-01-19 12:28:59 +01:00
io_uring.c
iothread-lock-block.c
iothread-lock.c bql: check that the BQL is not dropped within marked sections 2024-12-10 18:49:25 +01:00
is-daemonized.c
linux-aio.c
meson.build stubs: avoid duplicate symbols in libqemuutil.a 2024-10-30 16:30:56 +01:00
migr-blocker.c migration: per-mode blockers 2023-11-01 16:13:59 +01:00
monitor-core.c stubs: remove obsolete stubs 2024-04-18 11:17:27 +02:00
monitor-internal.c stubs: move monitor_fdsets_cleanup with other fdset stubs 2024-04-18 11:17:27 +02:00
physmem.c
qdev.c stubs: remove obsolete stubs 2024-04-18 11:17:27 +02:00
qemu-timer-notify-cb.c
qmp-command-available.c
qmp-quit.c
qtest.c stubs: remove obsolete stubs 2024-04-18 11:17:27 +02:00
ram-block.c
replay-mode.c stubs: split record/replay stubs further 2024-04-18 11:17:27 +02:00
replay-tools.c
replay.c stubs: split record/replay stubs further 2024-04-18 11:17:27 +02:00
runstate-check.c
sysbus.c
target-get-monitor-def.c
target-monitor-defs.c monitor: remove MonitorDef from typedefs.h 2024-05-03 15:47:48 +02:00
trace-control.c
uuid.c
vm-stop.c
vmstate.c
win32-kbd-hook.c
xen-hw-stub.c hw/xen: Remove unnecessary xen_hvm_inject_msi() stub 2024-03-09 18:51:45 +01:00