From nobody Fri May 3 17:07:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1596556804; cv=none; d=zohomail.com; s=zohoarc; b=OaRn7S9/V1Iv9yEHPDaZJUBSgOlnLQbHvDTtcA646eL4u/a4E1diiXL1vSZUfzFslTcxmlylsXQDyAqpMkeMCTtuMhvf4kcmhTMmXLaLVYo9wQJsdv8ajne0dsjH6QfjY7K8VzooCZuquN+3Qk+Xjn5JnuZr+f8ZUbwX6gB99Mc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1596556804; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=4SQq6zFg9mANvt11CPnTRcLIqDG9wpWlphJQJJJ2KEA=; b=R5pq+5hdvL9GL0ppWdnjERvTxnXOJ692rbH5dfXQIBCinLn7tJz2Z66HwOkAvpaWBXHPiykJPuv6Aum6E/0Ruu7+1E5pDGZhjvCyLLL0FV7l+csrIL7vER1PNlYJFJWy9ZrhNaa1/sFQCZrv1eI/OycC4Y9M9vSLp2FqCK4wZWQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1596556804681642.1100703129925; Tue, 4 Aug 2020 09:00:04 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-283-6_Ghk9YvN06NvFGQNHuKfQ-1; Tue, 04 Aug 2020 11:59:58 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2B1A78014D7; Tue, 4 Aug 2020 15:59:53 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E4C4961799; Tue, 4 Aug 2020 15:59:52 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A90AA1809561; Tue, 4 Aug 2020 15:59:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 074Fvf8h023932 for ; Tue, 4 Aug 2020 11:57:41 -0400 Received: by smtp.corp.redhat.com (Postfix) id ADB2271790; Tue, 4 Aug 2020 15:57:41 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.36.110.43]) by smtp.corp.redhat.com (Postfix) with ESMTP id F39E171768; Tue, 4 Aug 2020 15:57:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1596556801; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=4SQq6zFg9mANvt11CPnTRcLIqDG9wpWlphJQJJJ2KEA=; b=aZ+Vv5iMv0wXC5EL9+4HFmDXdGq8slr5EE11Kzrbmsz8ICUFmT7D5oLrMIyYDe3wT/EOBq qSQco+Md5QTLo67o9GBuaGioSMVlhRzAjYy8Ot8OdP/5fCGy5yZ05ov2ac/wPtxtwCLClj KgNkLmaetomejsocRGGn6ELt+giSmnk= X-MC-Unique: 6_Ghk9YvN06NvFGQNHuKfQ-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Subject: [libvirt PATCH] src: add G_GNUC_NO_INLINE annotations for mocked symbols Date: Tue, 4 Aug 2020 16:57:35 +0100 Message-Id: <20200804155735.4100126-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) We should prevent inlining of symbols from the driver .so files that are mocked, as well as those in the main libvirt.so This isn't fixing any currently known problem, just trying to prevent future issues. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: J=C3=A1n Tomko --- scripts/mock-noinline.py | 2 +- src/libxl/libxl_capabilities.h | 2 +- src/qemu/qemu_command.h | 4 ++-- src/qemu/qemu_hotplug.h | 2 +- src/qemu/qemu_interface.h | 2 +- src/qemu/qemu_monitor.h | 2 +- src/qemu/qemu_monitor_json.h | 2 +- src/qemu/qemu_process.h | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/mock-noinline.py b/scripts/mock-noinline.py index a8b7680c11..69cf0b4b99 100644 --- a/scripts/mock-noinline.py +++ b/scripts/mock-noinline.py @@ -59,7 +59,7 @@ def scan_overrides(filename): m =3D re.search(r'''^\w+\s*(?:\*\s*)?(\w+)\(''', line) if m is not None: name =3D m.group(1) - if name.startswith("vir"): + if name.startswith("vir") or name.startswith("qemu") or na= me.startswith("libxl"): mocked[name] =3D "%s:%d" % (filename, lineno) =20 =20 diff --git a/src/libxl/libxl_capabilities.h b/src/libxl/libxl_capabilities.h index 9efb836429..4e8e2bb59b 100644 --- a/src/libxl/libxl_capabilities.h +++ b/src/libxl/libxl_capabilities.h @@ -39,7 +39,7 @@ * by libvirt for Xen, and cannot be used for a persistent network name. = */ #define LIBXL_GENERATED_PREFIX_XEN "vif" =20 -bool libxlCapsHasPVUSB(void); +bool libxlCapsHasPVUSB(void) G_GNUC_NO_INLINE; =20 virCapsPtr libxlMakeCapabilities(libxl_ctx *ctx); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index b579817b44..89d99b111f 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -82,7 +82,7 @@ int qemuBuildTLSx509BackendProps(const char *tlspath, =20 /* Open a UNIX socket for chardev FD passing */ int -qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev); +qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev) G_GNUC_NO_I= NLINE; =20 /* Generate '-device' string for chardev device */ int @@ -254,4 +254,4 @@ qemuBuildTPMOpenBackendFDs(const char *tpmdev, int *tpmfd, int *cancelfd) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) - ATTRIBUTE_NONNULL(4); + ATTRIBUTE_NONNULL(4) G_GNUC_NO_INLINE; diff --git a/src/qemu/qemu_hotplug.h b/src/qemu/qemu_hotplug.h index 4a49e04a15..6287c5b5e8 100644 --- a/src/qemu/qemu_hotplug.h +++ b/src/qemu/qemu_hotplug.h @@ -151,7 +151,7 @@ int qemuDomainSetVcpuInternal(virQEMUDriverPtr driver, virBitmapPtr vcpus, bool state); =20 -unsigned long long qemuDomainGetUnplugTimeout(virDomainObjPtr vm); +unsigned long long qemuDomainGetUnplugTimeout(virDomainObjPtr vm) G_GNUC_N= O_INLINE; =20 int qemuHotplugAttachDBusVMState(virQEMUDriverPtr driver, virDomainObjPtr vm, diff --git a/src/qemu/qemu_interface.h b/src/qemu/qemu_interface.h index 0464b903d7..3dcefc6a12 100644 --- a/src/qemu/qemu_interface.h +++ b/src/qemu/qemu_interface.h @@ -54,7 +54,7 @@ int qemuInterfaceBridgeConnect(virDomainDefPtr def, int qemuInterfaceOpenVhostNet(virDomainDefPtr def, virDomainNetDefPtr net, int *vhostfd, - size_t *vhostfdSize); + size_t *vhostfdSize) G_GNUC_NO_INLINE; =20 qemuSlirpPtr qemuInterfacePrepareSlirp(virQEMUDriverPtr driver, virDomainNetDefPtr net); diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 1c1b0c9b89..d20a15c202 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -408,7 +408,7 @@ int qemuMonitorSetLink(qemuMonitorPtr mon, /* These APIs are for use by the internal Text/JSON monitor impl code only= */ char *qemuMonitorNextCommandID(qemuMonitorPtr mon); int qemuMonitorSend(qemuMonitorPtr mon, - qemuMonitorMessagePtr msg); + qemuMonitorMessagePtr msg) G_GNUC_NO_INLINE; virJSONValuePtr qemuMonitorGetOptions(qemuMonitorPtr mon) ATTRIBUTE_NONNULL(1); void qemuMonitorSetOptions(qemuMonitorPtr mon, virJSONValuePtr options) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 84fea25983..098ab857be 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -30,7 +30,7 @@ =20 int qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon, const char *line, - qemuMonitorMessagePtr msg); + qemuMonitorMessagePtr msg) G_GNUC_NO_INLI= NE; =20 int qemuMonitorJSONIOProcess(qemuMonitorPtr mon, const char *data, diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index 125508f9fe..dbd989c321 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -203,9 +203,9 @@ int qemuProcessRefreshDisks(virQEMUDriverPtr driver, virDomainObjPtr vm, qemuDomainAsyncJob asyncJob); =20 -int qemuProcessStartManagedPRDaemon(virDomainObjPtr vm); +int qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) G_GNUC_NO_INLINE; =20 -void qemuProcessKillManagedPRDaemon(virDomainObjPtr vm); +void qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) G_GNUC_NO_INLINE; =20 typedef struct _qemuProcessQMP qemuProcessQMP; typedef qemuProcessQMP *qemuProcessQMPPtr; --=20 2.26.2