From nobody Mon Feb 9 11:30:30 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1669827338; cv=none; d=zohomail.com; s=zohoarc; b=RL6ZUbm2ABZeu0Et1Vf10iE+hTWBNPFynd2/YLXuYaLj3oYEaEpPR6GGopHVBT2c8jYFlbHnX8r4w0Q81MeYZY6z60ZMD+mWLZlUeeOF7pEuNwKDlSUfwfKGNIRjnddm5SLSefcXxx+FADS2+0gG2e2HgWcvIGMSmAvHj3nCv6I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1669827338; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=e7/KZzc2xNZob23PwjG90K+oALVJNntNKr4gGYbCRA4=; b=OFauMSVpJTGfF+78rAh9vdQXgpGvpNboUTXpxQZOIrBHUeUOFXQybE65Hej6dBiWLAYb9lln2IJ0rC5yKWA/Hjyga4B9n53LSUm5ih5LlLSuBsEuDSmVKqZCVL1bniFXyctLbUjebTDnQUrsgR7WhO0CllzOzAh/3yCTBeGFUW0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 166982733828472.86114971333598; Wed, 30 Nov 2022 08:55:38 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.450017.707136 (Exim 4.92) (envelope-from ) id 1p0QMX-0001wj-NX; Wed, 30 Nov 2022 16:55:09 +0000 Received: by outflank-mailman (output) from mailman id 450017.707136; Wed, 30 Nov 2022 16:55:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p0QMX-0001wa-Kk; Wed, 30 Nov 2022 16:55:09 +0000 Received: by outflank-mailman (input) for mailman id 450017; Wed, 30 Nov 2022 16:55:08 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p0QMW-0001h8-Gm for xen-devel@lists.xenproject.org; Wed, 30 Nov 2022 16:55:08 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id bd83c3e6-70cf-11ed-8fd2-01056ac49cbb; Wed, 30 Nov 2022 17:55:07 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: bd83c3e6-70cf-11ed-8fd2-01056ac49cbb DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1669827307; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=mzelpp6BGU6o/XUMBaOnSaYdaYXaC5D7r7SG8hFEgRM=; b=iP9CtfXsTZQCMSs5Jf87J60B6MgimTwM3YnkRyHTVQnhHKfKEGTgqG1I z0UzQRlx0ulMt6XN2rlfdlpynf6FTzCPVSg1f30CAUih1B0WJHHlMRbpe 1Q9qrT1rR3f1q2mMgwwmQV/rKyTF2m0eYzPfYmTrGodCuxgGiwGsyn388 s=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 86305928 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:QoajPqIRyYI7XtnQFE+R3JUlxSXFcZb7ZxGr2PjKsXjdYENS1WMEz 2IfXT+Eb//fajH8fd5/Ot61pk0GvcDRyoJrHFNlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5wdmPasjUGL2zBH5MrpOfcldEFOgKmVkNrbSb /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/ jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5+GVlq3 MQEOAorQQGoieWLnIuASLNz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP oxANGQpPE+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUozUHp0IzxzIz o7A11rgLj8gFJuO8CrG1W+Bp+LAp3nRdKtHQdVU8dY12QbOlwT/EiY+WVKlrNGjh0W5WtYZL FYbkgI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW83uqCLjFaFHgbMoVg7ZJoA2xxv rOUoz/3LTV3iJm8cW6NzJG7vBi8PhVJFFQAPzBRGGPp/OLfiI00ixvOSPNqH6i0ksD5FFnM/ tyakMQtr+5N1JBWjs1X6XiC2mvx/caREmbZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV 1BUypHFvIji4Xxg/RFhodnh/pnzv55p0xWG2zaD+qXNEBzzk0NPhagKvFlDyL5Ba67ogwPBb k7Joh9275ROJnasZqIfS9vvVZV1kfa+SIq5Cq68gj9yjn5ZLlfvEMZGPB744owQuBJ0zfFX1 WmzLq5A8kr2+Yw4lWHrFo/xIJcgxzwkxHO7eHwI503P7FZqX1bMEe1tGALXPogEAFas/F29H yB3a5HblH2ykYTWPkHqzGLkBQlRfCJiWsCr85U/myzqClMOJVzNwsT5mdsJE7GJVYwP/gsU1 hlRgnNl9Wc= IronPort-HdrOrdr: A9a23:3f9LKqgEOMqhZWJZVPiYILU51XBQXusji2hC6mlwRA09TyXBrb HLoB1p726StN9xYgBZpTnuAsm9qB/nmKKdpLNhWItKPzOWw1dATrsSjrcKqgeIc0aVygce79 YDT0EUMrLN5C1B7PoSlzPXLz9P+rW6GeuT9IHjJj9WPHhXV50= X-IronPort-AV: E=Sophos;i="5.96,207,1665460800"; d="scan'208";a="86305928" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Christian Lindig , David Scott , Edwin Torok , Rob Hoes Subject: [PATCH v2 3/6] tools/oxenstored: Rename some 'port' variables to 'remote_port' Date: Wed, 30 Nov 2022 16:54:52 +0000 Message-ID: <20221130165455.31125-4-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20221130165455.31125-1-andrew.cooper3@citrix.com> References: <20221130165455.31125-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1669827339743100005 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This will make the logic clearer when we plumb local_port through these functions. While changing this, simplify the construct in Domains.create0 to separate = the remote port handling from the interface. Signed-off-by: Andrew Cooper Acked-by: Christian Lindig Reviewed-by: Edwin T=C3=B6r=C3=B6k --- CC: Christian Lindig CC: David Scott CC: Edwin Torok CC: Rob Hoes v2: * New. --- tools/ocaml/xenstored/domains.ml | 26 ++++++++++++-------------- tools/ocaml/xenstored/process.ml | 12 ++++++------ tools/ocaml/xenstored/xenstored.ml | 8 ++++---- 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domai= ns.ml index 17fe2fa25772..26018ac0dd3d 100644 --- a/tools/ocaml/xenstored/domains.ml +++ b/tools/ocaml/xenstored/domains.ml @@ -122,9 +122,9 @@ let cleanup doms =3D let resume _doms _domid =3D () =20 -let create doms domid mfn port =3D +let create doms domid mfn remote_port =3D let interface =3D Xenctrl.map_foreign_range xc domid (Xenmmap.getpagesize= ()) mfn in - let dom =3D Domain.make domid mfn port interface doms.eventchn in + let dom =3D Domain.make domid mfn remote_port interface doms.eventchn in Hashtbl.add doms.table domid dom; Domain.bind_interdomain dom; dom @@ -133,18 +133,16 @@ let xenstored_kva =3D ref "" let xenstored_port =3D ref "" =20 let create0 doms =3D - let port, interface =3D - ( - let port =3D Utils.read_file_single_integer !xenstored_port - and fd =3D Unix.openfile !xenstored_kva - [ Unix.O_RDWR ] 0o600 in - let interface =3D Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED - (Xenmmap.getpagesize()) 0 in - Unix.close fd; - port, interface - ) - in - let dom =3D Domain.make 0 Nativeint.zero port interface doms.eventchn in + let remote_port =3D Utils.read_file_single_integer !xenstored_port in + + let interface =3D + let fd =3D Unix.openfile !xenstored_kva [ Unix.O_RDWR ] 0o600 in + let interface =3D Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED (Xenmmap.g= etpagesize()) 0 in + Unix.close fd; + interface + in + + let dom =3D Domain.make 0 Nativeint.zero remote_port interface doms.event= chn in Hashtbl.add doms.table 0 dom; Domain.bind_interdomain dom; Domain.notify dom; diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/proce= ss.ml index 72a79e9328dd..b2973aca2a82 100644 --- a/tools/ocaml/xenstored/process.ml +++ b/tools/ocaml/xenstored/process.ml @@ -558,10 +558,10 @@ let do_transaction_end con t domains cons data =3D let do_introduce con t domains cons data =3D if not (Connection.is_dom0 con) then raise Define.Permission_denied; - let (domid, mfn, port) =3D + let (domid, mfn, remote_port) =3D match (split None '\000' data) with - | domid :: mfn :: port :: _ -> - int_of_string domid, Nativeint.of_string mfn, int_of_string port + | domid :: mfn :: remote_port :: _ -> + int_of_string domid, Nativeint.of_string mfn, int_of_string remote_port | _ -> raise Invalid_Cmd_Args; in let dom =3D @@ -569,18 +569,18 @@ let do_introduce con t domains cons data =3D let edom =3D Domains.find domains domid in if (Domain.get_mfn edom) =3D mfn && (Connections.find_domain cons domid= ) !=3D con then begin (* Use XS_INTRODUCE for recreating the xenbus event-channel. *) - edom.remote_port <- port; + edom.remote_port <- remote_port; Domain.bind_interdomain edom; end; edom else try - let ndom =3D Domains.create domains domid mfn port in + let ndom =3D Domains.create domains domid mfn remote_port in Connections.add_domain cons ndom; Connections.fire_spec_watches (Transaction.get_root t) cons Store.Path.= introduce_domain; ndom with _ -> raise Invalid_Cmd_Args in - if (Domain.get_remote_port dom) <> port || (Domain.get_mfn dom) <> mfn th= en + if (Domain.get_remote_port dom) <> remote_port || (Domain.get_mfn dom) <>= mfn then raise Domain_not_match =20 let do_release con t domains cons data =3D diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xen= stored.ml index 55071b49eccb..1f11f576b515 100644 --- a/tools/ocaml/xenstored/xenstored.ml +++ b/tools/ocaml/xenstored/xenstored.ml @@ -167,10 +167,10 @@ let from_channel_f chan global_f socket_f domain_f wa= tch_f store_f =3D global_f ~rw | "socket" :: fd :: [] -> socket_f ~fd:(int_of_string fd) - | "dom" :: domid :: mfn :: port :: []-> + | "dom" :: domid :: mfn :: remote_port :: []-> domain_f (int_of_string domid) (Nativeint.of_string mfn) - (int_of_string port) + (int_of_string remote_port) | "watch" :: domid :: path :: token :: [] -> watch_f (int_of_string domid) (unhexify path) (unhexify token) @@ -209,10 +209,10 @@ let from_channel store cons doms chan =3D else warn "Ignoring invalid socket FD %d" fd in - let domain_f domid mfn port =3D + let domain_f domid mfn remote_port =3D let ndom =3D if domid > 0 then - Domains.create doms domid mfn port + Domains.create doms domid mfn remote_port else Domains.create0 doms in --=20 2.11.0