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 8F31EC021B8 for ; Tue, 4 Mar 2025 17:14:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E56F46B0082; Tue, 4 Mar 2025 12:14:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E07286B0083; Tue, 4 Mar 2025 12:14:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CCEDE6B0085; Tue, 4 Mar 2025 12:14:36 -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 AC33B6B0082 for ; Tue, 4 Mar 2025 12:14:36 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 60E361403FF for ; Tue, 4 Mar 2025 17:14:36 +0000 (UTC) X-FDA: 83184517752.16.5D765BF Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf04.hostedemail.com (Postfix) with ESMTP id 6EE314001D for ; Tue, 4 Mar 2025 17:14:34 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lvBtPj6r; spf=pass (imf04.hostedemail.com: domain of lilithpgkini@gmail.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=lilithpgkini@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741108474; 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=PhODX1MZG6aDPWMLZOZeLQ4jZH5jv4ycal+F4TYo1r8=; b=BmecJ8lcr+Uskp9Ngg/GQmOvfuzfAbRUcgfsT0kH7pTULftLB5EpsZI3KR8xIuTPV2MBms 7tpoH4r/ViwtqQg5bY7jQC0Is0aMsbh+iNxNRu2CQD45VWXIYKblGUk9SIM94fpqUxHDn5 I84aYJ2R0NAWg/7RN7t/NmlbgFqCDAc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lvBtPj6r; spf=pass (imf04.hostedemail.com: domain of lilithpgkini@gmail.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=lilithpgkini@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741108474; a=rsa-sha256; cv=none; b=xVbo0cPXPsA3A2BMtQbtoqpA7G2mFxem8QGagAQtybdxcOwiLvxtXtiIgC89dSyZWZ/PTd YAIA8ZyrwYMNvkuPHHGbcyMjsPGWAgnbj2RhdBZqaUbxiAZX2eb9Tb2sm4C07xGtUcuhIV JdZDoDgY37HoQwSBBqOe7BnFJhHBJ6s= Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e549af4927so4267380a12.2 for ; Tue, 04 Mar 2025 09:14:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741108473; x=1741713273; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=PhODX1MZG6aDPWMLZOZeLQ4jZH5jv4ycal+F4TYo1r8=; b=lvBtPj6rEH6s59OMEc8mhUAx4sNkrJQg6jF9PtbVAzywMYWdDfuf26489iB2zir+9C 54KMwFy+wnVDv3piL/gKTlS4oODYXHeYxsJmmZvoFHFxoZqgAKp0iYxw0uF7aBt1RhRN /0O70EoF2Kc20bnf68Ur5ktl3UzoHYMkQRAFg33zmWLhHsf9eRFV6Q248mm4hBftkCq/ sU+danBtAE5YSXQ2z975/4Pod2VauNM+QGRyWBYApUV21yKY60mkGVTwwN9zAFWzGOIN 2l0S2ZcLVUOpmktj9MTs38UNxG3UoaGjFdY9nfhJN4EVVXLm/7B8fGW946V2wLa+e6ml VcQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741108473; x=1741713273; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PhODX1MZG6aDPWMLZOZeLQ4jZH5jv4ycal+F4TYo1r8=; b=Jxac4lQJynfcYHsGQyac/Tx7Bqna1VZXHBBJA3IsI/z4FyEIy+NHZtdRWuLzcOpWwh Vo+FclOlsZhCAkbpKc+txMRo/Z3MIMR/BfSf+KWeumqOiOtYYrwskcr2THHtjcUhZXgP jxwpVcrVkeXsvp8zw6+84SrsVE7mOVwkqatacHPumAXMHwQuhFWciilEwu+IhEXeLNbI CVuTLR/Iy9/RNFxC4dmZn8a+mvHBmQOkaHYeTwHElSKirDB9IRbEVCL3B+WeGJUk3QIz AbR0jBTatKaVzocqD8MxSgYegubnOSKjTcfTlJJvxuRMQ5KwQjVzujgQX0/0GPMX6a/V Nipg== X-Forwarded-Encrypted: i=1; AJvYcCXhvATttWUIPGiyVMirlBZer7/GHOHVaNO0GVR+ucc526cWjFHlf//aI8/HrMxTHNhWruPQ5tzayQ==@kvack.org X-Gm-Message-State: AOJu0YwPki98TuWCTeYH9UZIfmj+unVpvyYuF4+qz+bK+QtYe1pb6scs PrV+Co7UeQK6q+E9LaTQq58LtudfJXWBad8a1Ka3bFcSFfFdcVm9 X-Gm-Gg: ASbGncvTFSwI3z4G+7gzRbFiwVXfXjPV5oIA3mv1hbinpPsryTUqaQUELCtGRilI6jZ 13D0p6bYx/ONApFRuP4bKg8tSTNDsJCsXTS1TDvhQ355DnFuD1ksjfNz2b8RqDwBPpUe5Y9hWiy iRgGKlYpvRGEvw+dHzo2JfTVxQGx0gSCkrHC65pBKfAdr2zrnsu04wlf++ZuR+BrFZiCKJvcW05 6sO59GVOaeNHf7SiocKAskCyo23s32kQKumairE2mPyG1Bm43iBpzMuigt7oXo69kWmanJ4Gjsq edTWxatWpec6ur1Rh5gxl6rjDKmOiGlCS/Wi5+fYVF+Jx9XO X-Google-Smtp-Source: AGHT+IGNKGu21kO4mZSLA8+Gs1TnQhcvM1dkVhhaK4YPE9KLLc02MJoQfkLH1KOPsM01F9x/VW0Cgw== X-Received: by 2002:a05:6402:2350:b0:5e0:8c55:536 with SMTP id 4fb4d7f45d1cf-5e4d6ac9e59mr19010240a12.4.1741108472494; Tue, 04 Mar 2025 09:14:32 -0800 (PST) Received: from localhost ([2a02:587:860d:d0f9:2a79:b9e6:e503:40e9]) by smtp.gmail.com with UTF8SMTPSA id 4fb4d7f45d1cf-5e4c3b6cfc4sm8458585a12.18.2025.03.04.09.14.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Mar 2025 09:14:31 -0800 (PST) Date: Tue, 4 Mar 2025 19:14:30 +0200 From: Lilith Gkini To: Vlastimil Babka Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, harry.yoo@oracle.com Subject: Re: [PATCH] slub: Fix Off-By-One in the While condition in on_freelist() Message-ID: References: <8cabcf70-d887-471d-9277-ef29aca1216b@suse.cz> <714d353a-49c8-4cbd-88d6-e24ae8f78aaa@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 6EE314001D X-Stat-Signature: icfyndfw6ozkuzwk85pcf4dtf1nq94dj X-HE-Tag: 1741108474-785239 X-HE-Meta: U2FsdGVkX19qJ1AAODW5zO2U0sUumWjV84F2Kfl2+jdwMc4GytO5ap98e9qg4RIV28UpVDbn6I+O7dg5oahVHRgQLtnmvC+TS2xEHgyT/HcffMpKkwFRIeAm/j6TuA/Rvr4C6nqDNd3CCTf9GBqGWXBGdLU3i0KslBrroumoC+J7N4K2wuO9MlV9BsKf7+J5u7ZWBX23C9/cuL9ocUMLFewYGENsp6kRgOI/qDZFOmgvT13lkL4BRXR5zSX+R1QFRd6SeMurGSvqrk5MHjc8CqcoWeLwydnA0KoviHFc2gmi7IgWgiEoIEVWGywHMGcCIomyihcAI1rmRHM7EWQEO7gS8epYNPdIsGkq92agvHAigiXrmjvDDKDYFFKKGDgcUqmp6nN1kJMdpMMJHea86jeY+uKZ9lTXIMkkvMZ4ftxckqAO+Mw41ppzh/y069E/RCNqbMv3opwk0C6pvi7KstpyR06u0vzS/CxoNwINsGBkZVb7onBuqg095WOR+7KGQoFh6XZ/wHZsnWLLyJHYvWEo8f8Nqp0aZ3lPZy3BdJGvKlR26X0NYKXiB5tOhSYmYp7JKVS5R90XgcoWxVEeAONy8WUIhKfIDci8ILCYcY48YDhhJ9i77iqiFX5PP+qUGH4/yOaKyW/7jOb0eZrlclcMebnPd/nl0XuMns5KeAs7WGL4UoqpB4vrPIhOAr27aJ7F8RCdXo43he0LXEYTIcqW4iG+SQ3dJzGHnb5YSW7dpstb7t7l/ZQpvhez820EN/W71W0iBBJr2E+//ydXYLDjr+m10730TFZlIBmECy6a+4bbtaOk1CWr+PRZI87d+hNBNkq+F1eRu9fJqboEJWNwdnIXSBQuhwLIEQSR+56bEF///xrc6FWR8oMkeptoTiROEjug8nMiOLVeu8QoR1FjRvY2SrIf/KC4NyfXx2QRT948T9JPh2j8sYNWiXJDBxO7lZ60mlYHfa34VeX P6SS7u/o mjREf1e6P5OD1fXm0mKjd72vvO4BuhZeHZxFLKoAbmgTkIEOxdDuM/yabdc8KeSzaw6UDYJkWQXQ9DWIAdNo0QB9kOayGm3EK5McWAuHbuxeMjeRliKDyqD61En6OKfsmzYGn3QaWeiWJ+7gfjYgahJMp0VO5VIL3XCpghi3qUdhVAPTLeSGT+MbGasGkJeuCnQLBUN33PXmXM+8SPU7Dn7Hs6fiEYT8wCVUvee+tXZCihMpkdKTNsybyBC7th5YMCNN5pPixEFQnNcCFAE8h9YSkhgX3EhRb+4+NmDZU3z2+dVYIpF/ugjdn4+gleG9qdLTdvUTj8bvltnf/NzxkEb5bzoWsDy+geWSUowJHfwp2LtIcPjlJAtr503nVgcQB1r7u2kS14+Qfy3Rm9x+Dze1As+JmHgWXmV+6JfLr1B0MdI4htd7tACU84QxbyY6qCBD19S1sUmp8zq2yLrnc7JRY/BjxnJkCUb2ddCC6Y8OIArxSvf4aeT33b0wU75EOlCcCYqfC5GihDJI3fYrb6gU+btjEyN4zd5x/jLHL5LcvXksUqahK8lkx7OpqogH9Qb23yeaLpxYp8h/o4c+XhDe93pDY44BL/uvx/VUI5BLAR9r/iHMi2LT7TA== 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 Tue, Mar 04, 2025 at 03:25:26PM +0100, Vlastimil Babka wrote: > On 3/4/25 13:18, Lilith Gkini wrote: > > On Tue, Mar 04, 2025 at 12:20:03PM +0100, Vlastimil Babka wrote: > > I was also thinking of fixing two lines to adhere to the "Breaking long > > lines and strings" (2) from the coding-style. > > Hm AFAIK checkpatch was adjusted to only warn at 100 lines. While the style > document wasn't updated, we can leave such a small excess with no change. Yeah, it didn't complain about it, I noticed it while having multiple windows open with the diffs and all. > > --- > > mm/slub.c | 24 +++++++++++++++++------- > > 1 file changed, 17 insertions(+), 7 deletions(-) > > > > diff --git a/mm/slub.c b/mm/slub.c > > index 1f50129dcfb3..e06b88137705 100644 > > --- a/mm/slub.c > > +++ b/mm/slub.c > > @@ -1427,7 +1427,7 @@ static int check_slab(struct kmem_cache *s, struct slab *slab) > > * Determine if a certain object in a slab is on the freelist. Must hold the > > * slab lock to guarantee that the chains are in a consistent state. > > */ > > -static int on_freelist(struct kmem_cache *s, struct slab *slab, void *search) > > +static bool on_freelist(struct kmem_cache *s, struct slab *slab, void *search) > > { > > int nr = 0; > > void *fp; > > @@ -1437,38 +1437,48 @@ static int on_freelist(struct kmem_cache *s, struct slab *slab, void *search) > > fp = slab->freelist; > > while (fp && nr <= slab->objects) { > > if (fp == search) > > - return 1; > > + return true; > > if (!check_valid_pointer(s, slab, fp)) { > > if (object) { > > object_err(s, slab, object, > > "Freechain corrupt"); > > set_freepointer(s, object, NULL); > > + break; > > } else { > > slab_err(s, slab, "Freepointer corrupt"); > > slab->freelist = NULL; > > slab->inuse = slab->objects; > > slab_fix(s, "Freelist cleared"); > > - return 0; > > + return false; > > } > > - break; > > } > > object = fp; > > fp = get_freepointer(s, object); > > nr++; > > } > > > > - max_objects = order_objects(slab_order(slab), s->size); > > + if (fp != NULL && nr > slab->objects) { > > In case nr > slab->objects we already know fp can't be NULL, no? So we don't > have to test it? ...Yeah. All these different diffs got me confused. What a mess. I just tested it in a debugger. That fp null check isn't necessary. I'll send the full patch tomorrow or something, when I check it again with a clear head. I dont want to do any mistakes in the actual patch. > > I do have to note that the last slab_err is of length 81 with my change, > > but it looks fine. If that one extra character is unacceptable let me > > know so I can change it to something else. > > Or if you think it's completely unnecessary I could leave it as it was > > in the first place. > > Yeah can leave it. > Alright, I wont include the line breaks in the patch then! I'll leave it as it was.