From nobody Mon Dec 15 03:23:50 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1520529263478703.9623937123793; Thu, 8 Mar 2018 09:14:23 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ABC499D505; Thu, 8 Mar 2018 17:14:20 +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 5080C18EFA; Thu, 8 Mar 2018 17:14:20 +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 CFC55180215E; Thu, 8 Mar 2018 17:14:05 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w28HE2k7014276 for ; Thu, 8 Mar 2018 12:14:02 -0500 Received: by smtp.corp.redhat.com (Postfix) id 0D70860A97; Thu, 8 Mar 2018 17:14:02 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5C5EC80A8A; Thu, 8 Mar 2018 17:13:53 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0043.outbound.protection.outlook.com [104.47.37.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E291A81E03; Thu, 8 Mar 2018 17:12:40 +0000 (UTC) Received: from wsp141597wss.amd.com (165.204.78.1) by DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Thu, 8 Mar 2018 17:12:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AtXSwImVxR9O69epl2gsbOATDXl6B+vSorbuPriKE8I=; b=InlP1vKJUiz1Itqs+SZR1tFPpERCIkelLhzT9j6kyOa2OiWrHko8oSl7oxI63/6hm0j1oZm4xAuYZAURqHn4lnbIB9MXIroKjhwMKetfldTyNDfqddIUmxZzcfyXWE1DKevas4A0w9Y7YbQD+ExLe+sfpvfin/a1rtQDUNi7NEc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: libvir-list@redhat.com Date: Thu, 8 Mar 2018 11:12:05 -0600 Message-Id: <20180308171208.54369-7-brijesh.singh@amd.com> In-Reply-To: <20180308171208.54369-1-brijesh.singh@amd.com> References: <20180308171208.54369-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR11CA0037.namprd11.prod.outlook.com (2603:10b6:404:4b::23) To DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 8a1e0240-e7f5-49cb-2143-08d58517cb21 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM2PR12MB0156; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 3:jHVKxfzyxWiErDpOiFfUuS4NFGDA1LLNEyrhZRWVLzvH8kVYlmTlffWw4aSFlXb9tzdTn71PyDfY9ydB8dPXYmy3nk04lakdYb4wLyD4LqL13zK7l5R1KyKfCJhtZY5gh5tN+Ovn8VR1hdmszjxtDa+viBK85TZ4/6OQAAxk/vlgJm8dNWxn18lEtDp+bgRwOW0rvV45614v1dbgetdiskLQwK8mQ9qK9C9aq+ag13UhW5aPNgZZCXCuKQxjBaPl; 25:1MCLB2Cgckd135AdIKuW07xevDDXgiYzBtf/BcYCgltQRRSLP4vWO7PliRtuRSGKMKVPcy/vzZtCIAN0QwxUTAgUHc5b80zpA65xSD4mcS5jt055X7xLeoEjWYq36ATeD5LjEYOQ83ctUkyNUqKUPAFKMR3kq+xCHch0J/d6yR7dFW7Tpk7KnESAGd5Snp/+2gNqlwlKu9yBCwct7VgFyDZ+0MeMTRvbqrzuCVr7s4aNp5UsmBnd8vXGJsgf0+3nqYRB7V2HhvkIw3Pa4csjduSxPL/pS29Leycrw3ZUblWW7ckGu9EXk22vbUJjSWDe6tkkaIYYvKmZ5Bo07AH9Iw==; 31:u5Qh389bFqlFSRRA0PjIq1StDMGuYKzKHJp1xBv6aERqQUCOkC6Xx/idspYFo8emRCRNn0ZHkQmJd4+oFMVOkaJh5IG59YfPV7l1jvR7g0YoR78mQkf3iQRrskdnNzBlBNhQCtJGk8eqzNQny36jki8NuytzePpxaC+AJFuDw6WuatDlihV9xAv0qlh+AtHisqc180pS6krFsaUH4Hj/9SJXMtbkseogPf0AA+q74jo= X-MS-TrafficTypeDiagnostic: DM2PR12MB0156: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:VoR67eRbeRQ2a2DPPXWv1v8hK5EIPzjeqvyz8QAJJjT0aUf/w4S0IznjpSr050zsT1Ubcosf+dcd9hno5GgUCPOVh90SVJ/lcMYzv8w86h3vquZIQGqZLUUebOGbj3rllxOmxKplRa588SdK8vTr7JrJPOfzACOLntOvLvZ3RERvJaX6Dlc9UAzoXF0bTGQuiPyPMk0aGfoJ3HqfzSW94mwtRy+K48Uh8X4UYnqv5CIgpqbT7Iw4G0myP2LnkE20NTQF29UFDXd6Vo52BFD4oiBgSBE2pc7vIj90NXOtaSk+IvEa33eVnxppHiuTsYhIjmCU8XyvxMZjIc5FksdCkfaMDb4a//nJhCX4G1y1D4YFtedL3vHso9QwjaOnd6vcmlneMw6/W97pKlv/inUil8phm5l16Bz1ZgQEQVwLBpNsV90TT47Iajgx32wfy1gF6qywH2ZRliNe6bZgXma6Ex4kv0b9iHR0sTjzL1cVj1FtB3t0hQ8thMUcLuv4U2xC; 4:2anMfF/o60vo3tJhO8UPHIEeWx1k2HFLJvQv6dxDfsNDY7m5TVRY5keCiyrSKw9RhAAPmC2+J3oSBvWwQUt7WostC5GYjb0ZX47IF1lnN8/oLYBYLvj/yWZ2QXupplC7y5kzuTy/szdJbaCU0+V5LXFQvKsgsGGpg+1UzvpfwfNBa9048Ld6oIweMrukZLGd95E6PSZLgW4WPlb9g1R+KmHZ3rrg8bEIODGIJC98KifFcNkbLHrFaj1QkhpBO5PCtUQhwGa7UmrHcdetrIbJZRJlqMAb9YdT+QcNU5OR6ClIYk9+p7COuxhyPA9KmaixagoUrvNr9xzTo+BY50zmshGV8nthGKVQNsPxqwGkrtzzXvJjIj6JYkgupPB+mz7t X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(192374486261705)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(3231220)(944501244)(52105095)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011); SRVR:DM2PR12MB0156; BCL:0; PCL:0; RULEID:; SRVR:DM2PR12MB0156; X-Forefront-PRVS: 060503E79B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(346002)(39860400002)(396003)(376002)(39380400002)(199004)(189003)(5660300001)(16526019)(16586007)(478600001)(3846002)(6116002)(7696005)(52116002)(51416003)(76176011)(6486002)(25786009)(4326008)(316002)(59450400001)(26005)(1076002)(54906003)(86362001)(186003)(386003)(6666003)(2361001)(106356001)(2351001)(53416004)(8676002)(81166006)(81156014)(50226002)(15650500001)(53936002)(2950100002)(6916009)(2906002)(97736004)(68736007)(66066001)(47776003)(305945005)(7736002)(8936002)(36756003)(50466002)(48376002)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0156; H:wsp141597wss.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR12MB0156; 23:olch8XD4Ip6/Rh9FL0Be7w8BqH6g3a1KjBgup8gQX?= =?us-ascii?Q?DItlYwLuOG9BzRDriB6z8eiTGKT95SQugdlYDcAHYjxLDk2amvKe9gHaMgrh?= =?us-ascii?Q?zzXkzLldF9dNV0Ju7IILTc71HEfzYlkLXXmhtsTJNK8Rit0Nb/IT4BxRmLlR?= =?us-ascii?Q?NYVh6fHoaQSNvlnyVRt20xrW5nM6j+FsWrvDB36EIc20dHHEUA4qvyhffzb8?= =?us-ascii?Q?Ag76BHjJjZpxdAE8pYAy0PUTd+xEzIypN0mAmz52grygAzTHOuSjkOoYn02y?= =?us-ascii?Q?z8CA3kZQ0Nk6YrfJAPflyD/AkcBrwkJUto42NFOKMWvYAAnqjIICas+R6EaE?= =?us-ascii?Q?hMvaQrkTx7OvRkN0vUkvMn98J5CzzYFc3pGwqna9MU0bTAyFwD4oMby1CsVK?= =?us-ascii?Q?GD1CU2LiXiEhc9qcr3a/yR09Pa4ML+MQil5EAOIu2MSQtG7w9WcIq+HNfL0o?= =?us-ascii?Q?K6Rr1Dg0wGcAmjYEmHQlC+E/Pov4i1B5H+SUkpW9w8ChgpRWf10WUA/8/EZX?= =?us-ascii?Q?EL14O9Ju5cxY7LR9VrsxhvgyRilhcozPLZI6ZZo70e9mZZeiqVw9MWJYO+UA?= =?us-ascii?Q?MmbCLlq2B6FE6caGbns6uLIz+FI/D3gw15Igzn0cqS8pQBqxgc5mM0oWbZXk?= =?us-ascii?Q?W9ZRMYE9iU4NW2BnTsbud2KlnwIVI7yO2YYbTQk8CyVzsUAI1oyHiDMdjwE2?= =?us-ascii?Q?yXGRuRCZkVv8i5LQ7bKm+X6n+1Cs6DnRs6a5fnFJCCzY5Cg+IpwzsZyZjYUw?= =?us-ascii?Q?bQIAQRH95KDKeBMndEJD8II/R14AJOgcoTMi4GVBzNKgl4plSgchew65A4kW?= =?us-ascii?Q?Gblo+zufsPr9+zqSODiEBMujSwosfLoaP5bVdaL+gXWwSETrsiPkcsf4ppoJ?= =?us-ascii?Q?fdLoWwa9MjOkuECy47/QMPc7LPTEGXXQC5Dfm/P6s6ma70kz/4IwmC4XkB38?= =?us-ascii?Q?8ELgi4fmWcRwQB2YpbY3wSMYpX50w1iwsbljqGkPwmamuCjMQ8B6SPQyaML0?= =?us-ascii?Q?WN8aojABdzl3A31PiGRfXZAPRgQmaxO8jT/H181JpySdWmIoZWuPQpDZ0nDu?= =?us-ascii?Q?1Gacnx8a5qtgr4ZH40Gs/1TdF9slTR+unfqtsXpQBS5OelzcPgoDwG7Z+QAj?= =?us-ascii?Q?wUc8OF2AzzIjUIiDwgkFDgQaxV0l8wsjyoWCo5e9QLVk6JJshkZc5COI7u7s?= =?us-ascii?Q?2CgwNOhx+dKxEgzL8pn0+KaDNytopUHN2EIHMhe4q9mm5jSEU+36JysyA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Antispam-Message-Info: A84Z3yyvNrwALsZDfeiP/cWRYEJx26FUhVAqiq6MW5Pr9jna787xvNJmEnBayHLrM9knj4kwDENMRdccEMQ0hk6aYfm+a7ngEYTql2DVYeg+Nuuv4FR6n7UuQ5b4ieNbxP8IpWsPYKD3xTfF5k4lRbIT3wzgKN3LWPE8qKj8LRGtK/jadD6LSMxsJHvNqysu X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 6:OTk9+VmK0cxqO0yM6YX/0CJy1mgHF5pv/ZQUzdAS1URDZczgz4918Js935foAuxr5S9ZdwJOHclwFt/6Xkh77LSORgErqItCXegJ//A5Uag24OvZQvTpd0ggaoYYhQjSic7K/Mr9zmqbg1QIm3+DVpdh3tSsKwxJaH4eq0wWbjzj66synJmrQceXECvEdPxkumrwbHokGkQtSPfjbKyFMA2QfF6hy3bVBP1NLyE6bitfSQ0HIKPxtWNo7fO8QHaEU0w1Ki+Y73YjX7L7DTl7RbTuFA8E0vtBkz99SQurjtL7zJ7blix6T8upS7Su+EUnJxloU2x694i7EJL1juNpQvXPPR1OsG67g4u5zD1cvBU=; 5:LzfTBn/nssak9tcyPjbd5ER0UsfjC+4JV1qS1g4U3aBYRAeLPj/CGibeyK91Lj4+fzVhTwMvVhRTRLoQee59rzyRsYBtJDADN2RVc1yHYc2qRAfVMhKrFqdXJmPSoF4eSC1D1R/gNdROpYWDPVYdOPU5xmM3DzwX1IIo9WcCXU4=; 24:FxA3TJ4OgkjLEvW4/rnNNYSwV+lJhx7H/sApBgGMq6lhjucU9aEJiGAYSYuMvZhOpKsJhOCpFLAFFhlfmPKkKN6hBNDXKYq9ftn0z76+ots=; 7:d8qC790EaIaRQHy0a8QIJ5zmH+ip/1cSLsgwKuUmDvBy5yxnEm8J4xg7o8YuYC/byKMC6X7L3oHHNpGwCEjN+vr2j8SZ5SPvUAayO2AmYPevK2yAl0xUtOjwREc896oj06/fhk6OH1/pJHCfUFeniOpDjt+xioF1K14siF9bEvMD40tHiBJo/ZK0HELixqAGZRqZUl0dkHyrsKW28ZMdMGyIniEDJ2llxI6C7s9UKBsPNAtwBg7Y8MOWhhFuNRP9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:9XG8ayi+zMmtQC8oHV7qzWNOyQK3mMLLnTC4Nqo3HWhuXegoco5/Puaf1czdGt0wrDOYBGllCZEHQrhEPZYgc/Mb67glwJTlQoZXo1kuKIIWf3y+0Zw/TomscRu+U8bxJV44s9PfnRjnNKN+PIFRIFflAK7kFY51YNC4heqtaEgD26TyLtCSGZz0rcD/WVPIMt9xSpWISFihBSUqkIoSUhWikwr2Rqa2AIeHA/ZbTD9LztSFeG/bf4M1sa6bC0fC X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2018 17:12:37.2887 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8a1e0240-e7f5-49cb-2143-08d58517cb21 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0156 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 08 Mar 2018 17:12:41 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 08 Mar 2018 17:12:41 +0000 (UTC) for IP:'104.47.37.43' DOMAIN:'mail-cys01nam02on0043.outbound.protection.outlook.com' HELO:'NAM02-CY1-obe.outbound.protection.outlook.com' FROM:'brijesh.singh@amd.com' RCPT:'' X-RedHat-Spam-Score: -0.011 (DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS) 104.47.37.43 mail-cys01nam02on0043.outbound.protection.outlook.com 104.47.37.43 mail-cys01nam02on0043.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: Tom Lendacky , Peter Krempa , Xiaogang Chen , Jon Grimm , Brijesh Singh , Borislav Petkov Subject: [libvirt] [PATCH v2 6/9] remote: implement the remote protocol for launch security 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 08 Mar 2018 17:14:21 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Add remote support for launch security info. Signed-off-by: Brijesh Singh --- src/remote/remote_daemon_dispatch.c | 63 +++++++++++++++++++++++++++++++++= ++++ src/remote/remote_driver.c | 52 +++++++++++++++++++++++++++++- src/remote/remote_protocol.x | 22 ++++++++++++- src/remote_protocol-structs | 13 ++++++++ 4 files changed, 148 insertions(+), 2 deletions(-) diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon= _dispatch.c index ea67cb7bc018..d3343c9ec972 100644 --- a/src/remote/remote_daemon_dispatch.c +++ b/src/remote/remote_daemon_dispatch.c @@ -3087,6 +3087,69 @@ remoteDispatchNodeGetMemoryStats(virNetServerPtr ser= ver ATTRIBUTE_UNUSED, return rv; } =20 +static int +remoteDispatchDomainGetLaunchSecurityInfo(virNetServerPtr server ATTRIBUTE= _UNUSED, + virNetServerClientPtr client ATT= RIBUTE_UNUSED, + virNetMessagePtr msg ATTRIBUTE_U= NUSED, + virNetMessageErrorPtr rerr, + remote_domain_get_launch_securit= y_info_args *args, + remote_domain_get_launch_securit= y_info_ret *ret) +{ + virDomainPtr dom =3D NULL; + virTypedParameterPtr params =3D NULL; + int nparams =3D 0; + int rv =3D -1; + unsigned int flags; + struct daemonClientPrivate *priv =3D + virNetServerClientGetPrivateData(client); + + if (!priv->conn) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not ope= n")); + goto cleanup; + } + + flags =3D args->flags; + + if (args->nparams > REMOTE_DOMAIN_LAUNCH_SECURITY_INFO_PARAMS_MAX) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"= )); + goto cleanup; + } + + if (args->nparams && VIR_ALLOC_N(params, args->nparams) < 0) + goto cleanup; + nparams =3D args->nparams; + + if (!(dom =3D get_nonnull_domain(priv->conn, args->dom))) + goto cleanup; + + if (virDomainGetLaunchSecurityInfo(dom, params, &nparams, args->flags)= < 0) + goto cleanup; + + /* In this case, we need to send back the number of parameters + * supported + */ + if (args->nparams =3D=3D 0) { + ret->nparams =3D nparams; + goto success; + } + + if (virTypedParamsSerialize(params, nparams, + (virTypedParameterRemotePtr *) &ret->param= s.params_val, + &ret->params.params_len, + flags) < 0) + goto cleanup; + + success: + rv =3D 0; + + cleanup: + if (rv < 0) + virNetMessageSaveError(rerr); + virTypedParamsFree(params, nparams); + virObjectUnref(dom); + return rv; +} + static int remoteDispatchDomainGetPerfEvents(virNetServerPtr server ATTRIBUTE_UNUSED, virNetServerClientPtr client ATTRIBUTE_U= NUSED, diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 9ea726dc45c0..695ec629c5cd 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -1951,6 +1951,55 @@ remoteDomainGetNumaParameters(virDomainPtr domain, return rv; } =20 +static int +remoteDomainGetLaunchSecurityInfo(virDomainPtr domain, + virTypedParameterPtr params, + int *nparams, + unsigned int flags) +{ + int rv =3D -1; + remote_domain_get_launch_security_info_args args; + remote_domain_get_launch_security_info_ret ret; + struct private_data *priv =3D domain->conn->privateData; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, domain); + args.flags =3D flags; + args.nparams =3D *nparams; + + memset(&ret, 0, sizeof(ret)); + if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_LAUNCH_SECURITY= _INFO, + (xdrproc_t) xdr_remote_domain_get_launch_security_info_args, = (char *) &args, + (xdrproc_t) xdr_remote_domain_get_launch_security_info_ret, (= char *) &ret) =3D=3D -1) + goto done; + + /* Handle the case when the caller does not know the number of paramet= ers + * and is asking for the number of parameters supported + */ + if (*nparams =3D=3D 0) { + *nparams =3D ret.nparams; + rv =3D 0; + goto cleanup; + } + + if (virTypedParamsDeserialize((virTypedParameterRemotePtr) ret.params.= params_val, + ret.params.params_len, + REMOTE_DOMAIN_LAUNCH_SECURITY_INFO_PARAM= S_MAX, + ¶ms, + nparams) < 0) + goto cleanup; + + rv =3D 0; + + cleanup: + xdr_free((xdrproc_t) xdr_remote_domain_get_launch_security_info_ret, + (char *) &ret); + done: + remoteDriverUnlock(priv); + return rv; +} + static int remoteDomainGetPerfEvents(virDomainPtr domain, virTypedParameterPtr *params, @@ -8497,7 +8546,8 @@ static virHypervisorDriver hypervisor_driver =3D { .domainSetGuestVcpus =3D remoteDomainSetGuestVcpus, /* 2.0.0 */ .domainSetVcpu =3D remoteDomainSetVcpu, /* 3.1.0 */ .domainSetBlockThreshold =3D remoteDomainSetBlockThreshold, /* 3.2.0 */ - .domainSetLifecycleAction =3D remoteDomainSetLifecycleAction /* 3.9.0 = */ + .domainSetLifecycleAction =3D remoteDomainSetLifecycleAction, /* 3.9.0= */ + .domainGetLaunchSecurityInfo =3D remoteDomainGetLaunchSecurityInfo /* = 4.2.0 */ }; =20 static virNetworkDriver network_driver =3D { diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index 9dbd497b2fff..de31c997358e 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -253,6 +253,9 @@ const REMOTE_DOMAIN_IP_ADDR_MAX =3D 2048; /* Upper limit on number of guest vcpu information entries */ const REMOTE_DOMAIN_GUEST_VCPU_PARAMS_MAX =3D 64; =20 +/* Upper limit on number of launch security information entries */ +const REMOTE_DOMAIN_LAUNCH_SECURITY_INFO_PARAMS_MAX =3D 64; + /* UUID. VIR_UUID_BUFLEN definition comes from libvirt.h */ typedef opaque remote_uuid[VIR_UUID_BUFLEN]; =20 @@ -3448,6 +3451,17 @@ struct remote_domain_set_lifecycle_action_args { unsigned int flags; }; =20 +struct remote_domain_get_launch_security_info_args { + remote_nonnull_domain dom; + int nparams; + unsigned int flags; +}; + +struct remote_domain_get_launch_security_info_ret { + remote_typed_param params; + int nparams; +}; + /*----- Protocol. -----*/ =20 /* Define the program number, protocol version and procedure numbers here.= */ @@ -6135,5 +6149,11 @@ enum remote_procedure { * @priority: high * @acl: storage_pool:getattr */ - REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_TARGET_PATH =3D 391 + REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_TARGET_PATH =3D 391, + + /** + * @generate: none + * @acl: domain:read + */ + REMOTE_PROC_DOMAIN_GET_LAUNCH_SECURITY_INFO =3D 392 }; diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index f45aba27a202..4974e619f7f0 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -2877,6 +2877,18 @@ struct remote_domain_set_lifecycle_action_args { u_int action; u_int flags; }; +struct remote_domain_get_launch_security_info_args { + remote_nonnull_domain dom; + int nparams; + u_int flags; +}; +struct remote_domain_get_launch_security_info_ret { + struct { + u_int params_len; + remote_typed_param * params_val; + } params; + int nparams; +}; enum remote_procedure { REMOTE_PROC_CONNECT_OPEN =3D 1, REMOTE_PROC_CONNECT_CLOSE =3D 2, @@ -3269,4 +3281,5 @@ enum remote_procedure { REMOTE_PROC_DOMAIN_MANAGED_SAVE_DEFINE_XML =3D 389, REMOTE_PROC_DOMAIN_SET_LIFECYCLE_ACTION =3D 390, REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_TARGET_PATH =3D 391, + REMOTE_PROC_DOMAIN_GET_LAUNCH_SECURITY_INFO =3D 392, }; --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list