From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id kP7VNvJcw2JFOAAAbAwnHQ (envelope-from ) for ; Mon, 04 Jul 2022 23:34:43 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id uMz+NfJcw2K5awAAG6o9tA (envelope-from ) for ; Mon, 04 Jul 2022 23:34:42 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6143835E8E for ; Mon, 4 Jul 2022 23:34:42 +0200 (CEST) Received: from localhost ([::1]:32988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o8TiL-0007Uh-Ef for larch@yhetil.org; Mon, 04 Jul 2022 17:34:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59384) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o8Ti0-0007UZ-A1 for guix-devel@gnu.org; Mon, 04 Jul 2022 17:34:20 -0400 Received: from mx1.dismail.de ([78.46.223.134]:39295) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o8Thv-0005iO-BS; Mon, 04 Jul 2022 17:34:20 -0400 Received: from mx1.dismail.de (localhost [127.0.0.1]) by mx1.dismail.de (OpenSMTPD) with ESMTP id a2cfdf4e; Mon, 4 Jul 2022 23:34:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=dismail.de; h= mime-version:date:content-type:content-transfer-encoding:from :message-id:subject:to:in-reply-to:references; s=20190914; bh=rk ucW76KUNOoZ44kVliKiKeZWRbtuVpsSK8wHcpBk2c=; b=KQLaox3sp3vDdzVa1k jBnlbIkayT+hCblhxDOIb5Mcm/GXSMruPmj/XMNfI/SUD7hSoviB1wHmtDHUJ67e ljmYNYNAYFrlD+Q44q1Ze2myzdb90OyGzbAyC6j2YI6R8f1Z5ZLVmpWymNtE5SeD bQro4SMTFuukeobsTFYFef3xAJzcvz4+geJR/d0P5cqgqK5M+S+RxG0hb9BjDrJJ I8VOcKtjz8PG3ubKqHHVAxuKqvsIYuDvrDK0h68TYbUxVVKSN//551jwrBnCXSKK oyTuAZQnxPwbcb8V1O0vRSyFMjrr8xQC25GaSUUcdrlXffRyn/w5Wj6Arawm2o21 mWgw== Received: from smtp1.dismail.de ( [10.240.26.11]) by mx1.dismail.de (OpenSMTPD) with ESMTP id ddc172a5; Mon, 4 Jul 2022 23:34:09 +0200 (CEST) Received: from smtp1.dismail.de (localhost [127.0.0.1]) by smtp1.dismail.de (OpenSMTPD) with ESMTP id bee8a3a4; Mon, 4 Jul 2022 23:34:09 +0200 (CEST) Received: by dismail.de (OpenSMTPD) with ESMTPSA id ad285965 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 4 Jul 2022 23:34:09 +0200 (CEST) MIME-Version: 1.0 Date: Mon, 04 Jul 2022 21:34:08 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: RainLoop/1.16.0a From: jbranso@dismail.de Message-ID: <153bf26688033b7a202cdfa34febc196@dismail.de> Subject: Re: Rust in the kernel To: "Akib Azmain Turja" , guix-devel@gnu.org, "=?utf-8?B?THVkb3ZpYyBDb3VydMOocw==?=" In-Reply-To: <871qv0n5lz.fsf@disroot.org> References: <871qv0n5lz.fsf@disroot.org> <878rp9c9x9.fsf@gnu.org> Received-SPF: pass client-ip=78.46.223.134; envelope-from=jbranso@dismail.de; helo=mx1.dismail.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1656970482; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=rkucW76KUNOoZ44kVliKiKeZWRbtuVpsSK8wHcpBk2c=; b=jJ1XJ8FA7cJlm40Cpesrs8PKB3cl3YTkjWkxmnaMLdX3daPhStr8lTF4+wbui45HrBI/Es O9iZLq2dy41try5OdnsgDAiPCP8gBm+6YXgntbIPpYjq3qT0Q6o0HnLfeKtkp02EqFzCBx BVk5Q+oG/mvWSwEPfXDe7jPWalL4kxUT0yVQmf2IPNo7FVcohOB0ysCq/mBM0S2WeCRTJG uraAMizLp6Y0CrljG2TJBHxcprGqV7hiNrPGxPZtJB55pWSS68td3QrEByL5gRJUQaBqrF MB8urC+/mIJ7JUxbMQo82XBVh6Tf996vEJdwjefUCbnj2IgtAAh7txfL6IzHJw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1656970482; a=rsa-sha256; cv=none; b=SLj2G/JvZXuqEiELyZUL/9fXgHk3+ui/n+8MLwqV9V285CS7whxmVENGpRHawaGNFfAiep 4s+Df6XcMui0fAQETn+b1jP3/Z76aHVSnwTEy0tMeHdBDhLNI0d5oQI7YgSIWpdVuKsOvy VSRei0yy9L/cupbG9L6kbjzjMbnOt4mnq3p749lS3uPvePIy8zTOrMSGU7K2dMLqtxdMzW csjOInAH7J6gR40mQbLCZrewuKVbrh0kAEatS6gzhqHoGfeDGIQFfD2LX7Oq24LUHoYYKy rbI+jBXIKS+voka7IM3qP9Tvu00CVEoBjFzeufjCYgoTne18/w6CwzPq6r0OMw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=dismail.de header.s=20190914 header.b=KQLaox3s; dmarc=pass (policy=reject) header.from=dismail.de; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.05 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=dismail.de header.s=20190914 header.b=KQLaox3s; dmarc=pass (policy=reject) header.from=dismail.de; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 6143835E8E X-Spam-Score: -5.05 X-Migadu-Scanner: scn1.migadu.com X-TUID: 4WsoQELfdYwI July 4, 2022 1:36 PM, "Akib Azmain Turja" wrote: > Ludovic Court=C3=A8s writes: >=20 >>=20Hi! >>=20 >>=20Leo Famulari skribis: >=20 >=20The effort to use the Rust programming language within the Linux kern= el > is progressing and may be realized in the next few months: >=20 >=20https://lwn.net/SubscriberLink/899182/6c831b90eaee015e > https://www.memorysafety.org/blog/memory-safety-in-linux-kernel >=20 >=20Within Guix, we'll need to adapt our kernel build processes in order = to > support this. >=20 >=20Although I help with updating and configuring the kernel builds, I wo= n't > be able to participate in the "Rust in the kernel" effort for Guix. >> Understood=E2=80=A6 >=20 >=20So, interested volunteers should begin organizing :) >> Yup! >>=20 >>=20Now, concretely, how long will it take before key parts of the kerne= l >> are written in Rust? Hopefully a long time, no? Per the article above, >> it=E2=80=99s starting small, with Rust usage in well-defined locations= . >>=20 >>=20This is not to say that we shouldn=E2=80=99t start organizing, but r= ather that >> we still have a bit of time ahead. >>=20 >>=20(During that time, interested readers can also take a stab at improv= ing >> support for the Hurd, which relies on that revolutionary technology >> called =E2=80=9Caddress spaces=E2=80=9D to ensure Memory Safety=E2=84= =A2 among other things!) >>=20 >>=20Ludo=E2=80=99. >=20 >=20"Address spaces"! What's that? Sorry for asking without searching the > internet first, but the Hurd designers are so creative that a few > understand the concepts and join the community, so there is a little > chance (if any) that I'll find any useful information on that. >From the Hurd wiki: https://www.gnu.org/software/hurd/advantages.html The Hurd is built in a very modular fashion. Other Unix-like kernels (Linux, for example) are also modular in that they allow loading (and unloading) some components as kernel modules, but the Hurd goes one step further in that most of the components that constitute the whole kernel are running as separate user-space processes and are thus using different address spaces that are isolated from each other. This is a multi-server design based on a microkernel. It is not possible that a faulty memory dereference inside the TCP/IP stack can bring down the whole kernel, and thus the whole system, which is a real problem in a monolithic Unix kernel architecture. Some visual explantions: https://en.wikipedia.org/wiki/Microkernel#/media/File:OS-structure.svg The Hurd is on the right in this image. Essentially, if your fileserver somehow gets hacked, the attacker cannot magically access your TCP/IP stack, because your TCP/IP is not in the some "software zone" as your fileserver. So microkernels like the Hurd are usually considered more secure and better designed than monolithic kernels like Linux. However, monolithic kernels will usually be faster than microkernels. > -- > Akib Azmain Turja >=20 >=20This message is signed by me with my GnuPG key. It's fingerprint is: >=20 >=207001 8CE5 819F 17A3 BBA6 66AF E74F 0EFA 922A E7F5