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 849EFC4829E for ; Thu, 15 Feb 2024 22:13:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0F8A88D0017; Thu, 15 Feb 2024 17:13:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 082468D000E; Thu, 15 Feb 2024 17:13:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E64A98D0017; Thu, 15 Feb 2024 17:13: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 D0F428D000E for ; Thu, 15 Feb 2024 17:13:31 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7AFCF1608AB for ; Thu, 15 Feb 2024 22:13:31 +0000 (UTC) X-FDA: 81795440622.30.281A745 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf11.hostedemail.com (Postfix) with ESMTP id BA3EC4000E for ; Thu, 15 Feb 2024 22:13:29 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=dMqVDTRB; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708035209; a=rsa-sha256; cv=none; b=F9TjWNn4w9lBpbk3jlv5sLakO3UEMVV8IU/QBf4qaR5dqYb0+g7YdZOhi4KxV+W/W9ERqL aAaMpwq5J816L+og0K7mqbiyRAce0icHU04961Y6B1paLjrk1fGzNw7/4viu6G/5zv/XXe /RGia7VhdNXovPasdecIOYb5WGpB7Yw= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=dMqVDTRB; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708035209; 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=vVXTqIldo+bBUN2qGPMpdu4xA8ur5OmocrNHlsGX//8=; b=UCf/ZWKIt3lAkvZtYKGRqirsHxb0apeMmQ232RhXpDXK/xRDo/tv40uXn/0xbKitBE8dla GozBnpsvMHU20TuwfwprC4U2kttrm42z40Ar8HNCuDQVUtAZf0Z9PrDSVYjarlTCZFsQDy Jh4SWjZuKkITArjGA45dEXpCyLaP+iM= Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-60778cd55caso13846527b3.1 for ; Thu, 15 Feb 2024 14:13:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1708035209; x=1708640009; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=vVXTqIldo+bBUN2qGPMpdu4xA8ur5OmocrNHlsGX//8=; b=dMqVDTRBimX9EsQZZ/aGdtf2NW1P+mdiaZGDareXSvanwzCpCMm9a4SrTzF0pstLAo VkMTHt/kNu2heW2w4xz2fvLOo0QWdnzSQA+M6wWJ3lgew0yVRrUXsf3uF6OjkBMJ19hN laZzEy6wndQNS/NHfoF5fCBj9YweCIKXp3WmXs+psseHsD+c0pl7flzs9QzlhVeaCcEi pJxOSv5W5bNEJx5qfirDoDgy92oS1+KTY1QbZgGpuNyDhohA45HybbyDhhsEgjk2PTx2 MysWZp6wvoHzktevhfm6RZw42wksX1f0GJyHcc7vwO1ukPrNm6TQEmt1kaKBuvgpbmjT dUKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708035209; x=1708640009; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vVXTqIldo+bBUN2qGPMpdu4xA8ur5OmocrNHlsGX//8=; b=ci0PyujMoRMA+a6r9/Yd/soWnzil8qWXXBKZeedkdQ134jyC1lZCgQEbbsH725eY3l scVVK6Nj+b7jyDGg5YPzMw06HlKBiuFAw2YML1S8SNKmF/TAVH3Kn3GrbcCUnFHTTYUm mzucbqyo2r2RlAyH/Mbx+sZh7tUwsVJBbXJTovapTBe7aCF2UlafW88zv8H551P2cYFe PgaEYNr2aAUR36w9zHm1UY6Ebk5z/3sZlPGSz7f9rbHUK/7Qfj5eE1o1Tous6NO14LBV Ld/PXb3NvI6lhgf9lm05VBtpsxW6HI/qFzXLNPYgZ+GB0cIzBKCSYndARHNkwTvyh//D DurQ== X-Forwarded-Encrypted: i=1; AJvYcCW0sSaiUt8Ev/Dg42p2x+5JiKIse2qNqqDjnPOIiiE0frKNAy1McNAcJpBDICp9w9MkbWYdh3z85HsDX5aM5vmblq8= X-Gm-Message-State: AOJu0Yx0lx2mqGOfEK33GfVr+Ca3dW1uCE56IHc3Ti/ui+j5qcF7IPNY zq+aHkBUCP2deTcQJ7fdOUlJz1T4OQthqyfP1kobhvN0er+6F2ADgpTOn78uAbD3r3qfq94cd1p 6oO/+bOKo+lpuwjlQA7NQAd2GR91R51drhc42 X-Google-Smtp-Source: AGHT+IFpfAHbdwwQWobmayk2rC70GIR5llMLqhN7V0gqU4ymPn9T6FJZX+4/04lZlSOrJu1fJl+ZwYg9qZBTYuElGSc= X-Received: by 2002:a0d:cc4a:0:b0:607:cc6a:dcc5 with SMTP id o71-20020a0dcc4a000000b00607cc6adcc5mr3136666ywd.16.1708035208322; Thu, 15 Feb 2024 14:13:28 -0800 (PST) MIME-Version: 1.0 References: <20240212213922.783301-1-surenb@google.com> <20240212213922.783301-9-surenb@google.com> <02cb04cd-0d8d-4948-b3ef-036160c52e64@suse.cz> In-Reply-To: <02cb04cd-0d8d-4948-b3ef-036160c52e64@suse.cz> From: Suren Baghdasaryan Date: Thu, 15 Feb 2024 14:13:17 -0800 Message-ID: Subject: Re: [PATCH v3 08/35] mm: prevent slabobj_ext allocations for slabobj_ext and kmem_cache objects To: Vlastimil Babka Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com, hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, corbet@lwn.net, void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, dennis@kernel.org, tj@kernel.org, muchun.song@linux.dev, rppt@kernel.org, paulmck@kernel.org, pasha.tatashin@soleen.com, yosryahmed@google.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, andreyknvl@gmail.com, keescook@chromium.org, ndesaulniers@google.com, vvvvvv@google.com, gregkh@linuxfoundation.org, ebiggers@google.com, ytcoode@gmail.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, elver@google.com, dvyukov@google.com, shakeelb@google.com, songmuchun@bytedance.com, jbaron@akamai.com, rientjes@google.com, minchan@google.com, kaleshsingh@google.com, kernel-team@android.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, linux-arch@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, kasan-dev@googlegroups.com, cgroups@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: BA3EC4000E X-Stat-Signature: c6mdeouhimgghdhwcgra9h9hiqo6qhax X-Rspam-User: X-HE-Tag: 1708035209-340485 X-HE-Meta: U2FsdGVkX1/K4BxoOTkR26zwyNFNDUwHuWOhi5yLPQHm0PXWwbO+nTxC6nfg/yG1KHtsyimcT+Ae7v4qvjDDMgkYPqDINYmcddxbgAL1a939/TaRKEKut5CjGxAn9Ta39WrcVe5K3gsK6qMnR1bJJjxzuCztVaTu3N+t4Gj6jrlv/2lL+C/R/jfyRvXMc7vr3rmtbqgXklklNet9R3ivQIy+KUAeE2/GvLAt+cBf2osFCsJ3JYbLIxxgqPquUjMcMlTFLLFu3qnMGpLzRvrg4jN92odylSgIVCo4WbBipAgTFK6j+GxTd3bKKm3j5YJq1HrDrKtyugp9jXn/tDuZp4HWPGvFOdNMTh5cZyztICiLPXi4OJxLqZ4kluwjIGzFAWyvPNYy1nMn+mGGYOC6h74UZ13ZsiB3A32g5SyJILK4KXIIyvD+KYUNLADPSi0QK28lRuuF+8Isu3puoblDQ+/gzPEsEUxC8+pPA1nMERww5BWK6/JzN2wKzGqDF5yhB/f1/MD5+mKwCr+9N0JhIwfB6RkWxF0c4wJbHeLF8uL2HeNromsF8JFedCh05CkazNZvI3a9YL350iP/Nfn+8VkHpeBFZpkAqfzqpgPhbd1wk7zEyhYsEbyPNdiMD85c00DPErTwk5iNbTmake0ksKOsenqzvkfASwP2zoChynZt+EXTx1WzpnlwNqUM0RCObwkjFFDZQHUbcowrTGORpMIC1Renn7GdjFN4T+1+ewzgavcme5iCpMWSC6UvacAxs4PaSaIGz8rNBUPVYCz7woKyLpSUeoyk3aMR59aUz4q5e2L2/UpU3yonPlLdDVn0pjtFwByUk8Sik7TDD8y/5hdpHkM8p9dNXEJZyTYchqHSKrvp637lRMmcFz4+unbRGIF+E1ZEAKVL86QWUSdVxRFOAvjGp7ZFclQ6C8SpDV7ZGx6WDTpeTSPxLn50stHrf/Hq40pJSo4wUF4YPNj F3oBqo1P EdxAax2oLFKzKyo4lJEqQTtriROAGcXrttqzQ+Hvgh+2OxDetFFACdDNk5NvdgJr79VeCfh+CIMXUEaBFlEM7XZZN6mEjs+3KCM4juESq5lfzxLBHXqUbPSqaf47nbZILIyzcpERZGO6kAgOaGsxhgA6eAE5WW4BOwvAK39hlUVIggSjtxCLeMZ/InzNejdjazWneop517sqX/B6WucLtK09+wThxaG5uYULD9mCuStHkF5fomzvL9HhIGz5p7wrd9j8PaheHxHNIPN4IOyg1JZmgfNq9Y1OT52dEZsENtJUXcFZ4n/xf6UaX6W5K79FL+IYIRwG3MWAlw8Pq6l56hQB9GqrKcnFTv68cFvmJ5DUiJWY= 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 Thu, Feb 15, 2024 at 1:44=E2=80=AFPM Vlastimil Babka wr= ote: > > On 2/12/24 22:38, Suren Baghdasaryan wrote: > > Use __GFP_NO_OBJ_EXT to prevent recursions when allocating slabobj_ext > > objects. Also prevent slabobj_ext allocations for kmem_cache objects. > > > > Signed-off-by: Suren Baghdasaryan > > --- > > mm/slab.h | 6 ++++++ > > mm/slab_common.c | 2 ++ > > 2 files changed, 8 insertions(+) > > > > diff --git a/mm/slab.h b/mm/slab.h > > index 436a126486b5..f4ff635091e4 100644 > > --- a/mm/slab.h > > +++ b/mm/slab.h > > @@ -589,6 +589,12 @@ prepare_slab_obj_exts_hook(struct kmem_cache *s, g= fp_t flags, void *p) > > if (!need_slab_obj_ext()) > > return NULL; > > > > + if (s->flags & SLAB_NO_OBJ_EXT) > > + return NULL; > > + > > + if (flags & __GFP_NO_OBJ_EXT) > > + return NULL; > > Since we agreed to postpone this function, when it appears later it can h= ave > those in. Yes, I think that works. Will have this in the same patch. > > > slab =3D virt_to_slab(p); > > if (!slab_obj_exts(slab) && > > WARN(alloc_slab_obj_exts(slab, s, flags, false), > > diff --git a/mm/slab_common.c b/mm/slab_common.c > > index 6bfa1810da5e..83fec2dd2e2d 100644 > > --- a/mm/slab_common.c > > +++ b/mm/slab_common.c > > @@ -218,6 +218,8 @@ int alloc_slab_obj_exts(struct slab *slab, struct k= mem_cache *s, > > void *vec; > > > > gfp &=3D ~OBJCGS_CLEAR_MASK; > > + /* Prevent recursive extension vector allocation */ > > + gfp |=3D __GFP_NO_OBJ_EXT; > > And this could become part of 6/35 mm: introduce __GFP_NO_OBJ_EXT ... ? Yes, that will eliminate this patch. Thanks! > > > vec =3D kcalloc_node(objects, sizeof(struct slabobj_ext), gfp, > > slab_nid(slab)); > > if (!vec) >