From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 356F2CEACEE for ; Tue, 1 Oct 2024 18:28:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B61B62800D7; Tue, 1 Oct 2024 14:28:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B104B280068; Tue, 1 Oct 2024 14:28:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 964222800D7; Tue, 1 Oct 2024 14:28:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 723F1280068 for ; Tue, 1 Oct 2024 14:28:41 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 320FA817EC for ; Tue, 1 Oct 2024 18:28:41 +0000 (UTC) X-FDA: 82625869242.06.08A31E8 Received: from GBR01-CWX-obe.outbound.protection.outlook.com (mail-cwxgbr01on2121.outbound.protection.outlook.com [40.107.121.121]) by imf11.hostedemail.com (Postfix) with ESMTP id 63F8540008 for ; Tue, 1 Oct 2024 18:28:38 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=garyguo.net header.s=selector1 header.b=mx0up8YI; dmarc=none; spf=pass (imf11.hostedemail.com: domain of gary@garyguo.net designates 40.107.121.121 as permitted sender) smtp.mailfrom=gary@garyguo.net; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727807178; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=t+UI/KwvMIY5EX0mnNiirFj2jrd1NYIwWX985DkLeh4=; b=nBQ0LJ3nNSFd/Yppy1q2dMr5idhrTX1NLAw895tlKZG4bUefwoMpxkozjvwq5NvJNmshRA iYYayKUfyjqNm3VdS1IE66umabGp8yN0KWI5XjzIKYmtpiLC3H2qa09+jtVd4qv6V2SVqn XrUqEAz1xO01Imdcp1nQcKyKDwLuCAg= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1727807178; a=rsa-sha256; cv=pass; b=oMjG5q70+VbiK0Vv9sri8WRsI4M7MGgoUH0zqaVTWAMWnDtydzWttf7+aCIOovWAaUDdJz dFhHgHpvS6fPk03KVPGGlf4hBfyTG9j1gtyyntImJ4XE/O1coZLk/SZtEK1JTrIUKWe7Z8 CF+vDk++H6k5BST5dkDBcscBJIWx2e0= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=garyguo.net header.s=selector1 header.b=mx0up8YI; dmarc=none; spf=pass (imf11.hostedemail.com: domain of gary@garyguo.net designates 40.107.121.121 as permitted sender) smtp.mailfrom=gary@garyguo.net; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GmnbsVr85IoPJ8RFYS0OArvUFvMUiD6PuH1NJj8+bJq1vAPQce0TKsjGz2yGPSb3NYzOyUutGyRPa9PlFbkNmJp/ZsQCDVakSvUjypfBWezINxlWRvgsqjPrrgIlm9vaqb6KuAW+sSr3TIGQ8Am5n4nNy2D2qVdiX+5HaBHa+dswfBoB7EwsGJjdGdmwSkGMBT1XNIUqoYT8qBKLD9oTwNoeTPQzZJWyvannEHtN7rna5Uy9GBjcclb3WdgJNZeFX0/tpPYPMkBDMohLanc0wyKlSgfe1r1+FDHbchNsNoXkoKhrSU1vYBgke5raXStOQAbBKVO9RvSDW+c2Vjqf7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=t+UI/KwvMIY5EX0mnNiirFj2jrd1NYIwWX985DkLeh4=; b=OqkbUBmgHkQcY2FdDlSP0nJpq1wZ5Enw2MFswCs6Nl8YXTeEQK4tbJCALcLEqjjLaqoanzHkDZHh7VHPjti+iZ6b2pn0SE6j12n9kaY33V9L9kMkhUTdyUtrVyT25N+Df+zJOmLxfEoIxRE3/emTtnIDA5JCmdO/A0Y2H3OT8akb7v+xd0OT6LxRZw9ArlsgSiL04MorbiwjLEg0wg95YtstjdH0BNI8G/b7h2tvynegn4zPV/UskCEnHrqDlWj355qMxkaI2h5wvDKMqcGW1P4NkO5k8l/KAORJLQVn0yc0F9LLp1FrwmWHn8Q6QMb34D9aglsMxJUHwE0dodAW4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=garyguo.net; dmarc=pass action=none header.from=garyguo.net; dkim=pass header.d=garyguo.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=garyguo.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t+UI/KwvMIY5EX0mnNiirFj2jrd1NYIwWX985DkLeh4=; b=mx0up8YI0gKc5kSDCUyiLDKUF75At3Gi2Xxwisosv3Ov8JxXTjcmQ33kyIbt2nUcOt+Gi1HGKnJHkYMK5z6VXjWsZUxZRHm0D8/TvUKetp3vf5BtLJpvN/d+AkTTi6UrL7+liaYcJe+o3B+y0vb+bRkfioV00DyEwjwFFZRO9Vs= Received: from LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:253::10) by LO9P265MB7730.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:3a2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.15; Tue, 1 Oct 2024 18:28:36 +0000 Received: from LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM ([fe80::1818:a2bf:38a7:a1e7]) by LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM ([fe80::1818:a2bf:38a7:a1e7%3]) with mapi id 15.20.8005.026; Tue, 1 Oct 2024 18:28:36 +0000 Date: Tue, 1 Oct 2024 19:28:34 +0100 From: Gary Guo To: Danilo Krummrich Cc: ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com, boqun.feng@gmail.com, bjorn3_gh@protonmail.com, benno.lossin@proton.me, a.hindborg@samsung.com, aliceryhl@google.com, akpm@linux-foundation.org, daniel.almeida@collabora.com, faith.ekstrand@collabora.com, boris.brezillon@collabora.com, lina@asahilina.net, mcanal@igalia.com, zhiw@nvidia.com, cjia@nvidia.com, jhubbard@nvidia.com, airlied@redhat.com, ajanulgu@redhat.com, lyude@redhat.com, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v8 11/29] rust: alloc: implement kernel `Box` Message-ID: <20241001192834.36ec0fd7.gary@garyguo.net> In-Reply-To: <20241001150008.183102-12-dakr@kernel.org> References: <20241001150008.183102-1-dakr@kernel.org> <20241001150008.183102-12-dakr@kernel.org> X-Mailer: Claws Mail 4.2.0 (GTK 3.24.43; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P265CA0184.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:311::10) To LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:253::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LO2P265MB5183:EE_|LO9P265MB7730:EE_ X-MS-Office365-Filtering-Correlation-Id: c5cec498-4c23-4013-0bd2-08dce246dcfa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ym4QaBXsaSSY45ube4/yg3LG4csAvCRJA1jLQhjoa2iVNJc0k8peo+j8n4XP?= =?us-ascii?Q?cnliWXztRJt+Xea/MJAl/6w41Y825mfI6/GhE6yNN4T9HO04+REYMTvNFV/R?= =?us-ascii?Q?hoOix1Zj8WiUuFJNsBchTI9o5xy9SztiWeVXOLJwC6LPwYUsM8hTLp3t+4zU?= =?us-ascii?Q?fihrbt68jXHSehwdruMoNkqdOIh8+0zJaaTtqbAMnpTNl4MWbNbTycZxigWr?= =?us-ascii?Q?dKD8yZqex+zRs6rtf1VVCT3yR9G+luD8Ioi6VVPB1GpkU5Nh8K8Y6Jbo4OG3?= =?us-ascii?Q?z5nk0BKgb7inrrJarbEaosgQaUWh4DJ42hwIRJ5bKKwUxed2zKghuMVkNuQI?= =?us-ascii?Q?9INtjeL7WbIJ6KZPc4yhmSejw6cwK5xPqsgt9PrqfyEa02DVR8v3C0kjAIuU?= =?us-ascii?Q?XFUmxQQPk2FTP3yxxW5Zr7FeN+Avj9v8lmOUiG9PW1DUMXEVzwLB6BF+aYDI?= =?us-ascii?Q?WRz+BbhRWg/Nxff3SE7gZgZkIjrZSXmnn3BZVT/gUwPvd4A+OGk47noeiAO+?= =?us-ascii?Q?Xckv6IBlZCqzdPZjlY+qQM3/vTFGy652FSVW20/xHK0+Mxl+CqZz3xHfAmYK?= =?us-ascii?Q?pt3n6cXnJL9ABJkdqFiD7rVHgdAH8GHaxj5XKX67Pu89O9U0oYmBQbdVjGTk?= =?us-ascii?Q?mk14aMJuFTQWAGBhTDiaLtcs99YS5wcmdv/7cl/rBa4MkpB0apgPzrXZSajz?= =?us-ascii?Q?Jg6SVAayJ777ebYVOL2IQgslNdp/OliBV6qd/ZshNdLEkd55cTLBHzMrJMB1?= =?us-ascii?Q?3zsD7S47b+cAvKX0kP7sq1nMHXFHO8BAcr5Jfu6ht+vclryA+IGpGgtmlESH?= =?us-ascii?Q?DWpaP5Tei+KBSZSKQhFY8vv0bvrCj6CbvcN02LIA6keR5R2RNmkwDPBaxH3S?= =?us-ascii?Q?fKj6UyUqxSSk/6+zE7uxlnwsGVDP0xmGAsiGBkIQWUdxv5YxUG449nBFMLFr?= =?us-ascii?Q?aIoPE7gKgZpG060zRSVYB31wxoQBCJ8CwU8327s7IhWu7Uejg8htMyBg8EbL?= =?us-ascii?Q?oK/quN8W556lPLAzBsNx9ie0Y4J9s/Y1/CStE3Rrw6aMn7LwRiPQFKy1MXZR?= =?us-ascii?Q?WBV9wrag+gUTRopf4QKx6z3ZJF4TB5eNxSd7Fxfyon/hVZ8L++ueoMsZa67/?= =?us-ascii?Q?fWNga1Gut3bOvd+EI8CosMExTG6O/QCk8/ihxCWThBU7tZCFDtDQGwLA0FDK?= =?us-ascii?Q?PQUodOk+MAZbz9dNAYPCFtFYXiquSb0NLRHODgyIYixk1AhYnDfmxrsBU/hA?= =?us-ascii?Q?WRs1U3a6yCdJxSO7B4A1dBwIL/cbDvcdhUvtany5vQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(10070799003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JSq/e2kDqYGO4i+yQXEFhvVRrZUTGOpsDW+b5ZmTVy5dNweL7heNQbnCaYGs?= =?us-ascii?Q?ulZ6AS64ZkrG5IPfRaagJbTC3l9FaxjPPaIayKZKWv0BZrt9+6x/xgUltrXn?= =?us-ascii?Q?R3nvsXqweAeQQSchMJFx5zULm4JP/gTdLqdMSKV33iGU9uhVeul8DsR2Sp+z?= =?us-ascii?Q?icDBXYwgY7mqDRi6ykntktvjrIOOQEhhNyGnswSqnylYmgASiz7T16oBLReZ?= =?us-ascii?Q?3Q+MGQ+lVUkOtw2kpU/jmVrxvMn36EQWnvX3ltO/h23mD9+jzkGLyFfHssr2?= =?us-ascii?Q?879LvaFHgXpBkP1Ch6HPtaZXCxOQvixxWNkmvz676Ucsj/BPiyxmA3IWgvU7?= =?us-ascii?Q?XEgSsmJrJS86GaoeX4tVZf8zXGjkCFsEQ8WvLt0IwFCm2Z0wR8xhBxU1565u?= =?us-ascii?Q?bj7KMxJak8T8GJmrsjO1nnvS896CL4keiuPvebkASjefdq0RvIUMH4ZJanWY?= =?us-ascii?Q?SWBj79xUVvdiRh7+eGvcWgTO7HHQ0YUlNkm2yKWsNTykWSV0JAy4j4a0kMBt?= =?us-ascii?Q?50RbDwpcaZchg21ssGzJSHRy+nUP3V7opcjCvdgaLDMLDA5JAIUYH37U7uB9?= =?us-ascii?Q?I58lTaLdA+BmIpVYDjVoWarG7TKIlaEnrs8Gq0uCKy89FCVadIoJ9bhv/01R?= =?us-ascii?Q?4e+PqZPegLP+IHfuzCugIicmusHjNmtISQgwiih0G2Tfv0V8Nyl1Ze53RaGM?= =?us-ascii?Q?VrAmpmrcN9p6NnOSwwGJ08jzhfuF4GvYtaGkvVaeBJEzdML0Vj+LsIzhXVXN?= =?us-ascii?Q?3CjfLohD1Wh629bmEqe94FXrN/2ssWG/w4qqqKc81uk0CjcRqhREQmVIDN2s?= =?us-ascii?Q?9sUljSRwSCbj0zja2xyLeFd1OrkmoAOorYFUx9KJrnfzhWzPruuAbNKpyw5e?= =?us-ascii?Q?ZjBppIGkhhiyZoh7mvXoBH/RdQZNVhqiW9IUdeRI35+EbooAr6PxQBiPt/Eo?= =?us-ascii?Q?7KMCY8+cmr+B8uzo89iPbVABOvwdUzhGejfTkqONbEeDUFVszftSWLUnYpea?= =?us-ascii?Q?O9pQvPA095+qOf1G7XJJS0rD1khsGY53ntE0ir/7GnPZnqxqpw1Bhkhqcx2F?= =?us-ascii?Q?ZY7K1dOWhQZDuVZHXAGPdJD/KkBT/emsZyeUccdT38rw9ZFcn5WUdzDgZtI8?= =?us-ascii?Q?qYZoOSP66CWXmubHfR8lUbZ5DG8RoaQw7+AlLY42cubtpIfSygquc2IFPONq?= =?us-ascii?Q?Y56Tl38rPxyw5O0aijmKAxs46x2unH8M/zvlOpbAOp1ghsD4m/6U6R8/cv8W?= =?us-ascii?Q?qrl9pK10p9xaP3SsJjwMM1MebC5waDnz38odmVnwv06z+gAAurTqiLPc4Y7N?= =?us-ascii?Q?QC09paLOu7FKDQdjeRbyAeDT8ematGRuQerRn/zwQnlp6Ebeq6FGfc8NbhUp?= =?us-ascii?Q?lNkhKOkqIFRMwsDsg0PSGBdI7AsRJVDrD/U5iuNkXLrQgdLnq95dmMoz9JNH?= =?us-ascii?Q?tVQmOcsJpedSp29qPzQNP0FnUt7OiHhg/jPiPufe8h/tvUO2YIJFIaO88OKY?= =?us-ascii?Q?FkT14189GFx/wuR2OQCZlAmeb8xes26Jp5Ff2g3k17s/kxbyVNjqAEedJNmd?= =?us-ascii?Q?yIeiP6Fv2XUJotjnMK+B67s5VyufzttGtR5IQfl6?= X-OriginatorOrg: garyguo.net X-MS-Exchange-CrossTenant-Network-Message-Id: c5cec498-4c23-4013-0bd2-08dce246dcfa X-MS-Exchange-CrossTenant-AuthSource: LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2024 18:28:36.3793 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bbc898ad-b10f-4e10-8552-d9377b823d45 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ros7uw7gOzymAVDj47X+SRRrcnvfMcTstwvBARHRJ1XM2Fz55GUFcTV9GioHOocTdN2Gt2y4wm11Rv9HzGcSwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO9P265MB7730 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 63F8540008 X-Stat-Signature: 7j8j1hbunjp7qm77uie993xabnsw9jnk X-Rspam-User: X-HE-Tag: 1727807318-934478 X-HE-Meta: U2FsdGVkX1898CnXNDQriuI37uDmF5/F1hQP0CYrNk3R82ae1PHss33cfAJcS4nZ+9wE7dmSNld+S72WB59/Brklut7tZlYFWVIdc+AEaskkXEtHGudOjrHIAj+FVG9gQGEvb8Pz2BJSLsN06r0UKZpN1PS6MeDMlvPInMMaMOwVBk/Igt6bPhSXtWFp6uTTXBnfZtuTix8wAqL4mPptEFoj4BDYxEWHnEU7or0FNmaa3rJOpXslGKYKdQUlRI3axEO9fKN6RMtVm7rgGubqKg383ZKNsmZIgFKZTQiRzDcwzD0diS2v/7vdIfz27R6GdSDhH57xlC6VPKlgTjqbR9cLHj9cgS3idT7mWyWvthF2o2P/j1Qm0Tj1iqkp1joPgaycqFeUpTmyoV53+E2oeG3gFYjvH1K3pPoOuqHIHGtn9TG4iCo3nSqztlY/pysJRAQcbVLO1s75A4p61e00mzHXWX21fTqPrgP1UuMMGyKJWk4plugTm/n+gJQ+XsrsW6cMvRKSfYRyIUsWNVGfZ6jV7Ss9uBDx9N4L19LGdL5X3foOdZp5IaFPioKg3/N6n2Ztr+QZvAMedF8NYEbQ0AqhIXPV/+d8Bv2Ho3LwZcgytIr/SBNzzxHImWNozEPipANtf4WTzdym79PqoYDRPMVixcaQnkB/1mI8/q6nEO6dmnx+ijXt9uP+N//a6AlAjD1zStfIfp1L2Zc5+zbJzMnBmh1ae3JD/T7eLQumAdNTsOVyU4waaQ1d957LLXE02zzO7Qe9VL7kj/2j18TXw+xyJhH5EbrOE0KN4kumUEXT2uThMWB+st3Htlpt/xUSYk1JHowvAPx8enfDW6ApnvtRDf5GhldN8OkzzhSZrSAg/5IHxL/QI+FOd+B7hEVdfoHdNHa2699tKv7XLk9OdCf0mkDE+m4QS5CfP1VJ2wTyKeiRGqTDWbl6s4z4ZXrQUHi3D8FdMZCYitBFwep FqHh/Iap OQ+zdmXkD9cHX9Toh0W3kV9Hw6ZE1C8DQ/Rsvr3iZ3fbKZYabTn68K8PTb20ubxQmf/iLd7qwmC8WI/ubiT7yXB7/n8Q90G2Xm8dTT7v5me4SR60IU2oLxfl8VL7AsDYRaufsmw9lF0Ce31/nQ8o/0xu+hCmMPjRHgihgCNzgV+/oYqWrjEiMfPyc75KMpR1pJWDD1yK1S41GFsvacjq5ZlDhDhoHxFQTKclwvKKBpPFenCz63hTbgdAmae3oCUNTT6sJ6g1bTkkCBmPb1kTbFBy+oQP5bfVPUFmdLYWq/G+vzKdmqAHMX8GNQiGrdE0wBZODGMit8eKrnqZeEXXw6yrqLT//q6t75WQSZ4Vgivoct4taETWugl8yagCeykOBtWSLglFv+veAn3VZtqzcDCUXYjR/BRnj1pl2 X-Bogosity: Ham, tests=bogofilter, spamicity=0.027115, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, 1 Oct 2024 16:59:46 +0200 Danilo Krummrich wrote: > `Box` provides the simplest way to allocate memory for a generic type > with one of the kernel's allocators, e.g. `Kmalloc`, `Vmalloc` or > `KVmalloc`. > > In contrast to Rust's `Box` type, the kernel `Box` type considers the > kernel's GFP flags for all appropriate functions, always reports > allocation failures through `Result<_, AllocError>` and remains > independent from unstable features. > > Reviewed-by: Benno Lossin > Signed-off-by: Danilo Krummrich Reviewed-by: Gary Guo > --- > rust/kernel/alloc.rs | 6 + > rust/kernel/alloc/kbox.rs | 455 ++++++++++++++++++++++++++++++++++++++ > rust/kernel/prelude.rs | 2 +- > 3 files changed, 462 insertions(+), 1 deletion(-) > create mode 100644 rust/kernel/alloc/kbox.rs