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 4A0B2C001DC for ; Mon, 31 Jul 2023 07:56:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 97B066B0080; Mon, 31 Jul 2023 03:56:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 929C128001A; Mon, 31 Jul 2023 03:56:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7F1F86B0087; Mon, 31 Jul 2023 03:56:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 705856B0080 for ; Mon, 31 Jul 2023 03:56:25 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 351171A0101 for ; Mon, 31 Jul 2023 07:56:25 +0000 (UTC) X-FDA: 81071149530.14.18ADB82 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf11.hostedemail.com (Postfix) with ESMTP id 1BFDE4001C for ; Mon, 31 Jul 2023 07:56:22 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=IHnIUQZ9; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=eztUAdxg; dmarc=none; spf=pass (imf11.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690790183; 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=pIov8vVMxRXk3LyFbp2uD7LCYfJdh0gTq4UHYD1FInU=; b=HIzcVUVrt29UNh4sFC7QZSR+zAYIwooAh3yIilb6LME0VzOhdq0mkc05BzOO4FzxhTfw6d 93TbtyHxic8y/3aq4RRAXid3PyQklHYJlXIn441I2jvPUzh8jSzIwwjFS+ADLEEPGMeclo ylGvCFtv9PpnD0zsDj3NViNl5t7vmcA= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=IHnIUQZ9; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=eztUAdxg; dmarc=none; spf=pass (imf11.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690790183; a=rsa-sha256; cv=none; b=xvBZqU7wCSXvIlZpx6XRJbUsD/FjH4Ljox893j49Hd9g7MIJ2xo+eGyCSCARxQXfdhkMqa ILlWBE51Sunwau2U1+YELRSRssN1EYQNgYxwPzZau7Yh3Oto7gvpBVUoBOiy22n7DTLxZv 2DAkVUD7obJo/85yRuj4VPP67dWlhXI= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 4E4071F74C; Mon, 31 Jul 2023 07:56:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1690790181; h=from:from:reply-to: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; bh=pIov8vVMxRXk3LyFbp2uD7LCYfJdh0gTq4UHYD1FInU=; b=IHnIUQZ9tVD/LASVC7rY1vGfrWL9+ec7o+rPfms6OJLNDzTNPC7aHi2M1nuiRuDQBze+ae O6dfZ19xVe75ZjC34nC+0+XdIcwq2HDvK2VBrnkVsPk9667dBBwoStRKrxzy5OgV8bSNNv 3q/hDsaIvRA3ATqfO4tWSmdMITxBmUE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1690790181; h=from:from:reply-to: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; bh=pIov8vVMxRXk3LyFbp2uD7LCYfJdh0gTq4UHYD1FInU=; b=eztUAdxg5V1WceeZeOx6eIIrl61kMJVZKqLNYceVCOHCR0LVSeE9S4r4QUicyJF3kjz1K5 P0bcigSCk9jJCFAg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E45F1133F7; Mon, 31 Jul 2023 07:56:20 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id MQfqNiRpx2RNEAAAMHmgww (envelope-from ); Mon, 31 Jul 2023 07:56:20 +0000 Message-ID: Date: Mon, 31 Jul 2023 09:56:20 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH 1/3] rust: allocator: Prevent mis-aligned allocation To: Boqun Feng , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Miguel Ojeda , Alex Gaynor , Wedson Almeida Filho , Gary Guo , =?UTF-8?Q?Bj=c3=b6rn_Roy_Baron?= , Benno Lossin , Martin Rodriguez Reboredo , Alice Ryhl , Dariusz Sosnowski , Geoffrey Thomas , Fox Chen , John Baublitz , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Kees Cook , stable@vger.kernel.org, Andreas Hindborg References: <20230730012905.643822-1-boqun.feng@gmail.com> <20230730012905.643822-2-boqun.feng@gmail.com> Content-Language: en-US From: Vlastimil Babka In-Reply-To: <20230730012905.643822-2-boqun.feng@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1BFDE4001C X-Stat-Signature: azsesop4bcoa3whujpbhi7hr7hgb4us1 X-HE-Tag: 1690790182-209751 X-HE-Meta: U2FsdGVkX1+vzlOp4LnGKzahheiqXpb9jRyyFzHLQiHwUSxVBAznkPV1OXfRxPaHfmx9kIri6lYk2gaxEw26fcyRcMk5/ISdtUS68MXeem3AtuNVUMMu2H7lEKtqW3Qk87h2qu6oedF9jXvs/QIQPVSvemz3bX6V0z18gl3cr4YRTb5XB2NWZXxp820hdn2bPF2ItG1Tr9V6f08HSaJVJ/L2GvO22Eu8kCoxSK4envJn08PcsvsvksGpI6OhTu1bAgjGDnVjrAy+sVlU20yXWEU49nOt1ubfcoWssoUAUiKQwBJO8DEWPDcfsg/17T0cAU4wBVEMLng1VwEzq39I70ZBmYCiLwiLNki5afVyFHZZ3n3WswWQFPWQbkhP52U4dQt+iN2MY3qBLitmwHvNSJSq+AnFB1t5kVj6NaTqZ13eKahAsnRtnTayfu+kyC8oQc//WlZaRXwJ4BbWst6vmdhCEY5EfMoqAQcpK8CyKJHaGz2nnNs481WWKp2xhF/RWXcOoPxDco+2724SMgJGoHmBJH+Kq53KrOMqz1tQxSWDuYbH5HFsBEKK9V9mYJgAoNIWNEerjWphefhb4sI+uk+Np89k4GH2ufBqKhP0gyNXWEASNz+eFmQrM9I57GtgR65ZOOd+eg02InQBhPCoCxg5QaedImBZQZ8JfYdI5g4uZR/0wwsgUBsOsqgJl/uFXf8kucvg+lq8GnfP2cL6lc8ccb21CWwUNg0v2b+eBeldkJrQYKIsUmbQ48IiUjx3pjTkEoQgBGJ3mOlv6bFKQ1TmMFjPxR4qoPXrLwohCE4oMGlREXGWfoIchfWZTlB8PEm9KBWsURNtcTc78MLj9JSR3SJ69W2QRPyQruZ+Krb9A+WaDzkk2JGleuntpWFy0C8FCsUZX91u7eso75HWfwOAYdXIeemoJjlr0A7MZnSsvo0Uu4HPSJCIWdxb9vTSij4ICQE0/yK8ysYP/nM xIqwYLmL JRw5/fXZEiHarnV7k3oK/GmTeuRS7cHLDFBTcuJQr/UXI6P84s41z8nWxpXlMfWepIMH928ym2gR/GZWPkiPPaFBTccrE3GkHLLr2eZ/GaDikkGcrP+nqQWtGqSeEI+be9XkArhqjq9HFpRm/u6jXTcw0eycVqGQGEq50dMZP189jm4GsaPs8fDBS65KQXDze8RF9NZaGLBW3iSNHeyMPqG7VqDYqs4RVBGjOK1GI7iQjWh5tu4PjTfG3GgCFWkiFABfqRbdUPB4w2gr2Z3IWPxQovxUALI44zCIhwj2918XoxCz/3cCwlOp+lVnqfLHjIdyWxnkGtkldf2TL1pnAeGP3H2TXtOwwhXW+ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 7/30/23 03:29, Boqun Feng wrote: > Currently the rust allocator simply passes the size of the type Layout > to krealloc(), and in theory the alignment requirement from the type > Layout may be larger than the guarantee provided by SLAB, which means > the allocated object is mis-aligned. > > Fix this by adjusting the allocation size to the nearest power of two, > which SLAB always guarantees a size-aligned allocation. And because Rust > guarantees that the original size must be a multiple of alignment and > the alignment must be a power of two, then the alignment requirement is > satisfied. > > Suggested-by: Vlastimil Babka > Co-developed-by: Andreas Hindborg (Samsung) > Signed-off-by: Andreas Hindborg (Samsung) > Signed-off-by: Boqun Feng > Cc: stable@vger.kernel.org # v6.1+ Acked-by: Vlastimil Babka