From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21807606A320 for ; Tue, 27 Oct 2026 22:56:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=jw+U2dGl; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=n0o9bM6M DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=j1VhjF7f2Pg2SuD288H3kWA9N2poObwBc15T86KYJpA=; b=jw+U2dGlZ3IRD2sPDBqlxbMHDi tJHgzX5AsN+Jnmvc3AEXzGqDGL6eOoICDA4NgeY/Tlo7rUDTa/nzj7LBck06MDYkzwjNfIibVcb6n IuZCGvp7w/nbh0Ptn12V8Qrr6YvmpqEWcplygb9OZXaBLZ1CQVsMGvqlLWq4SRxZYnx5exRqAexPs J8GV/1w0nFeYUv49cjLFvt3Ym8XNmhKr7nXfnZVOdxvbhsnn0UXSlDFLXOXlFx8mPgZsO1RrvefNt SuM7IhYojVvAQSp3bswUyiEAAuhcy4h7rSFjrvIbusOouvRrGwEyYvznE/DwmH0u/UOhsOXpeF1T9 aISs7g9g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xLq5e-00000005tC8-1f0s; Tue, 27 Oct 2026 22:56:22 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xLq5c-00000005tC2-2OCp for linux-mtd@lists.infradead.org; Tue, 27 Oct 2026 22:56:20 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 0B204414F9; Tue, 27 Oct 2026 22:56:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68A4D1F01825; Tue, 27 Oct 2026 22:56:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793141779; bh=PGIVzh2vRG3PPdwb4MSHQ9cli0w5dxMbX/Iatj0t//Q=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=n0o9bM6MejvHAu2M8cKnApFDeCr2pztgVJxcJ/U/dYUzh92/xwspw74DYEdN6lYep +qdRFfx5AU7lmjuWZ129Fvk2AY0ZXG8WiqNXsGrHHgrwmueDNBifSXHdFzyF74bb8+ qgtQtXflCYHfZePgXewrsALMQeWz+mIHd3tufJqtp0SR+uqiaW8X70UadF6vsouu1g C0g9p35bk5DF3wbGpLPy2ZzcgD319ZnaYjFA2H/KzAd8wn6cignLz0T0oMsbxfUQa+ KD3DlYfzkrRHjGgUA+c2jE7IbK9I+1kaW/P0okr7V2WH5q2tR81v2keIq4H2UDJeGQ UZAoUOmFMMq7g== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 9/9] kobject: Require explicit initialization of struct kobj_type::release To: "Ian Rogers" , "Kees Cook" , "Greg Kroah-Hartman" , "Miguel Ojeda" , "Rafael J . Wysocki" , "Danilo Krummrich" Cc: "Nathan Chancellor" , "Nick Desaulniers" , "Miguel Ojeda" , =?utf-8?b?Q2hyaXN0aWFuIEvDtm5p?= =?utf-8?b?Zw==?= , "Zhihao Cheng" , "Zhongqiu Han" , "Sumanth Korikkar" , "Bill Wendling" , "Justin Stitt" , linux-s390@vger.kernel.org, linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org, "Catalin Marinas" , "Will Deacon" , "Mark Rutland" , "Len Brown" , "Vinod Koul" , "Frank Li" , "Alex Deucher" , "David Airlie" , "Simona Vetter" , "Dennis Dalessandro" , "Jason Gunthorpe" , "Leon Romanovsky" , "Nelson Escobar" , "Satish Kharat" , "James E.J. Bottomley" , "Helge Deller" , "Linus Walleij" , "Sebastian Reichel" , "Heiko Carstens" , "Vasily Gorbik" , "Alexander Gordeev" , "Christian Borntraeger" , "Sven Schnelle" , "Huisong Li" , "Gao Xiang" , "Chao Yu" , "Yue Hu" , "Jingbo Xu" , "Sandeep Dhavale" , "Hongbo Li" , "Chunhai Guo" , "Jaegeuk Kim" , "Mark Fasheh" , "Joel Becker" , "Joseph Qi" , "Heming Zhao" , "Johan Hovold" , dmaengine@vger.kernel.org, linux-rdma@vger.kernel.org In-Reply-To: <20261027223847.652884-10-irogers@google.com> References: <20261027223847.652884-1-irogers@google.com> <20261027223847.652884-10-irogers@google.com> Date: Tue, 27 Oct 2026 22:56:16 +0000 X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" X-Spam-Status: No, score=-14.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0xvd10gZmJkZXY6IG9tYXBkc3M6 IGluYWNjdXJhdGUga29ial90eXBlIGNvbW1lbnRzIGZvciBtYW5hZ2VycyBhbmQgb3ZlcmxheXMK LSBbTG93XSBrb2JqZWN0OiBpbmFjY3VyYXRlIGtvYmpfdHlwZSBjb21tZW50cyBvbiBzdGF0aWMg bGlmZXRpbWUgYW5kIGRlbGF5ZWQgcmVsZWFzZQotLQoKY29tbWl0IDI4MTFkZDBkNDQ5NGY1ODRi N2IzZmFkNzNkOGU2YjlmMmYwNjdjOTYKQXV0aG9yOiBJYW4gUm9nZXJzIDxpcm9nZXJzQGdvb2ds ZS5jb20+Cgprb2JqZWN0OiBSZXF1aXJlIGV4cGxpY2l0IGluaXRpYWxpemF0aW9uIG9mIHN0cnVj dCBrb2JqX3R5cGU6OnJlbGVhc2UKClRoaXMgY29tbWl0IGFubm90YXRlcyBzdHJ1Y3Qga29ial90 eXBlOjpyZWxlYXNlIHdpdGggX19tdXN0X2luaXQgc28gdGhlCmNvbXBpbGVyIGRpYWdub3NlcyBh bnkgc3RydWN0IGtvYmpfdHlwZSBpbml0aWFsaXplciB0aGF0IG9taXRzIC5yZWxlYXNlLiBGb3IK cmVtYWluaW5nIGxlZ2FjeSBzdHJ1Y3Qga29ial90eXBlIGRlZmluaXRpb25zIHRoYXQgZG8gbm90 IGZyZWUgdGhlaXIga29iamVjdAp2aWEga29iamVjdF9wdXQoKSwgaXQgZXhwbGljaXRseSBpbml0 aWFsaXplcyAucmVsZWFzZSA9IE5VTEwgd2l0aCBjb21tZW50cwpkb2N1bWVudGluZyB0aGUga29i amVjdCBsaWZldGltZSBhbmQgQ09ORklHX0RFQlVHX0tPQkpFQ1RfUkVMRUFTRSBiZWhhdmlvci4K Ckxpbms6IGh0dHBzOi8vbHBjLmV2ZW50cy9ldmVudC8yMC9jb250cmlidXRpb25zLzIzOTIvCgo+ ICAgICBrb2JqZWN0OiBSZXF1aXJlIGV4cGxpY2l0IGluaXRpYWxpemF0aW9uIG9mIHN0cnVjdCBr b2JqX3R5cGU6OnJlbGVhc2UKPiAgICAgCj4gICAgIERvY3VtZW50YXRpb24vY29yZS1hcGkva29i amVjdC5yc3Qgc3RhdGVzOgo+ICAgICAKPiAgICAgICAiT25lIGltcG9ydGFudCBwb2ludCBjYW5u b3QgYmUgb3ZlcnN0YXRlZDogZXZlcnkga29iamVjdCBtdXN0IGhhdmUgYQo+ICAgICAgIHJlbGVh c2UoKSBtZXRob2QsIGFuZCB0aGUga29iamVjdCBtdXN0IHBlcnNpc3QgKGluIGEgY29uc2lzdGVu dCBzdGF0ZSkKPiAgICAgICB1bnRpbCB0aGF0IG1ldGhvZCBpcyBjYWxsZWQuIElmIHRoZXNlIGNv bnN0cmFpbnRzIGFyZSBub3QgbWV0LCB0aGUgY29kZQo+ICAgICAgIGlzIGZsYXdlZC4gTm90ZSB0 aGF0IHRoZSBrZXJuZWwgd2lsbCB3YXJuIHlvdSBpZiB5b3UgZm9yZ2V0IHRvIHByb3ZpZGUKPiAg ICAgICBhIHJlbGVhc2UoKSBtZXRob2QuIERvIG5vdCB0cnkgdG8gZ2V0IHJpZCBvZiB0aGlzIHdh cm5pbmcgYnkgcHJvdmlkaW5nCj4gICAgICAgYW4gXCJlbXB0eVwiIHJlbGVhc2UgZnVuY3Rpb24u Igo+ICAgICAKPiAgICAgQW5ub3RhdGUgc3RydWN0IGtvYmpfdHlwZTo6cmVsZWFzZSB3aXRoIF9f bXVzdF9pbml0Cj4gICAgIHNvIHRoZSBjb21waWxlciBkaWFnbm9zZXMgYW55IHN0cnVjdCBrb2Jq X3R5cGUgaW5pdGlhbGl6ZXIgdGhhdCBvbWl0cwo+ICAgICAucmVsZWFzZS4KPiAgICAgCj4gICAg IEZvciB0aGUgcmVtYWluaW5nIGxlZ2FjeSBzdHJ1Y3Qga29ial90eXBlIGRlZmluaXRpb25zIHdo ZXJlIHRoZSBrb2JqZWN0Cj4gICAgIGlzIHN0YXRpYywgcGVyLUNQVSwgcGVybWFuZW50IGZpcm13 YXJlIHN0cnVjdHVyZXMsIG9yIGVtYmVkZGVkIGluc2lkZSBhCj4gICAgIGRldm0tIG9yIHBhcmVu dC1tYW5hZ2VkIHN0cnVjdHVyZSByYXRoZXIgdGhhbiBmcmVlZCBieSBrb2JqZWN0X3B1dCgpLAo+ ICAgICBleHBsaWNpdGx5IGluaXRpYWxpemUgLnJlbGVhc2UgPSBOVUxMIHdpdGggYSBjb21tZW50 IGRvY3VtZW50aW5nIHdoeSBubwo+ICAgICByZWxlYXNlIGNhbGxiYWNrIGlzIHByb3ZpZGVkLgo+ ICAgICAKPiAgICAgV2hlcmUgdGhlIGV4aXN0aW5nIHRlYXJkb3duIGlzIG5vdCBzYWZlIHdpdGgg Q09ORklHX0RFQlVHX0tPQkpFQ1RfUkVMRUFTRSwKPiAgICAgYmVjYXVzZSB0aGUga29iamVjdCdz IG1lbW9yeSBjYW4gYmUgZnJlZWQgb3IgY2xlYXJlZCB3aGlsZSB0aGUgZGVsYXllZAo+ICAgICBr b2JqZWN0IGNsZWFudXAgaXMgc3RpbGwgcGVuZGluZyAoaW9hdCwga3VucGVuZ19oY2NzIGFuZCBv bWFwZmIgZGlzcGxheSksCj4gICAgIHRoZSBjb21tZW50IHNheXMgc28uIEZpeGluZyB0aG9zZSBp cyBsZWZ0IHRvIGZvbGxvdy11cCBwYXRjaGVzOyB0aGlzCj4gICAgIGNoYW5nZSBkb2VzIG5vdCBh bHRlciB0aGVpciBiZWhhdmlvci4KPiAgICAgCj4gICAgIExpbms6IGh0dHBzOi8vbHBjLmV2ZW50 cy9ldmVudC8yMC9jb250cmlidXRpb25zLzIzOTIvCj4gICAgIFNpZ25lZC1vZmYtYnk6IElhbiBS b2dlcnMgPGlyb2dlcnNAZ29vZ2xlLmNvbT4KCltTZXZlcml0eTogTG93XQpUaGUgY29tbWl0IG1l c3NhZ2Ugbm90ZXMgdGhhdCB3aGVyZSBleGlzdGluZyB0ZWFyZG93biBpcyBub3Qgc2FmZSB3aXRo CkNPTkZJR19ERUJVR19LT0JKRUNUX1JFTEVBU0UgKGxpc3RpbmcgaW9hdCwga3VucGVuZ19oY2Nz LCBhbmQgb21hcGZiCmRpc3BsYXkpLCB0aGUgY29tbWVudCBzYXlzIHNvLgoKQXJlIHRoZXJlIGFk ZGl0aW9uYWwga29ial90eXBlIGRlZmluaXRpb25zIHRvdWNoZWQgaW4gdGhpcyBwYXRjaCB3aGVy ZSB0aGUKYmFja2luZyBtZW1vcnkgaXMgZnJlZWQsIHplcm9lZCwgb3IgdW5tYXBwZWQgd2hpbGUg ZGVsYXllZCBrb2JqZWN0IGNsZWFudXAgaXMKc3RpbGwgcGVuZGluZyB1bmRlciBDT05GSUdfREVC VUdfS09CSkVDVF9SRUxFQVNFLCBzdWNoIGFzIG9tYXBmYiBtYW5hZ2VyX2t0eXBlCmFuZCBvdmVy bGF5X2t0eXBlLCBhbWRncHUgdWFsaW5rX3hjcF9pbmZvX2t0eXBlIGFuZCB4Y3Bfc3lzZnNfa3R5 cGUsIGhmaTEKc2RlX2t0eXBlLCB1c25pYyB1c25pY19pYl9xcG5fdHlwZSwgYWI4NTAwX2ZnX2t0 eXBlIChvbiB0aGUKa29iamVjdF9pbml0X2FuZF9hZGQoKSBlcnJvciBwYXRoIGluIGFiODUwMF9m Z19zeXNmc19pbml0KCkgYmVmb3JlIGRldm0gZnJlZXMKZGkpLCBhbmQgdGhlIHN0YXRpYyBrb2Jq ZWN0cy9rc2V0cyBpbiBsb2FkYWJsZSBtb2R1bGVzIChlcm9mcywgZjJmcywgb2NmczIsCmFuZCBw ZGNfc3RhYmxlIG9uIG1vZHVsZSB1bmxvYWQpPwoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3VhbGluay5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3VhbGluay5jCj4gaW5kZXggMTc4ODhjZjU0NDQ3Mi4uYzJjY2NkOTI0YjAzYyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWFsaW5rLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWFsaW5rLmMKPiBAQCAt ODg1LDYgKzg4NSwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCB1YWxp bmtfeGNwX2luZm9fZ3JvdXAgPSB7Cj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGtv YmpfdHlwZSB1YWxpbmtfeGNwX2luZm9fa3R5cGUgPSB7Cj4gKwkvKgo+ICsJICogUHJlLWV4aXN0 aW5nOiB4Y3AtPnVhbGluay5rb2JqIGlzIGVtYmVkZGVkIGluIHN0cnVjdCBhbWRncHVfeGNwX21n cgo+ICsJICogcmF0aGVyIHRoYW4gZnJlZWQgaW5kaXZpZHVhbGx5IGJ5IGtvYmplY3RfcHV0KCku Cj4gKwkgKi8KPiArCS5yZWxlYXNlID0gTlVMTCwKPiAgCS5zeXNmc19vcHMgPSAma29ial9zeXNm c19vcHMKPiAgfTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV94Y3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV94Y3AuYwo+ IGluZGV4IGFiMTQwNzlkMWM0MjIuLjA4NDcxMzRhMTM5MTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3hjcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3hjcC5jCgpbIC4uLiBdCgo+IEBAIC0xMDYxLDYgKzEwNjYsMTEg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgYW1kZ3B1X3hjcF9hdHRyc19n cm91cCA9IHsKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qga29ial90eXBlIHhjcF9z eXNmc19rdHlwZSA9IHsKPiArCS8qCj4gKwkgKiBQcmUtZXhpc3Rpbmc6IHhjcCBpcyBlbWJlZGRl ZCBpbiBzdHJ1Y3QgYW1kZ3B1X3hjcF9tZ3IKPiArCSAqIHJhdGhlciB0aGFuIGZyZWVkIGluZGl2 aWR1YWxseSBieSBrb2JqZWN0X3B1dCgpLgo+ICsJICovCj4gKwkucmVsZWFzZSA9IE5VTEwsCj4g IAkuc3lzZnNfb3BzID0gJmtvYmpfc3lzZnNfb3BzLAo+ICB9OwoKW1NldmVyaXR5OiBMb3ddClNo b3VsZCB0aGUgY29tbWVudHMgb24gdWFsaW5rX3hjcF9pbmZvX2t0eXBlIGFuZCB4Y3Bfc3lzZnNf a3R5cGUgYWxzbyBub3RlIHRoZQpDT05GSUdfREVCVUdfS09CSkVDVF9SRUxFQVNFIHVzZS1hZnRl ci1mcmVlIGhhemFyZD8KCkR1cmluZyB0ZWFyZG93biwgYW1kZ3B1X2RldmljZV9maW5pX2h3KCkg Y2FsbHMgYW1kZ3B1X3VhbGlua19zeXNmc19maW5pKCkgYW5kCmFtZGdwdV94Y3Bfc3lzZnNfZmlu aSgpLCB3aGljaCBjYWxsIGtvYmplY3RfcHV0KCZ4Y3AtPnVhbGluay5rb2JqKSBhbmQKa29iamVj dF9wdXQoJnhjcC0+a29iaiksIGFuZCB0aGVuIGFtZGdwdV9kZXZpY2VfZmluaV9zdygpIGZyZWVz IGFkZXYtPnhjcF9tZ3IKd2hpbGUgZGVsYXllZCBrb2JqZWN0IGNsZWFudXAgbWF5IHN0aWxsIGJl IHBlbmRpbmcuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9zeXNm cy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvc3lzZnMuYwo+IGluZGV4IDM3MmNmZDEz ZGM2MTYuLjVhMWFjYTA2YjU0MmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3 L2hmaTEvc3lzZnMuYwo+ICsrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9oZmkxL3N5c2ZzLmMK PiBAQCAtNjA4LDYgKzYwOCwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5c2ZzX29wcyBzZGVf c3lzZnNfb3BzID0gewo+ICB9Owo+ICAKPiAgc3RhdGljIHN0cnVjdCBrb2JqX3R5cGUgc2RlX2t0 eXBlID0gewo+ICsJLyoKPiArCSAqIFByZS1leGlzdGluZzogc2RtYV9lbmdpbmUgaXMgZW1iZWRk ZWQgaW4gZGQtPnBlcl9zZG1hIGFycmF5Cj4gKwkgKiByYXRoZXIgdGhhbiBmcmVlZCBieSBrb2Jq ZWN0X3B1dCgpLgo+ICsJICovCj4gKwkucmVsZWFzZSA9IE5VTEwsCj4gIAkuc3lzZnNfb3BzID0g JnNkZV9zeXNmc19vcHMsCj4gIH07CgpbU2V2ZXJpdHk6IExvd10KRG9lcyBzZGVfa3R5cGUgYWxz byBoYXZlIHRoZSBzYW1lIENPTkZJR19ERUJVR19LT0JKRUNUX1JFTEVBU0UgdXNlLWFmdGVyLWZy ZWUKaXNzdWUgd29ydGggbm90aW5nIGluIHRoaXMgY29tbWVudD8KCkluIHRoZSBkZXZpY2UgcmVt b3ZhbCBwYXRoLCBoZmkxX3ZlcmJzX3VucmVnaXN0ZXJfc3lzZnMoKSBjYWxscwprb2JqZWN0X3B1 dCgmZGQtPnBlcl9zZG1hW2ldLmtvYmopIHJpZ2h0IGJlZm9yZSByZW1vdmVfb25lKCkgLT4KaGZp MV9mcmVlX2RldmRhdGEoKSAtPiBzZG1hX2NsZWFuKCkgY2FsbHMga2ZyZWUoZGQtPnBlcl9zZG1h KS4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody91c25pYy91c25pY19pYl9z eXNmcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L3VzbmljL3VzbmljX2liX3N5c2ZzLmMKPiBp bmRleCBmZGI2M2E4ZmI5OTc0Li5kZjBlNDgwNzBjMmVlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv aW5maW5pYmFuZC9ody91c25pYy91c25pY19pYl9zeXNmcy5jCj4gKysrIGIvZHJpdmVycy9pbmZp bmliYW5kL2h3L3VzbmljL3VzbmljX2liX3N5c2ZzLmMKPiBAQCAtMjQ1LDYgKzI0NSw4IEBAIHN0 YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICp1c25pY19pYl9xcG5fZGVmYXVsdF9hdHRyc1tdID0gewo+ ICBBVFRSSUJVVEVfR1JPVVBTKHVzbmljX2liX3Fwbl9kZWZhdWx0KTsKPiAgCj4gIHN0YXRpYyBz dHJ1Y3Qga29ial90eXBlIHVzbmljX2liX3Fwbl90eXBlID0gewo+ICsJLyogUHJlLWV4aXN0aW5n OiB1c25pY19pYl9xcF9ncnAgaXMgZW1iZWRkZWQgaW4gUkRNQSBjb3JlLW1hbmFnZWQgc3RydWN0 IHVzbmljX2liX3FwX2dycC4gKi8KPiArCS5yZWxlYXNlID0gTlVMTCwKPiAgCS5zeXNmc19vcHMg PSAmdXNuaWNfaWJfcXBuX3N5c2ZzX29wcywKPiAgCS5kZWZhdWx0X2dyb3VwcyA9IHVzbmljX2li X3Fwbl9kZWZhdWx0X2dyb3VwcywKPiAgfTsKCltTZXZlcml0eTogTG93XQpTaG91bGQgdGhpcyBj b21tZW50IG9uIHVzbmljX2liX3Fwbl90eXBlIGFsc28gbWVudGlvbgpDT05GSUdfREVCVUdfS09C SkVDVF9SRUxFQVNFPwoKV2hlbiBkZXN0cm95aW5nIGEgUVAsIGliX2Rlc3Ryb3lfcXBfdXNlcigp IGNhbGxzIHVzbmljX2liX2Rlc3Ryb3lfcXAoKSAtPgp1c25pY19pYl9zeXNmc19xcG5fcmVtb3Zl KCksIHdoaWNoIGNhbGxzIGtvYmplY3RfcHV0KCZxcF9ncnAtPmtvYmopCmltbWVkaWF0ZWx5IGJl Zm9yZSB0aGUgUkRNQSBjb3JlIGZyZWVzIHRoZSBzdHJ1Y3QgdXNuaWNfaWJfcXBfZ3JwIGFsbG9j YXRpb24uCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9k c3MvbWFuYWdlci1zeXNmcy5jIGIvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvZHNz L21hbmFnZXItc3lzZnMuYwo+IGluZGV4IDFiNjQ0YmU1ZmUyZWQuLjQwZWM3NTBmNDMxNTUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvZHNzL21hbmFnZXIt c3lzZnMuYwo+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rzcy9tYW5h Z2VyLXN5c2ZzLmMKPiBAQCAtNDk2LDYgKzQ5NiwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5 c2ZzX29wcyBtYW5hZ2VyX3N5c2ZzX29wcyA9IHsKPiAgfTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3Qg a29ial90eXBlIG1hbmFnZXJfa3R5cGUgPSB7Cj4gKwkvKgo+ICsJICogUHJlLWV4aXN0aW5nOiBt Z3ItPmtvYmogaXMgZW1iZWRkZWQgaW4gc3RhdGljIG1hbmFnZXJzW10gYW5kCj4gKwkgKiB6ZXJv ZWQgaW4gZHNzX21hbmFnZXJfa29ial91bmluaXQoKS4KPiArCSAqLwo+ICsJLnJlbGVhc2UgPSBO VUxMLAo+ICAJLnN5c2ZzX29wcyA9ICZtYW5hZ2VyX3N5c2ZzX29wcywKPiAgCS5kZWZhdWx0X2dy b3VwcyA9IG1hbmFnZXJfc3lzZnNfZ3JvdXBzLAo+ICB9OwoKW1NldmVyaXR5OiBMb3ddCklzIG1h bmFnZXJzW10gYWN0dWFsbHkgYSBzdGF0aWMgYXJyYXkgaGVyZSwgYW5kIGRvZXMgdGhpcyB0ZWFy ZG93biBhbHNvCmNvcnJ1cHQgcGVuZGluZyBkZWxheWVkIGNsZWFudXAgdW5kZXIgQ09ORklHX0RF QlVHX0tPQkpFQ1RfUkVMRUFTRT8KCkluIGRyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZi L2Rzcy9tYW5hZ2VyLmMsIG1hbmFnZXJzIGlzIGR5bmFtaWNhbGx5CmFsbG9jYXRlZCBvbiB0aGUg aGVhcCBpbiBkc3NfaW5pdF9vdmVybGF5X21hbmFnZXJzKCkgYW5kIGZyZWVkIGluCmRzc191bmlu aXRfb3ZlcmxheV9tYW5hZ2VycygpOgoKc3RhdGljIHN0cnVjdCBvbWFwX292ZXJsYXlfbWFuYWdl ciAqbWFuYWdlcnM7CgppbnQgZHNzX2luaXRfb3ZlcmxheV9tYW5hZ2Vycyh2b2lkKQp7CglpbnQg aTsKCgludW1fbWFuYWdlcnMgPSBkc3NfZmVhdF9nZXRfbnVtX21ncnMoKTsKCgltYW5hZ2VycyA9 IGt6YWxsb2Nfb2JqcyhzdHJ1Y3Qgb21hcF9vdmVybGF5X21hbmFnZXIsIG51bV9tYW5hZ2Vycyk7 CgkuLi4KfQoKSW4gYWRkaXRpb24sIGRzc19tYW5hZ2VyX2tvYmpfdW5pbml0KCkgY2FsbHMKbWVt c2V0KCZtZ3ItPmtvYmosIDAsIHNpemVvZihtZ3ItPmtvYmopKSByaWdodCBhZnRlciBrb2JqZWN0 X3B1dCgmbWdyLT5rb2JqKQooYW5kIGRzc191bmluaXRfb3ZlcmxheV9tYW5hZ2VycygpIHRoZW4g Y2FsbHMga2ZyZWUobWFuYWdlcnMpKSwgd2hpY2ggY2xvYmJlcnMKYW5kIGZyZWVzIHRoZSBwZW5k aW5nIGRlbGF5ZWQga29iamVjdCBjbGVhbnVwIHVuZGVyCkNPTkZJR19ERUJVR19LT0JKRUNUX1JF TEVBU0UganVzdCBsaWtlIGRpc3BsYXlfdW5pbml0X3N5c2ZzKCkgaW4KZGlzcGxheS1zeXNmcy5j LgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvZHNzL292 ZXJsYXktc3lzZnMuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rzcy9vdmVy bGF5LXN5c2ZzLmMKPiBpbmRleCAxZGE0ZmIxYzc3YjRhLi40ZDMzMzAzMWIxOGQ2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rzcy9vdmVybGF5LXN5c2Zz LmMKPiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9kc3Mvb3ZlcmxheS1z eXNmcy5jCj4gQEAgLTQyOSw2ICs0MjksMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeXNmc19v cHMgb3ZlcmxheV9zeXNmc19vcHMgPSB7Cj4gIH07Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGtvYmpf dHlwZSBvdmVybGF5X2t0eXBlID0gewo+ICsJLyoKPiArCSAqIFByZS1leGlzdGluZzogb3ZsLT5r b2JqIGlzIGVtYmVkZGVkIGluIHN0YXRpYyBvdmVybGF5c1tdOwo+ICsJICogZHNzX292ZXJsYXlf a29ial91bmluaXQoKSBkcm9wcyB0aGUga29iamVjdCByZWYuCj4gKwkgKi8KPiArCS5yZWxlYXNl ID0gTlVMTCwKPiAgCS5zeXNmc19vcHMgPSAmb3ZlcmxheV9zeXNmc19vcHMsCj4gIAkuZGVmYXVs dF9ncm91cHMgPSBvdmVybGF5X3N5c2ZzX2dyb3VwcywKPiAgfTsKCltTZXZlcml0eTogTG93XQpT aW1pbGFybHksIGlzIG92ZXJsYXlzW10gaGVhcC1hbGxvY2F0ZWQgcmF0aGVyIHRoYW4gc3RhdGlj LCB3aXRoIGEKdXNlLWFmdGVyLWZyZWUgdW5kZXIgQ09ORklHX0RFQlVHX0tPQkpFQ1RfUkVMRUFT RT8KCkluIGRyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rzcy9vdmVybGF5LmMsIG92 ZXJsYXlzIGlzIGFsbG9jYXRlZCB2aWEKa3phbGxvY19vYmpzKHN0cnVjdCBvbWFwX292ZXJsYXks IG51bV9vdmVybGF5cykgaW4gZHNzX2luaXRfb3ZlcmxheXMoKSwgYW5kCmRzc191bmluaXRfb3Zl cmxheXMoKSBmcmVlcyBpdCBpbW1lZGlhdGVseSBhZnRlciBkc3Nfb3ZlcmxheV9rb2JqX3VuaW5p dCgpCmNhbGxzIGtvYmplY3RfcHV0KCZvdmwtPmtvYmopOgoKdm9pZCBkc3NfdW5pbml0X292ZXJs YXlzKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCnsKCWludCBpOwoKCWZvciAoaSA9IDA7 IGkgPCBudW1fb3ZlcmxheXM7ICsraSkgewoJCXN0cnVjdCBvbWFwX292ZXJsYXkgKm92bCA9ICZv dmVybGF5c1tpXTsKCQlkc3Nfb3ZlcmxheV9rb2JqX3VuaW5pdChvdmwpOwoJfQoKCWtmcmVlKG92 ZXJsYXlzKTsKCW92ZXJsYXlzID0gTlVMTDsKCW51bV9vdmVybGF5cyA9IDA7Cn0KClNob3VsZCB0 aGUgY29tbWVudHMgb24gbWFuYWdlcl9rdHlwZSBhbmQgb3ZlcmxheV9rdHlwZSBkZXNjcmliZSBt YW5hZ2VycyBhbmQKb3ZlcmxheXMgYXMgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGFycmF5cyBhbmQg bm90ZSB0aGUKQ09ORklHX0RFQlVHX0tPQkpFQ1RfUkVMRUFTRSBoYXphcmQgYXMgd2VsbD8KCi0t IApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAy NjEwMjcyMjM4NDcuNjUyODg0LTEtaXJvZ2Vyc0Bnb29nbGUuY29tP3BhcnQ9OQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBk aXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LW10ZC8K From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793141780; b=a2BCBuCmIlPVo0VVaqfka0fShjjL1yMpf04M54mG8MI/ts1XCHwSDTjbhqCN+jSqZfbD +DoN3Xrcdn1HltRoArX6kzH598FTmTeSm9FS9I7d9FwqIMlBIPFtitPPYpsHOAeNCz+ye A0xJ8aGMEzA5MRXZ+U0y+QTkCcGkWHXHN/zpulSDQGmkleMa/LLIl84Ifu7H9CNfm1Ko3 Ds0FxEUqv5ryD7zsxnDoWT2+bU7ox8JA2TSiweK6gSuLePzrczDfnglVE/6A5FqzoiOsc Vv2k+HWCtOk90coGMw6N0ciK6izjfBvPhtqAR9XM1v/OXsvWjuhZuNz7ACA7UF6/lzw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793141780; h=Received:DKIM-Signature:Message-ID:From:Subject:Reply-To:To:Cc: In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=PGIVzh2vRG3PPdwb4MSHQ9cli0w5dxMbX/Iatj0t//Q=; b=R+dB8y6tbOlQ5hrIvW6UXGJTG2htH/zVk1i8X3jORtgsg7y0gZyRMkl2xt9MjyL6W3uU /oayu61Rx7MXC7Vw2N8umA4V/jOfStGWO9rMSL6W1JLrCSm9XLLFBrPDMJtqEhBqVgZV+ xU4BeypppPIjJOim4VW8GBohVpVb1v+Lw/euFYXzdN6Qbo5dgrdCeRgMNUZ5XksW0m/pV ZGdJtLAFYC5w2/YcypLB5Lis7MPQ3fw/G2WfoGHSMVXE5C7n1RD64xAWqIhtxXql7xM3q jrZFP5xePKrPV5B3G1huI6gv0edQbYTb5p0QVxbA1e3lyv2rIqQ39iMY6kbG4x5rovw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=n0o9bM6M; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B495606A31A; Tue, 27 Oct 2026 22:56:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=n0o9bM6M Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68A4D1F01825; Tue, 27 Oct 2026 22:56:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793141779; bh=PGIVzh2vRG3PPdwb4MSHQ9cli0w5dxMbX/Iatj0t//Q=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=n0o9bM6MejvHAu2M8cKnApFDeCr2pztgVJxcJ/U/dYUzh92/xwspw74DYEdN6lYep +qdRFfx5AU7lmjuWZ129Fvk2AY0ZXG8WiqNXsGrHHgrwmueDNBifSXHdFzyF74bb8+ qgtQtXflCYHfZePgXewrsALMQeWz+mIHd3tufJqtp0SR+uqiaW8X70UadF6vsouu1g C0g9p35bk5DF3wbGpLPy2ZzcgD319ZnaYjFA2H/KzAd8wn6cignLz0T0oMsbxfUQa+ KD3DlYfzkrRHjGgUA+c2jE7IbK9I+1kaW/P0okr7V2WH5q2tR81v2keIq4H2UDJeGQ UZAoUOmFMMq7g== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 9/9] kobject: Require explicit initialization of struct kobj_type::release Reply-To: sashiko-reviews@lists.linux.dev To: "Ian Rogers" , "Kees Cook" , "Greg Kroah-Hartman" , "Miguel Ojeda" , "Rafael J . Wysocki" , "Danilo Krummrich" Cc: "Nathan Chancellor" , "Nick Desaulniers" , "Miguel Ojeda" , =?utf-8?b?Q2hyaXN0aWFuIEvDtm5p?= =?utf-8?b?Zw==?= , "Zhihao Cheng" , "Zhongqiu Han" , "Sumanth Korikkar" , "Bill Wendling" , "Justin Stitt" , linux-s390@vger.kernel.org, linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org, "Catalin Marinas" , "Will Deacon" , "Mark Rutland" , "Len Brown" , "Vinod Koul" , "Frank Li" , "Alex Deucher" , "David Airlie" , "Simona Vetter" , "Dennis Dalessandro" , "Jason Gunthorpe" , "Leon Romanovsky" , "Nelson Escobar" , "Satish Kharat" , "James E.J. Bottomley" , "Helge Deller" , "Linus Walleij" , "Sebastian Reichel" , "Heiko Carstens" , "Vasily Gorbik" , "Alexander Gordeev" , "Christian Borntraeger" , "Sven Schnelle" , "Huisong Li" , "Gao Xiang" , "Chao Yu" , "Yue Hu" , "Jingbo Xu" , "Sandeep Dhavale" , "Hongbo Li" , "Chunhai Guo" , "Jaegeuk Kim" , "Mark Fasheh" , "Joel Becker" , "Joseph Qi" , "Heming Zhao" , "Johan Hovold" , dmaengine@vger.kernel.org, linux-rdma@vger.kernel.org In-Reply-To: <20261027223847.652884-10-irogers@google.com> References: <20261027223847.652884-1-irogers@google.com> <20261027223847.652884-10-irogers@google.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 27 Oct 2026 22:56:16 +0000 X-Mailing-List: linux-rdma@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [Low] fbdev: omapdss: inaccurate kobj_type comments for managers and over= lays - [Low] kobject: inaccurate kobj_type comments on static lifetime and delay= ed release -- commit 2811dd0d4494f584b7b3fad73d8e6b9f2f067c96 Author: Ian Rogers kobject: Require explicit initialization of struct kobj_type::release This commit annotates struct kobj_type::release with __must_init so the compiler diagnoses any struct kobj_type initializer that omits .release. For remaining legacy struct kobj_type definitions that do not free their kobject via kobject_put(), it explicitly initializes .release =3D NULL with comments documenting the kobject lifetime and CONFIG_DEBUG_KOBJECT_RELEASE behavior. Link: https://lpc.events/event/20/contributions/2392/ > kobject: Require explicit initialization of struct kobj_type::release > =20 > Documentation/core-api/kobject.rst states: > =20 > "One important point cannot be overstated: every kobject must have a > release() method, and the kobject must persist (in a consistent sta= te) > until that method is called. If these constraints are not met, the = code > is flawed. Note that the kernel will warn you if you forget to prov= ide > a release() method. Do not try to get rid of this warning by provid= ing > an \"empty\" release function." > =20 > Annotate struct kobj_type::release with __must_init > so the compiler diagnoses any struct kobj_type initializer that omits > .release. > =20 > For the remaining legacy struct kobj_type definitions where the kobje= ct > is static, per-CPU, permanent firmware structures, or embedded inside= a > devm- or parent-managed structure rather than freed by kobject_put(), > explicitly initialize .release =3D NULL with a comment documenting wh= y no > release callback is provided. > =20 > Where the existing teardown is not safe with CONFIG_DEBUG_KOBJECT_REL= EASE, > because the kobject's memory can be freed or cleared while the delayed > kobject cleanup is still pending (ioat, kunpeng_hccs and omapfb displ= ay), > the comment says so. Fixing those is left to follow-up patches; this > change does not alter their behavior. > =20 > Link: https://lpc.events/event/20/contributions/2392/ > Signed-off-by: Ian Rogers [Severity: Low] The commit message notes that where existing teardown is not safe with CONFIG_DEBUG_KOBJECT_RELEASE (listing ioat, kunpeng_hccs, and omapfb display), the comment says so. Are there additional kobj_type definitions touched in this patch where the backing memory is freed, zeroed, or unmapped while delayed kobject cleanup = is still pending under CONFIG_DEBUG_KOBJECT_RELEASE, such as omapfb manager_kt= ype and overlay_ktype, amdgpu ualink_xcp_info_ktype and xcp_sysfs_ktype, hfi1 sde_ktype, usnic usnic_ib_qpn_type, ab8500_fg_ktype (on the kobject_init_and_add() error path in ab8500_fg_sysfs_init() before devm fre= es di), and the static kobjects/ksets in loadable modules (erofs, f2fs, ocfs2, and pdc_stable on module unload)? > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c b/drivers/gpu/drm= /amd/amdgpu/amdgpu_ualink.c > index 17888cf544472..c2cccd924b03c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c > @@ -885,6 +885,11 @@ static const struct attribute_group ualink_xcp_info_= group =3D { > }; > =20 > static const struct kobj_type ualink_xcp_info_ktype =3D { > + /* > + * Pre-existing: xcp->ualink.kobj is embedded in struct amdgpu_xcp_mgr > + * rather than freed individually by kobject_put(). > + */ > + .release =3D NULL, > .sysfs_ops =3D &kobj_sysfs_ops > }; > =20 > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c b/drivers/gpu/drm/am= d/amdgpu/amdgpu_xcp.c > index ab14079d1c422..0847134a13917 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c [ ... ] > @@ -1061,6 +1066,11 @@ static const struct attribute_group amdgpu_xcp_att= rs_group =3D { > }; > =20 > static const struct kobj_type xcp_sysfs_ktype =3D { > + /* > + * Pre-existing: xcp is embedded in struct amdgpu_xcp_mgr > + * rather than freed individually by kobject_put(). > + */ > + .release =3D NULL, > .sysfs_ops =3D &kobj_sysfs_ops, > }; [Severity: Low] Should the comments on ualink_xcp_info_ktype and xcp_sysfs_ktype also note = the CONFIG_DEBUG_KOBJECT_RELEASE use-after-free hazard? During teardown, amdgpu_device_fini_hw() calls amdgpu_ualink_sysfs_fini() a= nd amdgpu_xcp_sysfs_fini(), which call kobject_put(&xcp->ualink.kobj) and kobject_put(&xcp->kobj), and then amdgpu_device_fini_sw() frees adev->xcp_m= gr while delayed kobject cleanup may still be pending. > diff --git a/drivers/infiniband/hw/hfi1/sysfs.c b/drivers/infiniband/hw/h= fi1/sysfs.c > index 372cfd13dc616..5a1aca06b542b 100644 > --- a/drivers/infiniband/hw/hfi1/sysfs.c > +++ b/drivers/infiniband/hw/hfi1/sysfs.c > @@ -608,6 +608,11 @@ static const struct sysfs_ops sde_sysfs_ops =3D { > }; > =20 > static struct kobj_type sde_ktype =3D { > + /* > + * Pre-existing: sdma_engine is embedded in dd->per_sdma array > + * rather than freed by kobject_put(). > + */ > + .release =3D NULL, > .sysfs_ops =3D &sde_sysfs_ops, > }; [Severity: Low] Does sde_ktype also have the same CONFIG_DEBUG_KOBJECT_RELEASE use-after-fr= ee issue worth noting in this comment? In the device removal path, hfi1_verbs_unregister_sysfs() calls kobject_put(&dd->per_sdma[i].kobj) right before remove_one() -> hfi1_free_devdata() -> sdma_clean() calls kfree(dd->per_sdma). > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_sysfs.c b/drivers/infin= iband/hw/usnic/usnic_ib_sysfs.c > index fdb63a8fb9974..df0e48070c2ee 100644 > --- a/drivers/infiniband/hw/usnic/usnic_ib_sysfs.c > +++ b/drivers/infiniband/hw/usnic/usnic_ib_sysfs.c > @@ -245,6 +245,8 @@ static struct attribute *usnic_ib_qpn_default_attrs[]= =3D { > ATTRIBUTE_GROUPS(usnic_ib_qpn_default); > =20 > static struct kobj_type usnic_ib_qpn_type =3D { > + /* Pre-existing: usnic_ib_qp_grp is embedded in RDMA core-managed struc= t usnic_ib_qp_grp. */ > + .release =3D NULL, > .sysfs_ops =3D &usnic_ib_qpn_sysfs_ops, > .default_groups =3D usnic_ib_qpn_default_groups, > }; [Severity: Low] Should this comment on usnic_ib_qpn_type also mention CONFIG_DEBUG_KOBJECT_RELEASE? When destroying a QP, ib_destroy_qp_user() calls usnic_ib_destroy_qp() -> usnic_ib_sysfs_qpn_remove(), which calls kobject_put(&qp_grp->kobj) immediately before the RDMA core frees the struct usnic_ib_qp_grp allocatio= n. > diff --git a/drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c b/drive= rs/video/fbdev/omap2/omapfb/dss/manager-sysfs.c > index 1b644be5fe2ed..40ec750f43155 100644 > --- a/drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c > +++ b/drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c > @@ -496,6 +496,11 @@ static const struct sysfs_ops manager_sysfs_ops =3D { > }; > =20 > static struct kobj_type manager_ktype =3D { > + /* > + * Pre-existing: mgr->kobj is embedded in static managers[] and > + * zeroed in dss_manager_kobj_uninit(). > + */ > + .release =3D NULL, > .sysfs_ops =3D &manager_sysfs_ops, > .default_groups =3D manager_sysfs_groups, > }; [Severity: Low] Is managers[] actually a static array here, and does this teardown also corrupt pending delayed cleanup under CONFIG_DEBUG_KOBJECT_RELEASE? In drivers/video/fbdev/omap2/omapfb/dss/manager.c, managers is dynamically allocated on the heap in dss_init_overlay_managers() and freed in dss_uninit_overlay_managers(): static struct omap_overlay_manager *managers; int dss_init_overlay_managers(void) { int i; num_managers =3D dss_feat_get_num_mgrs(); managers =3D kzalloc_objs(struct omap_overlay_manager, num_managers); ... } In addition, dss_manager_kobj_uninit() calls memset(&mgr->kobj, 0, sizeof(mgr->kobj)) right after kobject_put(&mgr->kobj) (and dss_uninit_overlay_managers() then calls kfree(managers)), which clobb= ers and frees the pending delayed kobject cleanup under CONFIG_DEBUG_KOBJECT_RELEASE just like display_uninit_sysfs() in display-sysfs.c. > diff --git a/drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c b/drive= rs/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c > index 1da4fb1c77b4a..4d333031b18d6 100644 > --- a/drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c > +++ b/drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c > @@ -429,6 +429,11 @@ static const struct sysfs_ops overlay_sysfs_ops =3D { > }; > =20 > static struct kobj_type overlay_ktype =3D { > + /* > + * Pre-existing: ovl->kobj is embedded in static overlays[]; > + * dss_overlay_kobj_uninit() drops the kobject ref. > + */ > + .release =3D NULL, > .sysfs_ops =3D &overlay_sysfs_ops, > .default_groups =3D overlay_sysfs_groups, > }; [Severity: Low] Similarly, is overlays[] heap-allocated rather than static, with a use-after-free under CONFIG_DEBUG_KOBJECT_RELEASE? In drivers/video/fbdev/omap2/omapfb/dss/overlay.c, overlays is allocated via kzalloc_objs(struct omap_overlay, num_overlays) in dss_init_overlays(), and dss_uninit_overlays() frees it immediately after dss_overlay_kobj_uninit() calls kobject_put(&ovl->kobj): void dss_uninit_overlays(struct platform_device *pdev) { int i; for (i =3D 0; i < num_overlays; ++i) { struct omap_overlay *ovl =3D &overlays[i]; dss_overlay_kobj_uninit(ovl); } kfree(overlays); overlays =3D NULL; num_overlays =3D 0; } Should the comments on manager_ktype and overlay_ktype describe managers and overlays as dynamically allocated arrays and note the CONFIG_DEBUG_KOBJECT_RELEASE hazard as well? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261027223847.6528= 84-1-irogers@google.com?part=3D9