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 74F8FC02182 for ; Tue, 21 Jan 2025 10:46:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5DD8280003; Tue, 21 Jan 2025 05:46:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C0C4F280002; Tue, 21 Jan 2025 05:46:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD4AF280003; Tue, 21 Jan 2025 05:46:31 -0500 (EST) 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 8F6CB280002 for ; Tue, 21 Jan 2025 05:46:31 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 368E6C08F6 for ; Tue, 21 Jan 2025 10:46:31 +0000 (UTC) X-FDA: 83031130182.24.7255398 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf25.hostedemail.com (Postfix) with ESMTP id 6A957A0003 for ; Tue, 21 Jan 2025 10:46:29 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf25.hostedemail.com: domain of kevin.brodsky@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=kevin.brodsky@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737456389; 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; bh=GvS/RGRRsFeMDOTp1nrCo1J/v2E+2xaKjWJVFWWFC9A=; b=TvLIIT+9iWu/apeHPnqpWiOESr3/lLm4er27GStT/uqihYJYIDN7wVfjbzKhy2RzJeCTIk FllHVhT6nN3rEX96VAUgqHmywnpnENbcu7AjqlrD/QJmDsrpFLlq/aAATotM+yilVsVXR2 5Wy6LR4FPdFoFHCa1tXgSA566FVaqyM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737456389; a=rsa-sha256; cv=none; b=8ja070Tt2wsoZmmCP65QbBRWvZWLe8EIsC89Hheocxjl+atnECxmmWFj1Oadrto+QjlVKh VRP9hrilIBvikulqwqB/ccUtGhZNA+Jc7fLYpkJFpL0T9G3jUXaKp2f3/eHPEMBL+JV0yy VLXs29KE8xDHsUxLmiT0ZDrJ0SDoAkg= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf25.hostedemail.com: domain of kevin.brodsky@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=kevin.brodsky@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0144F106F; Tue, 21 Jan 2025 02:46:57 -0800 (PST) Received: from [10.57.80.144] (unknown [10.57.80.144]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 508F13F740; Tue, 21 Jan 2025 02:46:24 -0800 (PST) Message-ID: <8ee3efbd-e24d-4e7b-ab3b-6b0efd62296b@arm.com> Date: Tue, 21 Jan 2025 11:46:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/slab: simplify SLAB_* flag handling To: "Christoph Lameter (Ampere)" Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com> References: <20250117113226.3484784-1-kevin.brodsky@arm.com> <0fa27da8-d523-77f7-0473-bb317ec9d83e@gentwo.org> Content-Language: en-GB From: Kevin Brodsky In-Reply-To: <0fa27da8-d523-77f7-0473-bb317ec9d83e@gentwo.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 6A957A0003 X-Stat-Signature: i1e1pnapa1f6xz19ppuimbyaj9mome5b X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1737456389-310940 X-HE-Meta: U2FsdGVkX19UoFjmzkPbt6qktrXKHidZ8p4qOI1b/p4MipjpYcTlJUumSl71HFackior4VTtdEiIoizPTJsOSyhgAAEFG5ZFQoGfqrvq3LnAsBVPl9wubtep7fuo0CbvmSsc3xwKkahAuGgdvfV79UWd/eBpVF41DxNaP5hoVdwW2PyCXx0DL0yJFJe6LAOqop8S9p92Tv1ntARHQvTJmfxUfSm8vKDAjq6P06FM3ADzqHvs0Bsw6jdnJ+XTog/qaKXPuRJtWjyJCUcm60WqGj8dEz6SDZjnYbkyDpLxwendl+qfgY9rTvYCEjUYxHio1aslzAgLjIytNS1ZUOQitooC65sG7WpYKRWTVEVtS1HkjbZiXXWmzC6a6KTgdgCboylkZDjtYn0eU6J1VNrCGTfguYzDyHx/FAuoOGh0JuAEin9g7Yo6Ldf1X2Ui/ALjBZapGX64+ZF26GJW9RLqmcoFl41KoeDj06h0UKSJcu61EO5EpDYx2K/8bjOi8cdB9E6cJFp7JijQ1CxDatQyNGCT/wyo5QpNRql/pFkEauS4rQbGnpThSmW6eGHs/aNy4fEvk1K+NbtcKbI4FY68GAW7rk9M9ypHwzvSJFiJb+hfLVtnpXrPHMrkkQQJ+W4gxWNZjgAGB5dbi4JMOHI5+fHYfjA6hyCflLdYI+k4qVb3pLY6+xqXuRGLfXKh4L/9VW2TZo1t/xog/wb0L7HHEd5eiGbCeE8nal70kjOJBjrIfkHq7R/8OehR6CBxSRZY25UV3rK6rassKWz4bpjjLyEcOLTB1NSwF24Ah9KEJVKNf3g23q/PRt1cXnwbWaDRN2FrZ3vp/qv9uxcblMyWdzD4S9+S7a7xd5OA34kVUBdkFyBnEITbPupt/MDQ3wIC8GRJ/N2xzdHGBU/JosD04Y12S3TTCLm6S6/X/L0NtBEUOQlBZ6JSHUKHPZjpTenBNxGDJLnEPhfMnkBNbiR /wHhdGA1 tkqtnFC1EnJ/za0cxfKlV8SW5dD6VGhCUZdt9hW2E/1T619JVr7l/KbWIQvBsAJiilHmoYXo9BqIiMnMoGpbMi4Pm+SS972jfZTCQ8vFRNNA1q4QLShgvwZ+aP9bNVybMWatTm+EpR797dRbVWJ+UcFbcfbkecP8hAK2Ho2OXWnP1o1Y20hRtddTIjTZJDjV2Aoy8/Z5ePb7ZaSqqfRy0rqjhWBM2Ep11YCGDXbAMUVDcW/HVSugRjuxapdACcJevYFSt2shz/0+761KEjd85QZm1XYEpVrO9Dv01iLJRW2OcU9nWKQtKryTQ1A== 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 17/01/2025 23:13, Christoph Lameter (Ampere) wrote: > On Fri, 17 Jan 2025, Kevin Brodsky wrote: > >> index a29457bef626..3b07cdaac3ae 100644 >> --- a/mm/slab_common.c >> +++ b/mm/slab_common.c >> @@ -305,18 +305,6 @@ struct kmem_cache *__kmem_cache_create_args(const char *name, >> goto out_unlock; >> } >> >> - /* Refuse requests with allocator specific flags */ >> - if (flags & ~SLAB_FLAGS_PERMITTED) { >> - err = -EINVAL; >> - goto out_unlock; >> - } > I think we should keep checking for invalid flags. The commit that introduced this check [1] aimed to ensure that no allocator-specific flag is passed to kmem_cache_create(), so it seemed to me it was no longer needed now that allocator-specific flags are gone. Having said that, we could keep it in order to reject flags that are not supposed to be passed to kmem_cache_create() (e.g. SLAB_SKIP_KFENCE). With that approach we'd just need to clear SLAB_DEBUG_FLAGS below if !CONFIG_SLUB_DEBUG (and get rid of CACHE_CREATE_MASK). - Kevin [1] https://lore.kernel.org/all/1478553075-120242-2-git-send-email-thgarnie@google.com/ >> - /* >> - * Some allocators will constraint the set of valid flags to a subset >> - * of all flags. We expect them to define CACHE_CREATE_MASK in this >> - * case, and we'll just provide them with a sanitized version of the >> - * passed flags. >> - */ >> flags &= CACHE_CREATE_MASK; > This would silently clear some flags instead of creating an error.