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 D5D9DC001B0 for ; Wed, 26 Jul 2023 16:53:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 249216B007B; Wed, 26 Jul 2023 12:53:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FC446B007D; Wed, 26 Jul 2023 12:53:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C1C78D0001; Wed, 26 Jul 2023 12:53:12 -0400 (EDT) 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 F18386B007B for ; Wed, 26 Jul 2023 12:53:11 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 86611C036B for ; Wed, 26 Jul 2023 16:53:11 +0000 (UTC) X-FDA: 81054358182.04.A31A542 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by imf28.hostedemail.com (Postfix) with ESMTP id A8832C002A for ; Wed, 26 Jul 2023 16:53:09 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=21IXDU0Z; spf=pass (imf28.hostedemail.com: domain of glider@google.com designates 209.85.166.47 as permitted sender) smtp.mailfrom=glider@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=1690390389; 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=t7iHJUANe1yhyRJnb2Ec8dT6srhGd8kiML/+M915Ojk=; b=G+WIWSeKM4HtZGROK+nViWOQV3lVdSsDwMUw7REQ848GWdXiXC0CU31XPDjmxhlR/25hBv wfKXNEWub0U1Wl2HkA4mPK0CW+u2UzFXiYnOMNH6VIa8mh9b9ieEGvJuRLJUO6U3xEeWpF m7dkK9Fh9lRi9jZgjbqiqXKc4yIlLiI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690390389; a=rsa-sha256; cv=none; b=lRpB+MYVQ7HybTKnft7s2XEfPsdvNb6fUvTI3QjzO//Ik8TLmwjK4tCggxphOchAvH/FKA dTSX2h5uJHmL/ZkkV3q7csdjgpyVmXJpEPBQX0J4mkXviprp/TTA/MVKgJoCssAc3Mchqz JRV+Rz5YNHRJTG3hOSgv/izadJ+d7ek= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=21IXDU0Z; spf=pass (imf28.hostedemail.com: domain of glider@google.com designates 209.85.166.47 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-7836164a08aso348082639f.1 for ; Wed, 26 Jul 2023 09:53:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1690390389; x=1690995189; 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=t7iHJUANe1yhyRJnb2Ec8dT6srhGd8kiML/+M915Ojk=; b=21IXDU0ZhCnnUgNgxqj7X+0MI3QhtrRwmUg3+IJXwfFNErpDY041vb/aifwRf6K5cw crV+8+AVEqrwcW71plIpDs2ws7VHgwesyR0SNOqqFnO7OOlZosiNLRqFlw6Du9JanOqi 8yE9TDdnNTT6Gibwdmco2IZPHauV5qjjkiX478fOpjCfrbUJb8hVunllBD6g9LgROw9y 2Tv06mCtbOLHOikx20EknM8zrVTy+dJ5Vb9MTTP9HR8SMTAr7pvUoLKc2A0ksGpkU2Cl 9iYhNZeEsstWxjWWBCN5O53JZIhskMiehUb3qzqwQVhWHjkT+z/aa5cTSyjBPc8ZOMzH DMZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690390389; x=1690995189; 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=t7iHJUANe1yhyRJnb2Ec8dT6srhGd8kiML/+M915Ojk=; b=f6LyA7mrBSWV+79Sj4m4xlBW2hF+x5N0h9kODVkiVa5nK4NB4g2+TBzrw81zw1GoZe VGUHfiBreaYdgUZBDWmK8ncRojwQ8B8HhrenZ56Job9dF7LxRQ7useeYe1DBp07Xns1E LjNf9eNmt2HefnsTQuzqleoTWeVZt2KmtOYd2MvLBxHnUKnTNATfF/AGtqblDr0zaecl crtWql+FyPCq/pKZyh1FyKW590igucCQGLhPhy6A8hCQ39yTmPziCFP/yqolVyBM1f6e JsP9IQ7/JtbTs02Jr1nNMiJ9nHJ35A+DCwDGmRtZ60s7MrXh80I05QA6O7ZX097hTPWD kpdA== X-Gm-Message-State: ABy/qLbgxQ187Cf0cOSoemAAGUt+pXyHQFoYJEHi0ODuH8bURqih+qk0 A+ogKE5NjUCLk6eXNXapsdkSBGMTVz2DiZl2KdCJ4Q== X-Google-Smtp-Source: APBJJlETuTRsOJ712lADblsJ+Ybon+iclcEztmj570Gm/YFOyDLHZPDE2TOhKfgcVwmvZPl+fCXR4XjE967b79dNGm4= X-Received: by 2002:a5e:a705:0:b0:786:25cf:421f with SMTP id b5-20020a5ea705000000b0078625cf421fmr2763585iod.19.1690390388451; Wed, 26 Jul 2023 09:53:08 -0700 (PDT) MIME-Version: 1.0 References: <20230721160528.800311148@linuxfoundation.org> In-Reply-To: From: Alexander Potapenko Date: Wed, 26 Jul 2023 18:52:31 +0200 Message-ID: Subject: Re: [PATCH 6.4 000/292] 6.4.5-rc1 review To: Muchun Song Cc: Linus Torvalds , Marco Elver , Roman Gushchin , Andrew Morton , Linux-MM , Naresh Kamboju Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: A8832C002A X-Rspam-User: X-Stat-Signature: bth7jjpbqrfdzbgrozo4j9usin51b4ir X-Rspamd-Server: rspam03 X-HE-Tag: 1690390389-766629 X-HE-Meta: U2FsdGVkX19DucY5QdNjJ8b1ANG3muHgICt23MwkTRAYB2iZPYApgV503zuW+EHHliRnGFM3gawmDVEuTlrFL8Gyt7+/5qn7KZmQn2z2yx/AG7s8KLQmGYulMBQWJ0l7ZwohXzN6lTrMP93IQEaJPXgZvqmgU5iPYRqeedx9bYsmver31CElkQDUesNZyJmXbrs0teGtz2nVk3nDLjLnLyC+a51gc/q1P0v+NepRXcEKF8yVN9d60V/Z09EhnmlQnu+ZMtTKI0xtD4nzle2YInM7TzuJD3ZuPWOHs6TZ6707ESg7Kwkznw/8Dgzqge7nT5+1YSiHg52UQ5waIGctsmsY1rMeeIhBUtojzCTRDiGsbKhCDqstY3kZybPXc5MgVbICjKaPLgGk1qNPWfh3s1m5uDwHOA/xoprXHK7a6m3m3UK1HDPcOx+QLSA9pbVNr1ljnMo8im5OTnlhEen1EOemX5689VrKpiUXAzXXC2eqS6Ja7SSgL0aVVFZ9ufWgy9T6LN8EL9jDVPZKkIZ1n8V4+BC9rZy+Q4UqP+YBu/w5WaIYEXkLb6ziW3svSJxdjI0+hcQZB6mihbkQddUsNrbDj2rDmxiljeXyxNrzHvfIMefVDQx5Mrv1YOr+2TmNVdiedf+MmT8Iv14GzlG0iE+A7WAgBZRSxwEBMnoZAzp/zeskZFIgsnRugMQ5yOt7MPHnOtb2gmYMGgLPLXtaqmtCtWOKufm+H/wPp/WO4MgG9TkWoClX/zo+E+Iddelr5QjkHsAKMJ8x6EWBRgRyZcq6y3VLdoGpdDmN6+d80/GkFqT0eutI7GsSUJ0ZZinAvqn7qBChYyLW0MM7JFW/bYw/wc0ZqU68EEREQCsT3d2l0nMUaic7InqA3awI6vvpeo5MLxx3f3dPWun+5M+cgtM1cduoEoXKs+GOcU0aW4VRCPIJCxCm2kkfj3lSUNfdSG22Rj6ux3WuPG037Rg ZQORvw+9 Nqs1lq8vDZm9NEXhbgP5wycQS6pTFyIpBtHllwEKOMxjkJ/mtiPQVbsB+AucvVHDBqFIgS+djIE93jclE57v5DjR/Ba1/gOhChlrpzd5EoSO0vbvRX56dI53jRY794Bvm3aztUjp7oC1pPxAL/GSMAlJ1wW/0YRJF8NcYpFWwX7CkX7rxSDdD+Qc9M1PoMXcuD5XX37MecXrlkzjWakz9Gz1oHiSW2tXBuHdVpJTH3320GKDq734HYztBeATBvHUzwfu2ePK4uXuxPiw6S1FBCMWQFP6GXyGq/Tr8bqt6NAPeMW6vo3aY3ekYPIRsQSaKcQUszFbQ1NDkz2NkJBL0bRuxGYG/fTVrzsMEXG1z9g7pAKdfmdN7EDSwMmDAnrpV2z0VtDh6foe5AunOZjPgNPmJl9g9QwvwPb6e0C+m4ql9YZGU6KjsgAiQ2QpVZ39xyAXmj1vop+hLcaBbYZ6loyI8gHitv6zaMF2iwF628fV6K5M7IxMxAd3PhRvcQpAPDvUg X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Jul 25, 2023 at 6:21=E2=80=AFPM Alexander Potapenko wrote: > > On Tue, Jul 25, 2023 at 3:39=E2=80=AFPM Naresh Kamboju > wrote: > > > > On Tue, 25 Jul 2023 at 17:22, Alexander Potapenko w= rote: > > > > > > On Tue, Jul 25, 2023 at 11:59=E2=80=AFAM Alexander Potapenko wrote: > > > > > > > > On Mon, Jul 24, 2023 at 2:10=E2=80=AFPM Naresh Kamboju > > > > wrote: > > > > > > > > > > On Mon, 24 Jul 2023 at 15:50, Alexander Potapenko wrote: > > > > > > > > > > > > On Sat, Jul 22, 2023 at 6:37=E2=80=AFPM Linus Torvalds > > > > > > wrote: > > > > > > > > > > > > > > [ Removed the stable reviewers, bringing in the kfence people= ] > > > > > > > > > > > > > > See > > > > > > > > > > > > > > https://lore.kernel.org/lkml/CA+G9fYvgy22wiY=3Dc3wLOrCM6o33= 636abhtEynXhJkqxJh4ca0A@mail.gmail.com/ > > > > > > > > > > > > > > for the original report. The warning was introduced in 8f0b36= 497303 > > > > > > > ("mm: kfence: fix objcgs vector allocation"), and Google does= n't find > > > > > > > any other cases of this. > > > > > > > > > > > > > > Anybody? > > > > > > > > > > > > > > Linus > > > > > > > > > > > > > > > Muchun, any chance you know under what circumstances a KFENCE object > has its meta->objcg set to a non-NULL value? > It seems to be a quite rare case, and I've only seen it in live > radix_tree_node objects. > Since the check here: > https://elixir.bootlin.com/linux/latest/source/mm/kfence/core.c#L1097 > ensures that this value is NULL when the object is freed, where is the > code that is supposed to zero it? > Could there be a race somewhere? I am still puzzled about what is going on. As far as I can see, when KFENCE pool is initialized, for ith object page in the pool its page_slab()->memcg_data is set to a value derived from kfence_metadata[i].objcg Because KFENCE objects always occupy one page, no two objects are expected to share memcg_data at any time. When slab_alloc_node() is called, it first invokes slab_pre_alloc_hook(), figures out the obj_cgroup and charges it for the allocated memory. The obj_cgroup is returned to slab_alloc_node() and after KFENCE allocation succeeds is passed to slab_post_alloc_hook(), which then writes obj_cgroup to *(page_slab(object)->memcg_data). When an object is deallocated, slab_free() calls memcg_slab_free_hook(), which zeroes *(page_slab(object)->memcg_data) and passes the object to kfence_free(). At this point the object's meta->objcg must be NULL, so the warning should not be firing. -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg