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 9C9DDC61DD3 for ; Thu, 3 Sep 2026 06:35:13 +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:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=u1rfAxAXVvRwKjqW/78t9lGRlDALyqu6UdODQ9X3wZw=; b=Y4XCF5dVP1lbug KVk5QuaFQI/cB5bys22QTqWK8dGFBmZEtnPrXmrBFaGWGbtlw8GBF+oXQGN0lodwrKc1X7RsBDLbx 3wVEUY0dhnGX+nZkXLu19iJaM7xWUy+iPJgDP1H7L7gn5Q+dW5NO5ThTVQVZ88ZM+8JfYSQIVA2oJ wZ+Z1fS4rSe66yS5HTd6G5HgGvrrvDpnCcViyt0LQKduBgRntSQ8NNSAgJE487TiupslvBKlSwfQ+ L+1jICIJxkePYzetXUncegLFqDQEK6gL+kE7SRRZGEjPnfiTYw+JdBme8KIJTXev/Zt/U97r5IXI8 K/yLOMpx+NwwdLOTxZiA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x212X-0000000GUvU-1THG; Thu, 03 Sep 2026 06:35:13 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x212V-0000000GUuo-3rdv for linux-i3c@lists.infradead.org; Thu, 03 Sep 2026 06:35:11 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 54A4E43A1C; Thu, 3 Sep 2026 06:35:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DF281F000E9; Thu, 3 Sep 2026 06:35:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788417311; bh=2fkMejoRIn0FVs3ej9j8Sp6cKhm0yJ2RBrixdCM2AZA=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=bQrSWHeDfaJGX58A1A0Ceg+TOyIkUqZLxnpdnaNuJ5PKMLc4Gbevs80LRiAJ4/jZI ngVgC80otjyco3NYp85Aqsgudl6LjT/4ASJGvJig1crJ0DGbRANOaQVVaIt4tzYhze 7n+KjVbLFC8f+9Qr5GP7G0TjA9B1YoALQ5RW5mqeW5KyzqLGGjBwKEDlbSO2wnmYcn /F4S7FXKHI2CwgBybA6Gl1cvC/BjhHVktyMNuD+zMsxDFIaaOzxi3QMBDiOrXnrxqH L5SAscGlVJbC0bLWal3WAT6g0s4PAH1B0eulntEtVLqRhx97K4PXHzHOKXhi/qs7ei Z0dCghN9RRTOg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v18 2/8] i3c: master: Add controller-only device operation helpers To: "Lakshay Piplani" Cc: Frank.Li@kernel.org, robh@kernel.org, devicetree@vger.kernel.org, "Alexandre Belloni" , conor+dt@kernel.org, linux-i3c@lists.infradead.org In-Reply-To: <20260903062108.2712296-3-lakshay.piplani@nxp.com> References: <20260903062108.2712296-1-lakshay.piplani@nxp.com> <20260903062108.2712296-3-lakshay.piplani@nxp.com> Date: Thu, 03 Sep 2026 06:35:10 +0000 Message-Id: <20260903063510.5DF281F000E9@smtp.kernel.org> X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: 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-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgot IFtIaWdoXSBNaXNzaW5nIG1lbW9yeSBiYXJyaWVyIGJldHdlZW4gYHJlaW5pdF9jb21wbGV0aW9u YCBhbmQgYGF0b21pY19yZWFkYCBjYW4gbGVhZCB0byBhbiBpbmRlZmluaXRlIGhhbmcuCi0gW0hp Z2hdIFVzZS1hZnRlci1mcmVlIG9mIGBkZXYtPmliaWAgYW5kIGdlbmVyaWMgSUJJIHBvb2wgaWYg dGhlIGNvbnRyb2xsZXIgZmFpbHMgdG8gZGlzYWJsZSBJQkkuCi0gW0hpZ2hdIERldmljZSBhZGRy ZXNzIHN0YXRlIGNvcnJ1cHRpb24gYW5kIHJlc291cmNlIGNvbGxpc2lvbnMgaWYgcmVhdHRhY2gg Y2FsbGJhY2sgZmFpbHMuCi0tCgpjb21taXQgNmIyYTk4MjViODAyZWM1YzY1YTgwMGFkMmI2NmIz Y2Q1M2E5ZDMwNApBdXRob3I6IExha3NoYXkgUGlwbGFuaSA8bGFrc2hheS5waXBsYW5pQG54cC5j b20+CgogICAgaTNjOiBtYXN0ZXI6IEFkZCBjb250cm9sbGVyLW9ubHkgZGV2aWNlIG9wZXJhdGlv biBoZWxwZXJzCiAgICAKICAgIFRoZSBnZW5lcmljIEkzQyBkZXZpY2UgYXR0YWNoIGFuZCBJQkkg cGF0aHMgcGVyZm9ybSBib3RoIGNvcmUtbGV2ZWwKICAgIGJvb2trZWVwaW5nIGFuZCBjb250cm9s bGVyLXNwZWNpZmljIG9wZXJhdGlvbnMuIEFuIEkzQyBodWIsIGhvd2V2ZXIsCiAgICBtYWludGFp bnMgYSBsb2dpY2FsIGRldmljZSBkZXNjcmlwdG9yIG9uIHRoZSB2aXJ0dWFsIGRvd25zdHJlYW0g YnVzIGFuZAogICAgYSBzZXBhcmF0ZSBwYXJlbnQtZmFjaW5nIGRlc2NyaXB0b3IgdXNlZCBieSB0 aGUgcGh5c2ljYWwgcGFyZW50CiAgICBjb250cm9sbGVyLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9pM2MvbWFzdGVyLmMgYi9kcml2ZXJzL2kzYy9tYXN0ZXIuYwo+IGluZGV4IDllYTQ3MjY0OTVm ZjYuLmI4NjRmY2JiMWE1OTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pM2MvbWFzdGVyLmMKPiAr KysgYi9kcml2ZXJzL2kzYy9tYXN0ZXIuYwpbIC4uLiBdCj4gQEAgLTE5NTgsMjUgKzIwMDUsMzkg QEAgaW50IGkzY19tYXN0ZXJfcmVhdHRhY2hfaTNjX2Rldl9sb2NrZWQoc3RydWN0IGkzY19kZXZf ZGVzYyAqZGV2LAo+ICAJCQkJCQkgICAgIEkzQ19BRERSX1NMT1RfRlJFRSk7Cj4gIAl9Cj4gIAo+ IC0JaWYgKG1hc3Rlci0+b3BzLT5yZWF0dGFjaF9pM2NfZGV2KSB7Cj4gLQkJcmV0ID0gbWFzdGVy LT5vcHMtPnJlYXR0YWNoX2kzY19kZXYoZGV2LCBvbGRfZHluX2FkZHIpOwo+IC0JCWlmIChyZXQp IHsKPiAtCQkJaTNjX21hc3Rlcl9wdXRfaTNjX2FkZHJzKGRldik7Cj4gLQkJCXJldHVybiByZXQ7 Cj4gLQkJfQo+ICsJcmV0ID0gaTNjX21hc3Rlcl9yZWF0dGFjaF9pM2NfZGV2X2NvbnRyb2xsZXJf bG9ja2VkKGRldiwgb2xkX2R5bl9hZGRyKTsKPiArCWlmIChyZXQpIHsKPiArCQlpM2NfbWFzdGVy X3B1dF9pM2NfYWRkcnMoZGV2KTsKPiArCQlyZXR1cm4gcmV0Owo+ICAJfQoKW1NldmVyaXR5OiBI aWdoXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IG9uIHRo aXMgZXJyb3IgcGF0aCwgaWYgdGhlCnJlYXR0YWNoIGZhaWxzLCB3ZSBmcmVlIHRoZSBidXMgYWRk cmVzc2VzIGJ5IGNhbGxpbmcKaTNjX21hc3Rlcl9wdXRfaTNjX2FkZHJzKGRldiksIGJ1dCB3ZSBs ZWF2ZSB0aGUgZGV2aWNlIGF0dGFjaGVkIHRvIHRoZQptYXN0ZXItPmJ1cy5kZXZzLmkzYyBsaXN0 LgoKSWYgY2FsbGVycyBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcmVhdHRhY2ggZnVu Y3Rpb24sIGNvdWxkbid0IHRoaXMKcGh5c2ljYWwgZGV2aWNlIHJlbWFpbiBvbiB0aGUgYnVzIGxp c3Qgd2hpbGUgaXRzIGFkZHJlc3MgaXMgbWFya2VkIGFzIEZSRUUsCmxlYWRpbmcgdG8gYWRkcmVz cyBjb2xsaXNpb25zIG9uIHRoZSBJM0MgYnVzIGR1cmluZyBzdWJzZXF1ZW50IGRldmljZQpob3Qt am9pbnMgb3IgZGlzY292ZXJpZXM/CgpbIC4uLiBdCj4gQEAgLTM5NjMsMTQgKzQwNzIsOSBAQCBF WFBPUlRfU1lNQk9MX0dQTChpM2NfZGV2X2RvX3hmZXJzX2xvY2tlZCk7Cj4gICAqLwo+ICBpbnQg aTNjX2Rldl9kaXNhYmxlX2liaV9sb2NrZWQoc3RydWN0IGkzY19kZXZfZGVzYyAqZGV2KQo+ICB7 Cj4gLQlzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVyICptYXN0ZXI7Cj4gIAlpbnQgcmV0Owo+ ICAKPiAtCWlmICghZGV2LT5pYmkpCj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQo+IC0JbWFzdGVy ID0gaTNjX2Rldl9nZXRfbWFzdGVyKGRldik7Cj4gLQlyZXQgPSBtYXN0ZXItPm9wcy0+ZGlzYWJs ZV9pYmkoZGV2KTsKPiArCXJldCA9IGkzY19kZXZfZGlzYWJsZV9pYmlfY29udHJvbGxlcl9sb2Nr ZWQoZGV2KTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gQEAgLTM5ODQsNiAr NDA4OCwzMiBAQCBpbnQgaTNjX2Rldl9kaXNhYmxlX2liaV9sb2NrZWQoc3RydWN0IGkzY19kZXZf ZGVzYyAqZGV2KQo+ICB9Cj4gIEVYUE9SVF9TWU1CT0xfR1BMKGkzY19kZXZfZGlzYWJsZV9pYmlf bG9ja2VkKTsKCltTZXZlcml0eTogSGlnaF0KVGhpcyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSwg YnV0IG1pc3NpbmcgbWVtb3J5IGJhcnJpZXJzIGluIHRoaXMgZnVuY3Rpb24KY2FuIGxlYWQgdG8g YW4gaW5kZWZpbml0ZSBoYW5nLgoKaTNjX2Rldl9kaXNhYmxlX2liaV9sb2NrZWQoKSBjYWxsczoK CglyZWluaXRfY29tcGxldGlvbigmZGV2LT5pYmktPmFsbF9pYmlzX2hhbmRsZWQpOwoJaWYgKGF0 b21pY19yZWFkKCZkZXYtPmliaS0+cGVuZGluZ19pYmlzKSkKCQl3YWl0X2Zvcl9jb21wbGV0aW9u KCZkZXYtPmliaS0+YWxsX2liaXNfaGFuZGxlZCk7CgpCZWNhdXNlIHRoZXJlIGlzIG5vIG1lbW9y eSBiYXJyaWVyIChzdWNoIGFzIHNtcF9tYigpKSBiZXR3ZWVuCnJlaW5pdF9jb21wbGV0aW9uKCkg KGEgbm9uLXZvbGF0aWxlIHN0b3JlKSBhbmQgYXRvbWljX3JlYWQoKSAoYSB2b2xhdGlsZQpyZWFk KSwgd2Vha2x5IG9yZGVyZWQgQ1BVcyBjb3VsZCByZW9yZGVyIHRoZSBsb2FkIG9mIHBlbmRpbmdf aWJpcyB0byBleGVjdXRlCmJlZm9yZSB0aGUgc3RvcmUgdG8gZG9uZS4gCgpJZiB0aGlzIGhhcHBl bnMsIGNvdWxkIHRoaXMgY2F1c2UgQ1BVIDAgdG8gc2xlZXAgaW4gd2FpdF9mb3JfY29tcGxldGlv bigpCmZvcmV2ZXIgaWYgQ1BVIDEgY29tcGxldGVzIHRoZSBsYXN0IElCSSBiZWZvcmUgQ1BVIDAg Y29tbWl0cyBkb25lID0gMD8KClsgLi4uIF0KPiBAQCAtNDA5Niw3ICs0Mjc5LDcgQEAgdm9pZCBp M2NfZGV2X2ZyZWVfaWJpX2xvY2tlZChzdHJ1Y3QgaTNjX2Rldl9kZXNjICpkZXYpCj4gIAkJCWRl dl9lcnIoJm1hc3Rlci0+ZGV2LCAiRmFpbGVkIHRvIGRpc2FibGUgSUJJIGJlZm9yZSBmcmVlaW5n XG4iKTsKPiAgCX0KPiAgCj4gLQltYXN0ZXItPm9wcy0+ZnJlZV9pYmkoZGV2KTsKPiArCWkzY19k ZXZfZnJlZV9pYmlfY29udHJvbGxlcl9sb2NrZWQoZGV2KTsKPiAgCj4gIAlpZiAoZGV2LT5pYmkt PndxKSB7Cj4gIAkJZGVzdHJveV93b3JrcXVldWUoZGV2LT5pYmktPndxKTsKCltTZXZlcml0eTog SGlnaF0KVGhpcyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSwgYnV0IHRoaXMgZXJyb3IgcGF0aCBz ZWVtcyB0byB1bmNvbmRpdGlvbmFsbHkKZnJlZSB0aGUgSUJJIHN0cnVjdHVyZXMgZXZlbiBpZiB0 aGUgaGFyZHdhcmUgaXMgc3RpbGwgYWN0aXZlLgoKSW4gaTNjX2Rldl9mcmVlX2liaV9sb2NrZWQo KSwgaWYgdGhlIGNvbnRyb2xsZXIgZmFpbHMgdG8gZGlzYWJsZSBJQklzOgoKCWlmIChyZXQpCgkJ ZGV2X2VycigmbWFzdGVyLT5kZXYsICJGYWlsZWQgdG8gZGlzYWJsZSBJQkkgYmVmb3JlIGZyZWVp bmdcbiIpOwogICAgfQoKCWkzY19kZXZfZnJlZV9pYmlfY29udHJvbGxlcl9sb2NrZWQoZGV2KTsK CglpZiAoZGV2LT5pYmktPndxKSB7CgkJZGVzdHJveV93b3JrcXVldWUoZGV2LT5pYmktPndxKTsK CQlkZXYtPmliaS0+d3EgPSBOVUxMOwoJfQoKCWtmcmVlKGRldi0+aWJpKTsKCkJlY2F1c2UgdGhl IGhhcmR3YXJlIGludGVycnVwdCBtaWdodCBzdGlsbCBmaXJlIGlmIGRpc2FibGluZyBmYWlscywg Y291bGRuJ3QgCmEgY29uY3VycmVudCBpbnRlcnJ1cHQgaGFuZGxlciB0cnkgdG8gcXVldWUgd29y ayB0byB0aGUgZGVzdHJveWVkCmRldi0+aWJpLT53cSwgcmVzdWx0aW5nIGluIGEgdXNlLWFmdGVy LWZyZWUgYW5kIHBvdGVudGlhbCBrZXJuZWwgcGFuaWM/CgotLSAKU2FzaGlrbyBBSSByZXZpZXcg wrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYwOTAzMDYyMTA4LjI3MTIyOTYt MS1sYWtzaGF5LnBpcGxhbmlAbnhwLmNvbT9wYXJ0PTIKCi0tIApsaW51eC1pM2MgbWFpbGluZyBs aXN0CmxpbnV4LWkzY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtaTNjCg== 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 77AE53F58E1 for ; Thu, 3 Sep 2026 06:35:13 +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=1788417317; cv=none; b=HCRmGywFImTQjjDRk2ZJf0B1kOtOoqZVTIa6CNGfW9STRByTSiM9iToKiBaFIBygNTqlUPBJNfB/IuFmRePQC3zThgnQQn74VT4qntJpIn7U9JErgLZUdu7GQ/le7NVXgM+MdQB6+3yNmw1Gr2xXTwhq3pL2RI/gYhebULq0Tso= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788417317; c=relaxed/simple; bh=rJvi01MSGht64d3cBSKergPPmEZFfACCFJvta8vgz1w=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=msH3WIe3A0jsfeUEsHJLpWeFOom/LBpIFr76CUlY/G2QjYWiEqIEvTxuv+OTm1KbzC5xK4klsv2JrJv4gzY4bqArSMal6Fx7ozBGYEQBJanFc8Hu+gtQFcK564AR7x6/gtIob5iixtuJJE4aqzHjrHjm7luHlMUXmJag4g5yYwg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bQrSWHeD; 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="bQrSWHeD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DF281F000E9; Thu, 3 Sep 2026 06:35:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788417311; bh=2fkMejoRIn0FVs3ej9j8Sp6cKhm0yJ2RBrixdCM2AZA=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=bQrSWHeDfaJGX58A1A0Ceg+TOyIkUqZLxnpdnaNuJ5PKMLc4Gbevs80LRiAJ4/jZI ngVgC80otjyco3NYp85Aqsgudl6LjT/4ASJGvJig1crJ0DGbRANOaQVVaIt4tzYhze 7n+KjVbLFC8f+9Qr5GP7G0TjA9B1YoALQ5RW5mqeW5KyzqLGGjBwKEDlbSO2wnmYcn /F4S7FXKHI2CwgBybA6Gl1cvC/BjhHVktyMNuD+zMsxDFIaaOzxi3QMBDiOrXnrxqH L5SAscGlVJbC0bLWal3WAT6g0s4PAH1B0eulntEtVLqRhx97K4PXHzHOKXhi/qs7ei Z0dCghN9RRTOg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v18 2/8] i3c: master: Add controller-only device operation helpers Reply-To: sashiko-reviews@lists.linux.dev To: "Lakshay Piplani" Cc: Frank.Li@kernel.org, robh@kernel.org, devicetree@vger.kernel.org, "Alexandre Belloni" , conor+dt@kernel.org, linux-i3c@lists.infradead.org In-Reply-To: <20260903062108.2712296-3-lakshay.piplani@nxp.com> References: <20260903062108.2712296-1-lakshay.piplani@nxp.com> <20260903062108.2712296-3-lakshay.piplani@nxp.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 03 Sep 2026 06:35:10 +0000 Message-Id: <20260903063510.5DF281F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 3 potential issue(= s) to consider: Pre-existing issues: - [High] Missing memory barrier between `reinit_completion` and `atomic_rea= d` can lead to an indefinite hang. - [High] Use-after-free of `dev->ibi` and generic IBI pool if the controlle= r fails to disable IBI. - [High] Device address state corruption and resource collisions if reattac= h callback fails. -- commit 6b2a9825b802ec5c65a800ad2b66b3cd53a9d304 Author: Lakshay Piplani i3c: master: Add controller-only device operation helpers =20 The generic I3C device attach and IBI paths perform both core-level bookkeeping and controller-specific operations. An I3C hub, however, maintains a logical device descriptor on the virtual downstream bus and a separate parent-facing descriptor used by the physical parent controller. > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index 9ea4726495ff6..b864fcbb1a594 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c [ ... ] > @@ -1958,25 +2005,39 @@ int i3c_master_reattach_i3c_dev_locked(struct i3c= _dev_desc *dev, > I3C_ADDR_SLOT_FREE); > } > =20 > - if (master->ops->reattach_i3c_dev) { > - ret =3D master->ops->reattach_i3c_dev(dev, old_dyn_addr); > - if (ret) { > - i3c_master_put_i3c_addrs(dev); > - return ret; > - } > + ret =3D i3c_master_reattach_i3c_dev_controller_locked(dev, old_dyn_addr= ); > + if (ret) { > + i3c_master_put_i3c_addrs(dev); > + return ret; > } [Severity: High] This isn't a bug introduced by this patch, but on this error path, if the reattach fails, we free the bus addresses by calling i3c_master_put_i3c_addrs(dev), but we leave the device attached to the master->bus.devs.i3c list. If callers ignore the return value of the reattach function, couldn't this physical device remain on the bus list while its address is marked as FREE, leading to address collisions on the I3C bus during subsequent device hot-joins or discoveries? [ ... ] > @@ -3963,14 +4072,9 @@ EXPORT_SYMBOL_GPL(i3c_dev_do_xfers_locked); > */ > int i3c_dev_disable_ibi_locked(struct i3c_dev_desc *dev) > { > - struct i3c_master_controller *master; > int ret; > =20 > - if (!dev->ibi) > - return -EINVAL; > - > - master =3D i3c_dev_get_master(dev); > - ret =3D master->ops->disable_ibi(dev); > + ret =3D i3c_dev_disable_ibi_controller_locked(dev); > if (ret) > return ret; > =20 > @@ -3984,6 +4088,32 @@ int i3c_dev_disable_ibi_locked(struct i3c_dev_desc= *dev) > } > EXPORT_SYMBOL_GPL(i3c_dev_disable_ibi_locked); [Severity: High] This is a pre-existing issue, but missing memory barriers in this function can lead to an indefinite hang. i3c_dev_disable_ibi_locked() calls: reinit_completion(&dev->ibi->all_ibis_handled); if (atomic_read(&dev->ibi->pending_ibis)) wait_for_completion(&dev->ibi->all_ibis_handled); Because there is no memory barrier (such as smp_mb()) between reinit_completion() (a non-volatile store) and atomic_read() (a volatile read), weakly ordered CPUs could reorder the load of pending_ibis to execute before the store to done.=20 If this happens, could this cause CPU 0 to sleep in wait_for_completion() forever if CPU 1 completes the last IBI before CPU 0 commits done =3D 0? [ ... ] > @@ -4096,7 +4279,7 @@ void i3c_dev_free_ibi_locked(struct i3c_dev_desc *d= ev) > dev_err(&master->dev, "Failed to disable IBI before freeing\n"); > } > =20 > - master->ops->free_ibi(dev); > + i3c_dev_free_ibi_controller_locked(dev); > =20 > if (dev->ibi->wq) { > destroy_workqueue(dev->ibi->wq); [Severity: High] This is a pre-existing issue, but this error path seems to unconditionally free the IBI structures even if the hardware is still active. In i3c_dev_free_ibi_locked(), if the controller fails to disable IBIs: if (ret) dev_err(&master->dev, "Failed to disable IBI before freeing\n"); } i3c_dev_free_ibi_controller_locked(dev); if (dev->ibi->wq) { destroy_workqueue(dev->ibi->wq); dev->ibi->wq =3D NULL; } kfree(dev->ibi); Because the hardware interrupt might still fire if disabling fails, couldn'= t=20 a concurrent interrupt handler try to queue work to the destroyed dev->ibi->wq, resulting in a use-after-free and potential kernel panic? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260903062108.2712= 296-1-lakshay.piplani@nxp.com?part=3D2