From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id C5C1713215; Tue, 09 Dec 2025 00:38:45 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 36EE41318C; Tue, 09 Dec 2025 00:38:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fhigh-b7-smtp.messagingengine.com (fhigh-b7-smtp.messagingengine.com [202.12.124.158]) by atuin.qyliss.net (Postfix) with ESMTPS id 2D2E1130FB for ; Tue, 09 Dec 2025 00:38:39 +0000 (UTC) Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 263AA7A0089; Mon, 8 Dec 2025 19:38:36 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-04.internal (MEProxy); Mon, 08 Dec 2025 19:38:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1765240716; x= 1765327116; bh=19DY3qE6BzvIfH87JS40wo3lEfV79M7mRX0mYSkZt5U=; b=f ktWYvf3LytxyezcWaAXZ7zV36SwDkOfYzYnHaK861pav/UDGHzPlnLLYcInwm+na V0YFXrcNEbPoJw2qkdwuM2Bq3VyWIygsf7EYHVI5ZYBFoU67/o0EOizHOq1wViIk Lza9S1TMBkdrOq41qGur2aZAUWHAhri0m8Ianhy5NVB+4632UFOTZqfp/wTUDwoq jRenpHEP0ZWh+mlWgx+/oJSc6y2RqLLwEClsInuaDCQrKrXmjf/e6cZ2CvJbY6Rb YzvArVV/Jn5c4L9Gi7vCgd/tqW6OCwPRi9YdLJYsr6qgExPJQvyIGy7g33ky8Z+J 1yrleDrrhnRR7sMBfPmFQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1765240716; x=1765327116; bh=1 9DY3qE6BzvIfH87JS40wo3lEfV79M7mRX0mYSkZt5U=; b=izgT+ESGfpuOZwiPz rFBq2zBuA/bK+6iUOhf3roIv6W9Yswks1IuY6dp6vKbngig4UkRZmXGdwPDxkyET sBFuGsmnCZmGVsu6Gol8BYhmsXy+U46nNnevSRn0VYnX1XvbDZw/GmFY1un8oBI/ aX3wK6dfI9qsH94EP7pVX8dwcrwpPLN8rdSg6U0ztf8lffW0tII4B5vn35jCLh2L i0M08zCrDRnwgult/tD8huZrSiYvvOOnyQ4ijT0EKeVci2Rcd6c0jt8U7i0gtoho qEF17youAN/q7A2d8VQa7Xl6wOPluMWoDG0fwn2Nt0kTFqyVkoqpeLirSSnJ9vle YbUjw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddukedugecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeetlhihshhsrgcu tfhoshhsuceohhhisegrlhihshhsrgdrihhsqeenucggtffrrghtthgvrhhnpeegueeiud eukeekiedvteffgeekudfhudevvdelvdekhfefieetkeduudejffefgeenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehhihesrghlhihsshgrrd hishdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep hihurhgvkhgrsegthigsvghrtghhrghoshdruggvvhdprhgtphhtthhopeguvghvvghlse hsphgvtghtrhhumhdqohhsrdhorhhg X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 8 Dec 2025 19:38:35 -0500 (EST) Received: by fw12.qyliss.net (Postfix, from userid 1000) id 8D4545E7A293; Tue, 09 Dec 2025 01:38:23 +0100 (CET) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH 2/3] host/rootfs: put router app sockets in own dir Date: Tue, 9 Dec 2025 01:38:12 +0100 Message-ID: <20251209003813.553461-2-hi@alyssa.is> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251209003813.553461-1-hi@alyssa.is> References: <20251209003813.553461-1-hi@alyssa.is> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: PKDCKAIAKBNBNBXN5CMAY7WSTQSXIM7P X-Message-ID-Hash: PKDCKAIAKBNBNBXN5CMAY7WSTQSXIM7P X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Yureka Lilian X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: When we have different Cloud Hypervisor instances running as different users, it makes sense not to permit them to see into each other's /run/vm directories. That means we'll need somewhere else to store router app sockets, which should be accessible by VMs other than the driver VM associated with the router. Signed-off-by: Alyssa Ross --- host/rootfs/Makefile | 1 + .../template/data/service/spectrum-router/run | 2 +- tools/start-vmm/lib.rs | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/host/rootfs/Makefile b/host/rootfs/Makefile index 7bec125..831fdc1 100644 --- a/host/rootfs/Makefile +++ b/host/rootfs/Makefile @@ -14,6 +14,7 @@ DIRS = \ dev \ etc/s6-linux-init/env \ etc/s6-linux-init/run-image/configs \ + etc/s6-linux-init/run-image/router \ etc/s6-linux-init/run-image/sd-notify-wrapper \ etc/s6-linux-init/run-image/service/serial-getty/instance \ etc/s6-linux-init/run-image/service/serial-getty/instances \ diff --git a/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/data/service/spectrum-router/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/data/service/spectrum-router/run index 61375ca..c79747c 100755 --- a/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/data/service/spectrum-router/run +++ b/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/data/service/spectrum-router/run @@ -8,7 +8,7 @@ importas -i VM VM s6-ipcserver-socketbinder -a 0770 /run/vm/by-id/${VM}/router-driver.sock fdmove -c 3 0 -s6-ipcserver-socketbinder -a 0770 /run/vm/by-id/${VM}/router-app.sock +s6-ipcserver-socketbinder -a 0770 /run/router/${VM} fdmove -c 4 0 # Notify readiness. diff --git a/tools/start-vmm/lib.rs b/tools/start-vmm/lib.rs index b44e037..2ee87bd 100644 --- a/tools/start-vmm/lib.rs +++ b/tools/start-vmm/lib.rs @@ -1,5 +1,5 @@ // SPDX-License-Identifier: EUPL-1.2+ -// SPDX-FileCopyrightText: 2022-2024 Alyssa Ross +// SPDX-FileCopyrightText: 2022-2025 Alyssa Ross // SPDX-FileCopyrightText: 2025 Yureka Lilian mod ch; @@ -117,6 +117,16 @@ pub fn vm_config(vm_dir: &Path) -> Result { )); } + let provider_path = Path::new("/run/vm/by-name").join(&provider_name); + let provider_target = provider_path + .read_link() + .map_err(|e| format!("dereferencing {provider_path:?}: {e}"))?; + let provider_id = provider_target + .file_name() + .ok_or_else(|| format!("{provider_path:?} target has no file name"))? + .to_str() + .ok_or_else(|| format!("{provider_target:?} has non-UTF-8 basename"))?; + let mut hasher = std::hash::DefaultHasher::new(); vm_name.hash(&mut hasher); let id_hashed = hasher.finish(); @@ -132,7 +142,7 @@ pub fn vm_config(vm_dir: &Path) -> Result { Ok(NetConfig { vhost_user: true, - vhost_socket: format!("/run/vm/by-name/{provider_name}/router-app.sock"), + vhost_socket: format!("/run/router/{provider_id}"), id: provider_name, mac, }) -- 2.51.0