From patchwork Tue Apr 8 12:24:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 41447 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 06C5027BC4A; Tue, 8 Apr 2025 13:27:47 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7582227BC49 for ; Tue, 8 Apr 2025 13:27:45 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u2839-00081w-TO; Tue, 08 Apr 2025 08:27:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u282i-0007zC-1T for guix-patches@gnu.org; Tue, 08 Apr 2025 08:27:08 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u282h-00082i-NX for guix-patches@gnu.org; Tue, 08 Apr 2025 08:27:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=HAZh+Nbd+DZ6sfIGxlYy+WWVllxaRy4BtwxuRKJ0xRk=; b=Ifl5AwJyR24W0k9xDhgW45pY+VQsCszYQtGnzsAu7bEWmPK44jKHB/PLYproalP5obacwJoidn/CWw20XiaH5WnB/ZU2kt/Jxjt9PDbHg0eOGNB2Zz6+EIHiMgV2eBcR/zNtDXkBqKMls6719QDPHbl7SrG+9Uz1imnF7hxmg9abC3yDuhRvpDytFMoiTIgsbZBm8aK/Pc35dL3SsmC8s2jIpc0yCpHubuoGjnsoDaTDOMTaTrTLXEPm4Mngz42f61Q5gTuK4aalygWlnIlT/Wn0TxRYvFeYJo6S3o0WpsLJjtVDcSNSs7dKbKi4fNfU7f5A4bWVKhCOs6gQawFaiA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1u282h-0001PQ-Hk for guix-patches@gnu.org; Tue, 08 Apr 2025 08:27:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#77638] [PATCH 6/8] syscalls: Add =?utf-8?b?4oCYZ2V0LXVzZXIt?= =?utf-8?b?bnPigJku?= Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Apr 2025 12:27:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77638 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77638@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= Received: via spool by 77638-submit@debbugs.gnu.org id=B77638.17441151925203 (code B ref 77638); Tue, 08 Apr 2025 12:27:03 +0000 Received: (at 77638) by debbugs.gnu.org; 8 Apr 2025 12:26:32 +0000 Received: from localhost ([127.0.0.1]:59693 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u282B-0001Li-5z for submit@debbugs.gnu.org; Tue, 08 Apr 2025 08:26:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51416) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u281y-0001JE-Aj for 77638@debbugs.gnu.org; Tue, 08 Apr 2025 08:26:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u281s-0007pC-TO; Tue, 08 Apr 2025 08:26:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=HAZh+Nbd+DZ6sfIGxlYy+WWVllxaRy4BtwxuRKJ0xRk=; b=KF3L2X1UQmBQgaQm9J/t VuguNMH6YU23E6kqyLSd/Ra2oLdnVUBUHnd8FlO+4CdCZ7iSwCt53FG4O6i4wBM+H/yg7uVxJyh+8 QPSJnn6uuzsDfkRwJebUWga7V/RHhP6xs0Zus271ZtENGUKn+FX0kHy1HTrdJKHOzbtWmbdk85f1O BCHEbyr49UWVH4FITwauglTHCeLlZwFSy0SLa/8Gce4wXh4Q4ab4jjYnkcnDieKQe2ZKlBvjAH/pX 1oLXS96nu/cz4o09I0z3/NAy0bbBnqXZ6ysko4TzkWYWTXqUlBeKHGRDY6XeAlIG3oId1qkS8p6uq xayEgawXa+BoIA==; From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Tue, 8 Apr 2025 14:24:46 +0200 Message-ID: <97322fc8343bc3c39721725091ac855f02d7f7ec.1744114408.git.ludo@gnu.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * guix/build/syscalls.scm (NS_GET_USERNS): New variable. (get-user-ns): New procedure. Change-Id: I0cfba6a7cdf2ab64ef658b0f821ba4e7c6c89eab --- guix/build/syscalls.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 42232fc7f1..9cb4b98908 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -146,6 +146,7 @@ (define-module (guix build syscalls) CLONE_NEWNET clone setns + get-user-ns kexec-load-file KEXEC_FILE_UNLOAD @@ -1229,6 +1230,19 @@ (define setns (list fdes nstype (strerror err)) (list err)))))))) +(define NS_GET_USERNS #xb701) + +(define (get-user-ns fdes) + "Return an open file descriptor to the user namespace that owns the +namespace pointed to by FDES, a file descriptor obtained by opening +/proc/PID/ns/*." + (let-values (((ret err) (%ioctl fdes NS_GET_USERNS %null-pointer))) + (when (< ret 0) + (throw 'system-error "get-user-ns" "~d: ~A" + (list fdes (strerror err)) + (list err))) + ret)) + (define pivot-root (let ((proc (syscall->procedure int "pivot_root" (list '* '*)))) (lambda (new-root put-old)