Content-Type: text/plain
Up until now, a CFI-enabled build would require slirp to be compiled as
a static library, using the version that is bundled together with QEMU.
This is because slirp registers functions as callbacks for QEMU Timers
and, when using a system-wide shared libslirp, the type information for
the callback is missing. Thus, the timer call produces a false positive
with CFI.
slirp 4.7 introduces a new CFI-friendly timer callback that does not pass
function pointers within libslirp as callbacks for timers. Check the
version number and, if it is new enough, allow using CFI even with a
system libslirp.
Supersedes: <20220412121337.207203-1-pbonzini@redhat.com>
Paolo
v1->v2: check for minimum slirp version (4.1), use config version 1
Paolo Bonzini (5):
slirp: bump submodule past 4.7 release
net: slirp: introduce a wrapper struct for QemuTimer
net: slirp: switch to slirp_new
net: slirp: add support for CFI-friendly timer API
net: slirp: allow CFI with libslirp >= 4.7
meson.build | 33 +++++++++++----------
net/slirp.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++-------
slirp | 2 +-
3 files changed, 93 insertions(+), 27 deletions(-)
--
2.35.1