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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E9E0DCC6B12 for ; Tue, 13 Oct 2026 22:49:12 +0000 (UTC) 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-Owner; bh=WDci9y2uRESpztB3lSpcxTMHDmBDi/55nZ8pPMDebDE=; b=bUh2M/h45PnZ5z JM4Jg686EMt+KeWgZGAmBa2SjXG97bEbIGmyvcvzJY3qmjNVHB2YG8f62TFns3m0L4uFMuAvDWkjZ 3noB+ITTOavcqk6eLujAWNKq7diokZ64gl4UC4iCifcFnr4xto+R8HGQbzi0pz7+AjIDBQe61wZUG pcDYppoLvgRKV8Dj2z38GWvrj1W5JjN3PefCe1kRwGKCsqfZerkubQqZ6k4ps5G/b9UXTzYWPU+F5 tBclul/FsoyPN/ao0VN5LDn5KntgumNXyP8smZnans17+OKfJVEGZpG1AB5kP9nAKz47EuA7itUPf uFpJPqJFsnYtWGnTEnFw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xGlIv-0000000EAmx-1JId; Tue, 13 Oct 2026 22:49:05 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xGlIl-0000000EAmZ-3DzU for linux-mtd@lists.infradead.org; Tue, 13 Oct 2026 22:48:59 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id E90F1600CB; Tue, 13 Oct 2026 22:48:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CFFDA1F000FF; Tue, 13 Oct 2026 22:48:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791931734; bh=ibUJfB+28hW2wFJOdBo62K8n0F6KK/rS4kc37W5zLBU=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=QofMp/S6l1viXok7/kmWXfSCGFmg8+OvFHV67BiwaduHvVVlpcoV57iEk029f3sUs p3QtkUgUGsQX4xtpGk5sywHXAfPiPH7BJKmMjYKxxgx/p64P3g7gdpqqzruvXul7ya m+g4SPp2+DggyosWEPj7IVymEPoBVvPHxgj/YAyhYdvxEMvEsf/qFAAShgJTE1VBc3 5RIrZqHe5mXzxWyp4rpR3KStP1hiLUznpnuA5vJVEUH/nVe3754QG8sPw+z8Xsd8Pr f7ZFOPDo/EFhrgHcR+pRJd3LAzDouUZaK/FSA2CJqE5nSb6rBKKRrGb/e0sz/F+Rk3 i+rhY5oKx4DlA== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 08/11] s390/sclp_mem: Allocate struct sclp_mem dynamically and add kobject release To: "Ian Rogers" , "Greg Kroah-Hartman" , "Rafael J . Wysocki" , "Danilo Krummrich" , "Miguel Ojeda" , "Kees Cook" , "Nathan Chancellor" Cc: "Nick Desaulniers" , "Bill Wendling" , "Justin Stitt" , "Jonathan Corbet" , "Madhavan Srinivasan" , "Michael Ellerman" , "Nicholas Piggin" , "Christophe Leroy" , "Nayna Jain" , "Yoshinori Sato" , "Rich Felker" , "John Paul Adrian Glaubitz" , "Viresh Kumar" , "David Teigland" , "Alexander Aring" , "Juergen Gross" , "Stefano Stabellini" , "Oleksandr Tyshchenko" , "Heiko Carstens" , "Vasily Gorbik" , "Alexander Gordeev" , "Christian Borntraeger" , "Sven Schnelle" , "Richard Weinberger" , "Zhihao Cheng" , "Felix Kuehling" , "Alex Deucher" , =?utf-8?b?Q2hyaXN0aWFuIEvDtm5pZw==?= , linux-s390@vger.kernel.org, linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org In-Reply-To: <20261013223946.1836757-9-irogers@google.com> References: <20261013223946.1836757-1-irogers@google.com> <20261013223946.1836757-9-irogers@google.com> Date: Tue, 13 Oct 2026 22:48:52 +0000 X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIHN5c2ZzOiBrb2JqZWN0 IG1lbW9yeSBsZWFrIG9uIGluaXQgZXJyb3IgcGF0aHMgYW5kIGdyb3VwIGNyZWF0aW9uIHJhY2UK LSBbTWVkaXVtXSBzeXNmczogbWlzc2luZyBjbGVhbnVwIG9mIHByZXZpb3VzbHkgYWxsb2NhdGVk IGtvYmplY3RzIGluIGluaXRpYWxpemF0aW9uIGxvb3BzCi0tCgpjb21taXQgMTkxNzk4OTM3YmFk MGYyNzJiMGY3MmY0YWUyODU3OWNhYjg2NzJmOApBdXRob3I6IElhbiBSb2dlcnMgPGlyb2dlcnNA Z29vZ2xlLmNvbT4KCnMzOTAvc2NscF9tZW06IEFsbG9jYXRlIHN0cnVjdCBzY2xwX21lbSBkeW5h bWljYWxseSBhbmQgYWRkIGtvYmplY3QgcmVsZWFzZQoKc2NscF9pbml0X21lbSgpIGFsbG9jYXRl ZCBhIHNpbmdsZSBhcnJheSBvZiBzdHJ1Y3Qgc2NscF9tZW0gd2l0aApremFsbG9jX29ianMoKSBh bmQgcmVnaXN0ZXJlZCBlYWNoIGVtYmVkZGVkIGtvYmplY3QgdXNpbmcgYSBrb2JqX3R5cGUKd2l0 aG91dCBhIC5yZWxlYXNlIGNhbGxiYWNrLiBBbGxvY2F0ZSBlYWNoIHN0cnVjdCBzY2xwX21lbSBp bmRpdmlkdWFsbHkKd2l0aCBremFsbG9jX29iaigpIGluc3RlYWQgYW5kIGFkZCBzY2xwX21lbV9y ZWxlYXNlKCkgdG8gZnJlZSBpdC4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3Nj bHBfbWVtLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX21lbS5jCj4gaW5kZXggNzhjMDU0ZTI2 ZDE3Ny4uNDBhN2Y5MjcyOTc1MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xw X21lbS5jCj4gKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9tZW0uYwpbIC4uLiBdCj4gQEAg LTMyMiwzNiArMzI1LDQwIEBAIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHNjbHBfbWVt X2F0dHJfZ3JvdXAgPSB7Cj4gIAkuYXR0cnMgPSBzY2xwX21lbV9hdHRycywKPiAgfTsKPiAgCj4g LXN0YXRpYyBpbnQgc2NscF9jcmVhdGVfbWVtKHN0cnVjdCBzY2xwX21lbSAqc2NscF9tZW0sIHN0 cnVjdCBrc2V0ICprc2V0LAo+IC0JCQkgICB1bnNpZ25lZCBpbnQgaWQsIGJvb2wgY29uZmlnLCBi b29sIG1lbW1hcF9vbl9tZW1vcnkpCj4gK3N0YXRpYyBpbnQgc2NscF9jcmVhdGVfbWVtKHN0cnVj dCBrc2V0ICprc2V0LCB1bnNpZ25lZCBpbnQgaWQsIGJvb2wgY29uZmlnLAo+ICsJCQkgICBib29s IG1lbW1hcF9vbl9tZW1vcnkpCj4gIHsKPiArCXN0cnVjdCBzY2xwX21lbSAqc2NscF9tZW07Cj4g IAlpbnQgcmM7Cj4gIAo+ICsJc2NscF9tZW0gPSBremFsbG9jX29iaigqc2NscF9tZW0pOwo+ICsJ aWYgKCFzY2xwX21lbSkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiAgCXNjbHBfbWVtLT5tZW1tYXBf b25fbWVtb3J5ID0gbWVtbWFwX29uX21lbW9yeTsKPiAgCXNjbHBfbWVtLT5jb25maWcgPSBjb25m aWc7Cj4gICNpZmRlZiBDT05GSUdfS0FTQU4KPiAgCXNjbHBfbWVtLT5lYXJseV9zaGFkb3dfbWFw cGVkID0gY29uZmlnOwo+ICAjZW5kaWYKPiAgCXNjbHBfbWVtLT5pZCA9IGlkOwo+IC0Ja29iamVj dF9pbml0KCZzY2xwX21lbS0+a29iaiwgJmt0eXBlKTsKPiAtCXJjID0ga29iamVjdF9hZGQoJnNj bHBfbWVtLT5rb2JqLCAma3NldC0+a29iaiwgIm1lbW9yeSVkIiwgaWQpOwo+IC0JaWYgKHJjKQo+ ICsJcmMgPSBrb2JqZWN0X2luaXRfYW5kX2FkZCgmc2NscF9tZW0tPmtvYmosICZrdHlwZSwgJmtz ZXQtPmtvYmosCj4gKwkJCQkgICJtZW1vcnklZCIsIGlkKTsKPiArCWlmIChyYykgewo+ICsJCWtv YmplY3RfcHV0KCZzY2xwX21lbS0+a29iaik7Cj4gIAkJcmV0dXJuIHJjOwo+IC0JcmV0dXJuIHN5 c2ZzX2NyZWF0ZV9ncm91cCgmc2NscF9tZW0tPmtvYmosICZzY2xwX21lbV9hdHRyX2dyb3VwKTsK PiArCX0KPiArCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZzY2xwX21lbS0+a29iaiwgJnNjbHBf bWVtX2F0dHJfZ3JvdXApOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIGNhbGxpbmcgc3lzZnNfY3Jl YXRlX2dyb3VwKCkgYWZ0ZXIga29iamVjdF9pbml0X2FuZF9hZGQoKSBpbgpzY2xwX2NyZWF0ZV9t ZW0oKSBleHBvc2UgdGhlIHN5c2ZzIGRpcmVjdG9yeSB0byB1c2Vyc3BhY2UgYmVmb3JlIGl0cwph dHRyaWJ1dGVzIGFyZSBwb3B1bGF0ZWQ/IFdvdWxkIGl0IGJlIHNhZmVyIHRvIGF2b2lkIHRoaXMg c3RydWN0dXJhbCBzeXNmcwpyYWNlIGNvbmRpdGlvbiBieSBhc3NpZ25pbmcgdGhlIGF0dHJpYnV0 ZXMgdG8ga3R5cGUuZGVmYXVsdF9ncm91cHMgaW5zdGVhZD8KCj4gKwlpZiAocmMpIHsKPiArCQlr b2JqZWN0X3B1dCgmc2NscF9tZW0tPmtvYmopOwo+ICsJCXJldHVybiByYzsKPiArCX0KPiArCXJl dHVybiAwOwo+ICB9ClsgLi4uIF0KPiBAQCAtMzk1LDcgKzQwMSw3IEBAIHN0YXRpYyBpbnQgX19p bml0IHNjbHBfY3JlYXRlX3N0YW5kYnlfbWVtc19tZXJnZWQoc3RydWN0IHNjbHBfbWVtICpzY2xw X21lbXMsCj4gIAkJZ290byBza2lwX2FkZDsKPiAgCWZvciAoYWRkciA9IHN0YXJ0OyBhZGRyIDwg c3RhcnQgKyBzaXplOyBhZGRyICs9IGJsb2NrX3NpemUpIHsKPiAgCQlpZCA9IGFkZHIgLyBibG9j a19zaXplOwo+IC0JCXJjID0gc2NscF9jcmVhdGVfbWVtKCZzY2xwX21lbXNbaWRdLCBrc2V0LCBp ZCwgZmFsc2UsCj4gKwkJcmMgPSBzY2xwX2NyZWF0ZV9tZW0oa3NldCwgaWQsIGZhbHNlLAo+ICAJ CQkJICAgICBtaHBfc3VwcG9ydHNfbWVtbWFwX29uX21lbW9yeSgpKTsKPiAgCQlpZiAocmMpCj4g IAkJCWJyZWFrOwo+ICAJfQoKW1NldmVyaXR5OiBNZWRpdW1dCklmIHNjbHBfY3JlYXRlX21lbSgp IGZhaWxzIGFuZCBicmVha3Mgb3V0IG9mIHRoaXMgbG9vcCBpbgpzY2xwX2NyZWF0ZV9zdGFuZGJ5 X21lbXNfbWVyZ2VkKCksIGFyZSB0aGUga29iamVjdHMgY3JlYXRlZCBpbiBwcmV2aW91cwppdGVy YXRpb25zIGxlZnQgcmVnaXN0ZXJlZD8gU2hvdWxkIHRoZXJlIGJlIGEgY2VudHJhbGl6ZWQgZXJy b3IgY2xlYW51cApwYXRoIHRvIHVud2luZCBhbmQgZnJlZSB0aGVzZSBwcmlvciBhbGxvY2F0aW9u cz8KCj4gIHNraXBfYWRkOgo+ICAJZmlyc3Rfcm4gPSBybjsKPiAgCW51bSA9IDE7Cj4gIAlyZXR1 cm4gcmM7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgX19pbml0IHNjbHBfY3JlYXRlX3N0YW5kYnlf bWVtcyhzdHJ1Y3Qgc2NscF9tZW0gKnNjbHBfbWVtcywgc3RydWN0IGtzZXQgKmtzZXQpCj4gK3N0 YXRpYyBpbnQgX19pbml0IHNjbHBfY3JlYXRlX3N0YW5kYnlfbWVtcyhzdHJ1Y3Qga3NldCAqa3Nl dCkKPiAgewo+ICAJc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgKmluY3I7Cj4gIAlpbnQgcmMgPSAw Owo+ICAKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5jciwgJnNjbHBfbWVtX2xpc3QsIGxpc3Qp IHsKPiAgCQlpZiAoaW5jci0+c3RhbmRieSkKPiAtCQkJcmMgPSBzY2xwX2NyZWF0ZV9zdGFuZGJ5 X21lbXNfbWVyZ2VkKHNjbHBfbWVtcywga3NldCwgaW5jci0+cm4pOwo+ICsJCQlyYyA9IHNjbHBf Y3JlYXRlX3N0YW5kYnlfbWVtc19tZXJnZWQoa3NldCwgaW5jci0+cm4pOwo+ICAJCWlmIChyYykK PiAgCQkJcmV0dXJuIHJjOwo+ICAJfQoKW1NldmVyaXR5OiBIaWdoXQpXaGVuIHNjbHBfY3JlYXRl X3N0YW5kYnlfbWVtc19tZXJnZWQoKSByZXR1cm5zIGFuIGVycm9yLCB0aGlzIGxvb3AgaW4Kc2Ns cF9jcmVhdGVfc3RhbmRieV9tZW1zKCkgcmV0dXJucyBkaXJlY3RseS4gQ291bGQgdGhpcyBsZWFr IGFsbCB0aGUKc3RhbmRieSBrb2JqZWN0cyB0aGF0IHdlcmUgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQg aW4gZWFybGllciBpdGVyYXRpb25zIG9mCnRoZSBsb29wPwoKPiAtCXJldHVybiBzY2xwX2NyZWF0 ZV9zdGFuZGJ5X21lbXNfbWVyZ2VkKHNjbHBfbWVtcywga3NldCwgMCk7Cj4gKwlyZXR1cm4gc2Ns cF9jcmVhdGVfc3RhbmRieV9tZW1zX21lcmdlZChrc2V0LCAwKTsKPiAgfQo+ICAKPiAgc3RhdGlj IGludCBfX2luaXQgc2NscF9pbml0X21lbSh2b2lkKQo+ICB7Cj4gLQljb25zdCB1bnNpZ25lZCBs b25nIGJsb2NrX3NpemUgPSBtZW1vcnlfYmxvY2tfc2l6ZV9ieXRlcygpOwo+IC0JdW5zaWduZWQg aW50IG1heF9zY2xwX21lbXM7Cj4gLQlzdHJ1Y3Qgc2NscF9tZW0gKnNjbHBfbWVtczsKPiAtCXN0 cnVjdCBzY2xwX21lbV9hcmcgYXJnOwo+ICAJc3RydWN0IGtzZXQgKmtzZXQ7Cj4gIAlpbnQgcmM7 Cj4gIAo+IC0JbWF4X3NjbHBfbWVtcyA9IHJvdW5kdXAoc2NscC5ybm1heCAqIHNjbHAucnptLCBi bG9ja19zaXplKSAvIGJsb2NrX3NpemU7Cj4gLQkvKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIGFsbCBi bG9ja3MgYWhlYWQgb2YgdGltZS4gKi8KPiAtCXNjbHBfbWVtcyA9IGt6YWxsb2Nfb2JqcyhzdHJ1 Y3Qgc2NscF9tZW0sIG1heF9zY2xwX21lbXMpOwo+IC0JaWYgKCFzY2xwX21lbXMpCj4gLQkJcmV0 dXJuIC1FTk9NRU07Cj4gIAlrc2V0ID0ga3NldF9jcmVhdGVfYW5kX2FkZCgibWVtb3J5IiwgTlVM TCwgZmlybXdhcmVfa29iaik7Cj4gIAlpZiAoIWtzZXQpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4g IAkvKiBJbml0aWFsIG1lbW9yeSBpcyBpbiB0aGUgImNvbmZpZ3VyZWQiIHN0YXRlIGFscmVhZHku ICovCj4gLQlhcmcuc2NscF9tZW1zID0gc2NscF9tZW1zOwo+IC0JYXJnLmtzZXQgPSBrc2V0Owo+ IC0JcmMgPSBmb3JfZWFjaF9tZW1vcnlfYmxvY2soJmFyZywgc2NscF9jcmVhdGVfY29uZmlndXJl ZF9tZW0pOwo+ICsJcmMgPSBmb3JfZWFjaF9tZW1vcnlfYmxvY2soa3NldCwgc2NscF9jcmVhdGVf Y29uZmlndXJlZF9tZW0pOwo+ICAJaWYgKHJjKQo+ICAJCXJldHVybiByYzsKCltTZXZlcml0eTog SGlnaF0KSWYgZm9yX2VhY2hfbWVtb3J5X2Jsb2NrKCkgZW5jb3VudGVycyBhbiBlcnJvciBkdXJp bmcgbWVtb3J5IGJsb2NrCmNyZWF0aW9uIGluIHNjbHBfaW5pdF9tZW0oKSwgcmV0dXJuaW5nIGRp cmVjdGx5IGhlcmUgbGVhdmVzIHRoZSBwcmV2aW91c2x5CmNyZWF0ZWQga3NldCBhbmQgYW55IHN1 Y2Nlc3NmdWxseSBjb25maWd1cmVkIG1lbW9yeSBrb2JqZWN0cyByZWdpc3RlcmVkLgpEb2VzIHRo aXMgcmVzdWx0IGluIGEgcGVybWFuZW50IG1lbW9yeSBsZWFrIG9mIHRoZXNlIHN0cnVjdHVyZXM/ Cgo+ICAJLyogU3RhbmRieSBtZW1vcnkgaXMgImRlY29uZmlndXJlZCIuICovCj4gLQlyZXR1cm4g c2NscF9jcmVhdGVfc3RhbmRieV9tZW1zKHNjbHBfbWVtcywga3NldCk7Cj4gKwlyZXR1cm4gc2Ns cF9jcmVhdGVfc3RhbmRieV9tZW1zKGtzZXQpOwo+ICB9CgpbU2V2ZXJpdHk6IE1lZGl1bV0KU2lt aWxhcmx5LCBpZiBzY2xwX2NyZWF0ZV9zdGFuZGJ5X21lbXMoKSBmYWlscyBsYXRlciBpbiBzY2xw X2luaXRfbWVtKCksCnJldHVybmluZyBpdHMgZXJyb3IgY29kZSBkaXJlY3RseSBsZWF2ZXMgdGhl IGtzZXQgYW5kIHRoZSBpbml0aWFsCmNvbmZpZ3VyZWQgbWVtb3J5IGJsb2NrcyBsZWFrZWQuIElz IGFuIGVycm9yIGhhbmRsaW5nIHBhdGggbWlzc2luZyBoZXJlIHRvCmNsZWFuIHVwIHRoZSBrc2V0 IGFuZCBhbGwgY2hpbGQga29iamVjdHMgb24gZmFpbHVyZT8KCi0tIApTYXNoaWtvIEFJIHJldmll dyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjEwMTMyMjM5NDYuMTgzNjc1 Ny0xLWlyb2dlcnNAZ29vZ2xlLmNvbT9wYXJ0PTgKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5n IGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1t dGQvCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13F12488223 for ; Tue, 13 Oct 2026 22:48:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791931736; cv=none; b=QAESCqWYDOrqIXQtcFg1CuBZjlX8NHr5AWZjSQ9nXHD+O3RvZmWPJj/o4ki7RxuPgizbb/Swn5O783YNGKKzZ0wxOYYqXu6giCrrdGg1sXK5fpbciIfVVV41SOpPXRWNRuoySp5dbTFAVGsASBkxK81Z/a1mRKwGtGAp4pfpg6c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791931736; c=relaxed/simple; bh=h7GNKsktAi3Gkg74cVGQ8iQp/b+EEUlVhHkeDR3YrWo=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date; b=qutnoFJU8wE3ktKScw42qMLKugwnxVcgi6TKFBFuvzexVYZSjWJ+uWYPv08wWLZ7jUqQ7yCg3XaHmLEdtRDpGkrz0XNCOOrBGZLOgBQkznxH79lOPXmxADyf+dzd0qN2/1+HtTqQ2YCBJbAMnu8LK3SkfrZXJCSDSAA45YDgZ24= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QofMp/S6; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QofMp/S6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CFFDA1F000FF; Tue, 13 Oct 2026 22:48:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791931734; bh=ibUJfB+28hW2wFJOdBo62K8n0F6KK/rS4kc37W5zLBU=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=QofMp/S6l1viXok7/kmWXfSCGFmg8+OvFHV67BiwaduHvVVlpcoV57iEk029f3sUs p3QtkUgUGsQX4xtpGk5sywHXAfPiPH7BJKmMjYKxxgx/p64P3g7gdpqqzruvXul7ya m+g4SPp2+DggyosWEPj7IVymEPoBVvPHxgj/YAyhYdvxEMvEsf/qFAAShgJTE1VBc3 5RIrZqHe5mXzxWyp4rpR3KStP1hiLUznpnuA5vJVEUH/nVe3754QG8sPw+z8Xsd8Pr f7ZFOPDo/EFhrgHcR+pRJd3LAzDouUZaK/FSA2CJqE5nSb6rBKKRrGb/e0sz/F+Rk3 i+rhY5oKx4DlA== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 08/11] s390/sclp_mem: Allocate struct sclp_mem dynamically and add kobject release Reply-To: sashiko-reviews@lists.linux.dev To: "Ian Rogers" , "Greg Kroah-Hartman" , "Rafael J . Wysocki" , "Danilo Krummrich" , "Miguel Ojeda" , "Kees Cook" , "Nathan Chancellor" Cc: "Nick Desaulniers" , "Bill Wendling" , "Justin Stitt" , "Jonathan Corbet" , "Madhavan Srinivasan" , "Michael Ellerman" , "Nicholas Piggin" , "Christophe Leroy" , "Nayna Jain" , "Yoshinori Sato" , "Rich Felker" , "John Paul Adrian Glaubitz" , "Viresh Kumar" , "David Teigland" , "Alexander Aring" , "Juergen Gross" , "Stefano Stabellini" , "Oleksandr Tyshchenko" , "Heiko Carstens" , "Vasily Gorbik" , "Alexander Gordeev" , "Christian Borntraeger" , "Sven Schnelle" , "Richard Weinberger" , "Zhihao Cheng" , "Felix Kuehling" , "Alex Deucher" , =?utf-8?b?Q2hyaXN0aWFuIEvDtm5pZw==?= , linux-s390@vger.kernel.org, linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org In-Reply-To: <20261013223946.1836757-9-irogers@google.com> References: <20261013223946.1836757-1-irogers@google.com> <20261013223946.1836757-9-irogers@google.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 13 Oct 2026 22:48:52 +0000 Precedence: bulk X-Mailing-List: linux-s390@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [High] sysfs: kobject memory leak on init error paths and group creation = race - [Medium] sysfs: missing cleanup of previously allocated kobjects in initi= alization loops -- commit 191798937bad0f272b0f72f4ae28579cab8672f8 Author: Ian Rogers s390/sclp_mem: Allocate struct sclp_mem dynamically and add kobject release sclp_init_mem() allocated a single array of struct sclp_mem with kzalloc_objs() and registered each embedded kobject using a kobj_type without a .release callback. Allocate each struct sclp_mem individually with kzalloc_obj() instead and add sclp_mem_release() to free it. > diff --git a/drivers/s390/char/sclp_mem.c b/drivers/s390/char/sclp_mem.c > index 78c054e26d177..40a7f92729751 100644 > --- a/drivers/s390/char/sclp_mem.c > +++ b/drivers/s390/char/sclp_mem.c [ ... ] > @@ -322,36 +325,40 @@ static struct attribute_group sclp_mem_attr_group = =3D { > .attrs =3D sclp_mem_attrs, > }; > =20 > -static int sclp_create_mem(struct sclp_mem *sclp_mem, struct kset *kset, > - unsigned int id, bool config, bool memmap_on_memory) > +static int sclp_create_mem(struct kset *kset, unsigned int id, bool conf= ig, > + bool memmap_on_memory) > { > + struct sclp_mem *sclp_mem; > int rc; > =20 > + sclp_mem =3D kzalloc_obj(*sclp_mem); > + if (!sclp_mem) > + return -ENOMEM; > sclp_mem->memmap_on_memory =3D memmap_on_memory; > sclp_mem->config =3D config; > #ifdef CONFIG_KASAN > sclp_mem->early_shadow_mapped =3D config; > #endif > sclp_mem->id =3D id; > - kobject_init(&sclp_mem->kobj, &ktype); > - rc =3D kobject_add(&sclp_mem->kobj, &kset->kobj, "memory%d", id); > - if (rc) > + rc =3D kobject_init_and_add(&sclp_mem->kobj, &ktype, &kset->kobj, > + "memory%d", id); > + if (rc) { > + kobject_put(&sclp_mem->kobj); > return rc; > - return sysfs_create_group(&sclp_mem->kobj, &sclp_mem_attr_group); > + } > + rc =3D sysfs_create_group(&sclp_mem->kobj, &sclp_mem_attr_group); [Severity: High] Does calling sysfs_create_group() after kobject_init_and_add() in sclp_create_mem() expose the sysfs directory to userspace before its attributes are populated? Would it be safer to avoid this structural sysfs race condition by assigning the attributes to ktype.default_groups instead? > + if (rc) { > + kobject_put(&sclp_mem->kobj); > + return rc; > + } > + return 0; > } [ ... ] > @@ -395,7 +401,7 @@ static int __init sclp_create_standby_mems_merged(str= uct sclp_mem *sclp_mems, > goto skip_add; > for (addr =3D start; addr < start + size; addr +=3D block_size) { > id =3D addr / block_size; > - rc =3D sclp_create_mem(&sclp_mems[id], kset, id, false, > + rc =3D sclp_create_mem(kset, id, false, > mhp_supports_memmap_on_memory()); > if (rc) > break; > } [Severity: Medium] If sclp_create_mem() fails and breaks out of this loop in sclp_create_standby_mems_merged(), are the kobjects created in previous iterations left registered? Should there be a centralized error cleanup path to unwind and free these prior allocations? > skip_add: > first_rn =3D rn; > num =3D 1; > return rc; > } > =20 > -static int __init sclp_create_standby_mems(struct sclp_mem *sclp_mems, s= truct kset *kset) > +static int __init sclp_create_standby_mems(struct kset *kset) > { > struct memory_increment *incr; > int rc =3D 0; > =20 > list_for_each_entry(incr, &sclp_mem_list, list) { > if (incr->standby) > - rc =3D sclp_create_standby_mems_merged(sclp_mems, kset, incr->rn); > + rc =3D sclp_create_standby_mems_merged(kset, incr->rn); > if (rc) > return rc; > } [Severity: High] When sclp_create_standby_mems_merged() returns an error, this loop in sclp_create_standby_mems() returns directly. Could this leak all the standby kobjects that were successfully created in earlier iterations of the loop? > - return sclp_create_standby_mems_merged(sclp_mems, kset, 0); > + return sclp_create_standby_mems_merged(kset, 0); > } > =20 > static int __init sclp_init_mem(void) > { > - const unsigned long block_size =3D memory_block_size_bytes(); > - unsigned int max_sclp_mems; > - struct sclp_mem *sclp_mems; > - struct sclp_mem_arg arg; > struct kset *kset; > int rc; > =20 > - max_sclp_mems =3D roundup(sclp.rnmax * sclp.rzm, block_size) / block_si= ze; > - /* Allocate memory for all blocks ahead of time. */ > - sclp_mems =3D kzalloc_objs(struct sclp_mem, max_sclp_mems); > - if (!sclp_mems) > - return -ENOMEM; > kset =3D kset_create_and_add("memory", NULL, firmware_kobj); > if (!kset) > return -ENOMEM; > /* Initial memory is in the "configured" state already. */ > - arg.sclp_mems =3D sclp_mems; > - arg.kset =3D kset; > - rc =3D for_each_memory_block(&arg, sclp_create_configured_mem); > + rc =3D for_each_memory_block(kset, sclp_create_configured_mem); > if (rc) > return rc; [Severity: High] If for_each_memory_block() encounters an error during memory block creation in sclp_init_mem(), returning directly here leaves the previously created kset and any successfully configured memory kobjects registered. Does this result in a permanent memory leak of these structures? > /* Standby memory is "deconfigured". */ > - return sclp_create_standby_mems(sclp_mems, kset); > + return sclp_create_standby_mems(kset); > } [Severity: Medium] Similarly, if sclp_create_standby_mems() fails later in sclp_init_mem(), returning its error code directly leaves the kset and the initial configured memory blocks leaked. Is an error handling path missing here to clean up the kset and all child kobjects on failure? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261013223946.1836= 757-1-irogers@google.com?part=3D8