From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludovic.courtes@inria.fr (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Generating wrappers for execution in non-root non-Guix contexts Date: Thu, 26 Apr 2018 16:58:59 +0200 Message-ID: <87po2m10b0.fsf@inria.fr> References: <87zi1rwsv6.fsf@inria.fr> <87fu3it7cm.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45480) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fBiMV-0005K6-QV for guix-devel@gnu.org; Thu, 26 Apr 2018 10:59:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fBiMQ-0003N7-AM for guix-devel@gnu.org; Thu, 26 Apr 2018 10:59:07 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:8835) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fBiMQ-0003Lt-0U for guix-devel@gnu.org; Thu, 26 Apr 2018 10:59:02 -0400 In-Reply-To: <87fu3it7cm.fsf@elephly.net> (Ricardo Wurmus's message of "Thu, 26 Apr 2018 15:39:21 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: guix-devel Hey! Ricardo Wurmus skribis: >> We could also have wrappers fall back to PRoot when unshare(2) fails. > > Good idea. Could we use ptrace directly and optimize it for the case of > =E2=80=9C/gnu/store=E2=80=9D paths? I=E2=80=99m just guessing that PRoot= may incur a higher > performance penalty because it=E2=80=99s so generic compared to a compile= -time > deterministic use of ptrace =E2=80=93 after all, we know all /gnu/store > locations in advance. IWBN, but that=E2=80=99s a project in its own. ptrace(2) requires knowledge about the architecture=E2=80=99s ABI so that you know what registers to loo= k at when a syscall happens, and so on. So for now it=E2=80=99ll have to be PRo= ot. I=E2=80=99ll try to come up with a patch set without PRoot support to begin with. Thanks for your feedback, Ludo=E2=80=99.