From patchwork Wed Jan 4 06:06:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Feng Tang X-Patchwork-Id: 13088188 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 A65D6C4332F for ; Wed, 4 Jan 2023 06:08:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B2B4F8E0002; Wed, 4 Jan 2023 01:08:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AE43D8E0001; Wed, 4 Jan 2023 01:08:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C9CE8E0002; Wed, 4 Jan 2023 01:08:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8EE008E0001 for ; Wed, 4 Jan 2023 01:08:50 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 548481C605A for ; Wed, 4 Jan 2023 06:08:50 +0000 (UTC) X-FDA: 80316088020.25.23EA981 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by imf10.hostedemail.com (Postfix) with ESMTP id 1F613C0005 for ; Wed, 4 Jan 2023 06:08:47 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=DXrhVRY8; spf=pass (imf10.hostedemail.com: domain of feng.tang@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=feng.tang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672812528; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=1s5P6iET2OaU2whx6wnFdyFdaEhzKdZCflQd8AxmlTo=; b=x5hDwG+wdgivnxR0VlYuQWH71NfjxPdShvWfcJ84NuOiiAT0XPkZw8e/WQWBQQtCyRAXHf HmzLvoVmxEgQyuWziHx9+dnDaVPU+Di0dtel4ZjL6F1h/xdYn9JUIOoqR+fhk0v7PIlz4a zVCnYt780pZAHrYTWYgkm0KgBpNdGaw= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=DXrhVRY8; spf=pass (imf10.hostedemail.com: domain of feng.tang@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=feng.tang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1672812528; a=rsa-sha256; cv=none; b=wkpm6UFK10kAHE1O/NSPH55xgpyMXcJNkKlFlKngKAz5wSNDhcW7OwBlAdjlHwlmP1i7P+ 4Gpr/sf2TlNYW+affpU4Yh6JYbJOEv9pRVlfQpiTe7oJ1qUBXuoG8eMzT8L4I2VjIIisae gTxJwz1U1qIHwuYoeAJmEKYwz1tZPKA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672812528; x=1704348528; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=akgWoI1DZBNrZUnXySes4BuMOxDs0QUyVGoUEHSDAAM=; b=DXrhVRY8RXcSOJRjgD235NELEhctIyiMuh6nvHbC/tigqd0eaEj+0TmY JkfeZHE2zJJnznTZBuk1OG9ypXo0vlex/z74XXFVwf3scQC0DtD+QbRgV iZFtis051MagT5O+WCaXu2NUryJ84qXmNc8EY8rWM2XgY53Loqd4wBfGC m8FwebOTvwHkSYRP4bu55MYZ0LXiHTbXkyHynEjcSg4REs2RsUA2lJU68 vmYl41Il3llNPGX8NPrOCTFDu6qsm7KgQtMzj/fa4/rF9Xb/9RGqIKzkV 8TNwwdQ6x3HStBPWJs9nAOcnOQS33Y8DOgu8DLhZdR4CeykPMDLBOXAhj Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="323840109" X-IronPort-AV: E=Sophos;i="5.96,299,1665471600"; d="scan'208";a="323840109" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 22:08:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="779094063" X-IronPort-AV: E=Sophos;i="5.96,299,1665471600"; d="scan'208";a="779094063" Received: from feng-clx.sh.intel.com ([10.238.200.228]) by orsmga004.jf.intel.com with ESMTP; 03 Jan 2023 22:08:41 -0800 From: Feng Tang To: Andrew Morton , Vlastimil Babka , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Andrey Konovalov , Dmitry Vyukov , Andrey Ryabinin , Alexander Potapenko , Vincenzo Frascino Cc: linux-mm@kvack.org, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, Feng Tang Subject: [Patch v3 -mm 1/2] mm/slab: add is_kmalloc_cache() helper function Date: Wed, 4 Jan 2023 14:06:04 +0800 Message-Id: <20230104060605.930910-1-feng.tang@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 1F613C0005 X-Rspam-User: X-Stat-Signature: ht3i57qackz3d9pz1z68rorpu78oqqyc X-HE-Tag: 1672812527-333960 X-HE-Meta: U2FsdGVkX18dU/yDINt4B0cKAESTp69WRmXnG5aVhS7MokyI139wg9ucoH8yHdmnxU5Q+WZw0nWW7rpBiTKocsnJl7HQbsQwNJOk6gLM/+r5FOpGiVM3tbcOrRoLqdawnSxB1SkIAlJ/YfqYxxE5vc9n4hMojfw4xBruy4+LYR9BHD8BQkgjcQyQ+sowMEqmrAKXN9T+9poXVkw6wqFGC+IL1bscZbhgQQddZHYC4bs7xmurjaP+HH+Bw59blgJo0RR6gTsfdkZC+qYLHnec2eOK0DZYH9TzbXGY7mCNDhWLhnEp1n06kDKbJcl+fRR4SUBNBNv+blfJoHLo30gXCxoHW9dl7DPoQYDgZytKlIPqHR3KXeIYnyuSMlMKv/5uNLsy9zHnkOWiZvxWTeFiUkCN4rBdy+r0AqcpPurD0PLVL067qUL99KNcSRgmGCLnIGPMPI4fIYRa6FhMY+PWIoQIL4+h2hktArloAmfvalD/WgoV9BAfpatGHgR/4xfbBn6h7u/e/jbsBlyRSJ1xLlJlaZAu1EqkiwxJHJaJlQZnd6LeOyTKvXY4LXRNNupMRuY2dtn9YokQUDEMPe3Smx9iN6k8kBxPmkTl9CpKjYWBNK1oDqjb9nCw39UeXMbocBrDfZEQKFENf3duC0YdDZkh6rMGAuH9My17+iUMbGqqRr6LV8uW2BfglHNS9Hhr6gbJ+jxcsd6oUthzpVylezbTvyoYAQo8lkYaovPLv/qjH3ziqfnur3fQ7hs3NnEBfipgZAc56xD2yDoxVWi670EQHt9v/E+8vQp6GIxK7pi+r2i6wjnf6KHq33IZU5jOIbFkYaQAmQsHJp0+nkUjrnRjcUzqxn8X80tBSFrstv2oM367+GX1Bea5ayey+eUclpl4tRmEOvZPdgJdBA7HGMwdYhvA0pGl5f57wiAd1ojVmUr3HNMZu6nmv8PWJK3976BSZB0fIOyppnoQCrD eyqHQbMT XeIcac026RpAuLnqs3x6U7ztlTsEvjDNz6AMF7QpSNWb8nAg= 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: commit 6edf2576a6cc ("mm/slub: enable debugging memory wasting of kmalloc") introduces 'SLAB_KMALLOC' bit specifying whether a kmem_cache is a kmalloc cache for slab/slub (slob doesn't have dedicated kmalloc caches). Add a helper inline function for other components like kasan to simplify code. Signed-off-by: Feng Tang Acked-by: Vlastimil Babka Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Acked-by: David Rientjes --- changlog: since v2: * fix type in subject(Vlastimil Babka) * collect Acked-by tag since v1: * don't use macro for the helper (Andrew Morton) * place the inline function in mm/slab.h to solve data structure definition issue (Vlastimil Babka) mm/slab.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mm/slab.h b/mm/slab.h index 7cc432969945..63fb4c00d529 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -323,6 +323,14 @@ static inline slab_flags_t kmem_cache_flags(unsigned int object_size, } #endif +static inline bool is_kmalloc_cache(struct kmem_cache *s) +{ +#ifndef CONFIG_SLOB + return (s->flags & SLAB_KMALLOC); +#else + return false; +#endif +} /* Legal flag mask for kmem_cache_create(), for various configurations */ #define SLAB_CORE_FLAGS (SLAB_HWCACHE_ALIGN | SLAB_CACHE_DMA | \