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 F0464C28B28 for ; Sat, 15 Mar 2025 18:39:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E6E5E280004; Sat, 15 Mar 2025 14:39:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DF692280002; Sat, 15 Mar 2025 14:39:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C991D280004; Sat, 15 Mar 2025 14:39:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id ABAAC280002 for ; Sat, 15 Mar 2025 14:39:16 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DB3FEB1DAA for ; Sat, 15 Mar 2025 18:39:17 +0000 (UTC) X-FDA: 83224647954.26.891ECD9 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf01.hostedemail.com (Postfix) with ESMTP id 2D57A40009 for ; Sat, 15 Mar 2025 18:39:15 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=bHt+C34V; spf=pass (imf01.hostedemail.com: domain of kees@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=kees@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742063956; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1D7p9WQjHtU3uA0Hu1c1+tbp+NMfWhwFJdK0qpk8YWs=; b=Ktdol7KFzui3dTSycSPq9WZi4mRn4G1eWPaqpgdAa7uQKXGLXXLKCWqz+LFrQndDslenFM vo8sfat16mp1fInAMsNB2/wTjbserqHQ2QeyODc1mVPl7E0byBku9+bqc9JQWV0wS2BRXV oDIPxAQaqkXLRZBXT3I9pZJi1MRgvt8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=bHt+C34V; spf=pass (imf01.hostedemail.com: domain of kees@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=kees@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742063956; a=rsa-sha256; cv=none; b=NM2h+sPbK9Dk1OucIYlx56EIpskH/L3exPMpyCPdZaInLDRoEDs7jNOafveWFzE8yqnT4n 9cAmWgyhPnM21LP27W/JSgz1gthxkDiGiFobcpFTOTIJ/bS9I10cfDg8BRKgNci6AX+eyn b2K7GHmlo+Oc4qlw0KSp58d0IZfvKK8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 3C6715C06A6; Sat, 15 Mar 2025 18:36:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84CCAC4CEE5; Sat, 15 Mar 2025 18:39:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742063954; bh=2JrTR70esOK5zGWVnspLubUzr2Qx3iJY8knG+uUwLAE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bHt+C34V1chKfmMKRkxrpxwm/Cdh5e9nRpXvV9BH/I9MK3LhQfviQAiL6v2BSJwzK nupIG83rrP/oXzqf6KIgo1LfQTrBd4Od2G4yvKvvcCy0IBprSXed2H+AMBiJv5HefF k6aSLX/IP+UY/RYHDUfZzZoIt3aPtSKr3g9c9p8d1jJK7EE1swSh2WqqZ5z4CxNJIR o0uViE0R6A66KpfwcChTj93bfMLM2AsUIj1endUTXYgjdanwo8l5LCrPdiAJE/BlE3 /XEwVeeRzB5v8cX2weGcM6S+RZrV2vSZyIrNJLJ7smrXjZRUPbRjze7Kn6Lhd/rN1p gqlJNg7riEStw== Date: Sat, 15 Mar 2025 11:39:08 -0700 From: Kees Cook To: "Gustavo A. R. Silva" Cc: Vlastimil Babka , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Gustavo A . R . Silva" , Bill Wendling , Justin Stitt , Jann Horn , Przemek Kitszel , Marco Elver , Linus Torvalds , Greg Kroah-Hartman , Sasha Levin , linux-mm@kvack.org, Miguel Ojeda , Nathan Chancellor , Peter Zijlstra , Nick Desaulniers , Jonathan Corbet , Jakub Kicinski , Yafang Shao , Tony Ambardar , Alexander Lobakin , Jan Hendrik Farr , Alexander Potapenko , linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, linux-doc@vger.kernel.org, llvm@lists.linux.dev Subject: Re: [PATCH v4 2/2] slab: Introduce kmalloc_obj() and family Message-ID: <202503151137.CA3D422F3@keescook> References: <20250315025852.it.568-kees@kernel.org> <20250315031550.473587-2-kees@kernel.org> <17076519-33fd-4fac-a718-784b9597c9e6@embeddedor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <17076519-33fd-4fac-a718-784b9597c9e6@embeddedor.com> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 2D57A40009 X-Stat-Signature: trrz3u59jmhz64cbbutz6nhajs4iiobn X-HE-Tag: 1742063955-163082 X-HE-Meta: U2FsdGVkX1/ms8Th2ht0DJj/6VCvgszUXgNBjfxPHi6dAXtnDgNzolEyPAA49NBHA6Mw9nsfN3i5RIDYBl9h+CIkNTcWZ4tVpBs6sQ5uPvJisuxIUPpAJp+A93KploYV96wiJww5b/CrowH+gWw8TmwyQO1gmA05A3LpRgrp1z4taVLdhcrQMfnn4YCF3ehDpfaevYV5ATII3W58UiRD9dL01LlowSwHcAKI40tOMydY9KAAGN+VbWm9+43KHgbeyuSndERYb5w3Ufn2NB2FMgde6PHuDYcCxu81rA8YMiuL1XIIxw5SSQH+EOYLpM0LR49j8mAZNruTsBdKaKbQ/EIY8BJnXeQ5zZVeRpvV4/TlN7mcoQuqjC2/s2qcXydXPfE0XKpjO83/f7ewmMFvMKzBkB16lh8We6BMk6cUm5GGUck1gW9tUMyovw7dN1DpEi0ua34Nz9H7XqQB1Pkuze9TSr2EfOWfDMSvAg1L/tYd3TuvXLZoBReraryj6UQFDZN4ZvgISXVczBB8wWV+d87g/nTOiTBD6SVsXemkovAcqQnnDF6ls4pvCegaLr/F5RshJv6XIhWpskdlclQVqrbBnyDolk8K1KYHkc9ey0MU9mg1GbRZNfiX6HFvciEwCMMw5QJW+WPe/MTIBmKpKK4PN6goD4wS3zkVxOc2qj2DQQEQ6LukR8FaTuFcUMcP62KID13YRDEdLlLNvN9FEd93rr4HK3pZiFwDvFu5YaShEfH0RQgoAe24N6U2K2Cd4lCjpoC9wxkCgUnSI1rUUiGAEszrxAv7yHjSRzncJAqSxmCBhG4v+3l0g320IWw/utpDuFDgCPXKIhfu7UnHC79DRHcFjlb6kpEJ0OFbqAUgxVy4S9Y4ADGZfN5UnZaqxlbuN//cqgrGXh7dg3VcNsD4ZP4hcplFoyI1LHq1BH31WdeCp5SvC7Z9T9kJKaKPbFapI9hPoGCFDp9vHKn nIK3TV9N ecXRacODFx/XVvw54aQ10wZHkFP42j5keSb3WNTD51wOOPsxhURk/f/paz77VVxMx8Qj0fdPQUhiOSMiSpdI+421Qa4LxQKW8QvpAEtBRXH+UXdVN2RLksgUFvcD9K9XVfzZdXDW0BHYZgBQ14uKycKu0MStlq9EfNfOeFObGbsXVHEa89kS6lHC0UBMJAmymrpyJxRRztcCk0optJW97z31c+/jsYrmmZM+jeCxZxVRwhMGmK9LwiP0TAIEI6a/JxO8GRp1Ui8npCXYa/4NG4wVDVNXSRn84BEua8uJ6uNpoRbnIQ/BJHsfSHXg/+0WVQVcnzOX8ZbMBbrtpV3wq048GXMWcRWkrsxA3Dc1qng3PSxM6+WywdT7hfw== 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: List-Subscribe: List-Unsubscribe: On Sat, Mar 15, 2025 at 03:48:30PM +1030, Gustavo A. R. Silva wrote: > > > These each return the assigned value of ptr (which may be NULL on > > failure). For cases where the total size of the allocation is needed, > > the kmalloc_obj_sz(), kmalloc_objs_sz(), and kmalloc_flex_sz() family > > of macros can be used. For example: > > > > info->size = struct_size(ptr, flex_member, count); > > ptr = kmalloc(info->size, gfp); > > > > becomes: > > > > kmalloc_flex_sz(ptr, flex_member, count, gfp, &info->size); > > I wonder if it'd be better to keep the gfp flags as the last argument > for all these `*_sz()` cases: > > kmalloc_flex_sz(ptr, flex_member, count, &info->size, gpf); > > Probably, even for __alloc_objs() I was following the pattern of the other "alternative helpers", like kmalloc_node(), which adds the additional argument to the end. I have no real opinion about it, so I defer to the slab developers. :) -Kees -- Kees Cook