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 A3B9DC43458 for ; Wed, 8 Jul 2026 09:44:32 +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=qGppQiL3n9t3NLRMn29cFLDa2yp70W/cZba2rAn4muQ=; b=LhvWIAJ7lRD8x4 ZJxwirwYkNpY7kGSQOBj5sPpj5O4rIOiMherWXE+UW7KMjedE+vQcRgK2VX3S0vyvYYCrWam/DGPR 0BEWaUT4QIqR6R/kQ0/M2y+Kf7OOnrfrnMSQXsXcvJ7vj4oDxv/99g8n1svckMdpbhCpNHSwSchd2 6ffGxm52WVbM/x8zuyD8ubrJJIW37y6ipGAQS0Veu2xr+dYMKre4kbCMXNs2K+vLhq/15hR1tY/NF zJ6xXyyUM3qy9JAlB3wVT+yQADUD1vyWX+uUiFZ7GhUtgMfCzXLMf8dn1PHDEkAsl/rpz2ry4AHbx y+Q0q//TDZx3bhq/ifrg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1whOpU-0000000GmAJ-11DN; Wed, 08 Jul 2026 09:44:32 +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 1whOpS-0000000GmA7-15V2 for linux-i3c@lists.infradead.org; Wed, 08 Jul 2026 09:44:30 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 49B8C60008; Wed, 8 Jul 2026 09:44:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A712F1F000E9; Wed, 8 Jul 2026 09:44:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783503869; bh=Hn9Jq+hSskuJ2oSf8Klo6NhPMZ59jrTywnqApoSu/dE=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=Be8lmEgXSv7P3+NAZsGRKcnOia0e5/VfX0cJ6reWegaZZFfgPyqrv/Mj436lv2CG/ mBhMrcOGs97rX/e9AYht4JFvozkF5yLPLEUpj2xSxDmP+PtI286UNOU8pTTCWPPf7c gdR6Jp0/W2swfC1TJeUGknAunVHOIqDVzv5CW1DKOLwrxOGP/awuv5h20VrLefQb5/ ufmJXG/vappcpNCllD0nBNwYY6bBMRlNkb2ef25A23DrJacrNzvUPgarKbhStFCqVD 86tEOGe8hARr0hT2fZ83WoB0Q3jZKRqJ+mMLk6RHZXlw1o4oPczkci/gL7m//ElSA7 4MmiOTb0HOPTQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v6 2/5] i3c: master: Report actual GET CCC payload length on success To: tze.yee.ng@altera.com Cc: "Alexandre Belloni" , linux-i3c@lists.infradead.org, Frank.Li@kernel.org, imx@lists.linux.dev In-Reply-To: <6c66571ae7166aa4b87616d900e6d643631ac355.1783493868.git.tze.yee.ng@altera.com> References: <6c66571ae7166aa4b87616d900e6d643631ac355.1783493868.git.tze.yee.ng@altera.com> Date: Wed, 08 Jul 2026 09:44:28 +0000 Message-Id: <20260708094428.A712F1F000E9@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 IFtIaWdoXSBUaGlzIHByb2JsZW0gd2Fzbid0IGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0 IHRoZSBSZW5lc2FzIEkzQyBkcml2ZXIgc3VmZmVycyBmcm9tIGEgS0FTQU4gb3V0LW9mLWJvdW5k cyB3cml0ZSBhbmQgZGF0YSBjb3JydXB0aW9uIGR1ZSB0byB1bmJvdW5kZWQgRklGTyByZWFkcyBh bmQgbWlzc2luZyBidWZmZXIgcG9pbnRlciBhY2N1bXVsYXRpb24uCi0gW0hpZ2hdIFRoaXMgcHJv YmxlbSB3YXNuJ3QgaW50cm9kdWNlZCBieSB0aGlzIHBhdGNoLCBidXQgdGhlIFNpbHZhY28gSTND IG1hc3RlciBkcml2ZXIgbWl4ZXMgMzItYml0IHJlZ2lzdGVyIGFjY2Vzc29ycyAoYHJlYWRsYCkg YW5kIDgtYml0IHN0cmVhbSBhY2Nlc3NvcnMgKGByZWFkc2JgKSBvbiB0aGUgc2FtZSBgU1ZDX0kz Q19NUkRBVEFCYCBGSUZPLCBjYXVzaW5nIGVuZGlhbm5lc3MgcG9ydGFiaWxpdHkgYnVncy4KLSBb SGlnaF0gVGhpcyBwcm9ibGVtIHdhc24ndCBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCB0 aGUgbWlzc2luZyBoYXJkd2FyZSBhYm9ydCBvbiB0cmFuc2ZlciB0aW1lb3V0IGluIHRoZSBSZW5l c2FzIEkzQyBkcml2ZXIgbGVhZHMgdG8gTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlcyBvciBjcm9z cy10cmFuc2ZlciBzdGF0ZSBjb3JydXB0aW9uLgotLQoKLS0tIFBhdGNoIFsyXTogW1BBVENIIHY2 IDIvNV0gaTNjOiBtYXN0ZXI6IFJlcG9ydCBhY3R1YWwgR0VUIENDQyBwYXlsb2FkIGxlbmd0aCBv biBzdWNjZXNzIC0tLQpjb21taXQgZmIyMjVjMmRlODM1Y2QxZjBmYzczYTBlOTgyOWFkYTc1MzM2 M2Y2MgpBdXRob3I6IEFkcmlhbiBOZyBIbyBZaW4gPGFkcmlhbi5oby55aW4ubmdAYWx0ZXJhLmNv bT4KCmkzYzogbWFzdGVyOiBSZXBvcnQgYWN0dWFsIEdFVCBDQ0MgcGF5bG9hZCBsZW5ndGggb24g c3VjY2VzcwoKU2V0IGRlc3RzW10ucGF5bG9hZC5hY3R1YWxfbGVuIG9uIHN1Y2Nlc3NmdWwgR0VU IENDQyB0cmFuc2ZlcnMgaW4gSTNDCm1hc3RlciBkcml2ZXJzIHNvIHRoZSBjb3JlIGNhbiBkaXN0 aW5ndWlzaCByZXF1ZXN0ZWQgYW5kIHJlY2VpdmVkCmJ1ZmZlciBsZW5ndGhzLiBTd2l0Y2ggY29y ZSBHRVQgaGVscGVycyB0byB1c2UgYWN0dWFsX2xlbiBpbnN0ZWFkIG9mCmxlbiB3aGVuIGludGVy cHJldGluZyBHRVQgQ0NDIHJlc3VsdHMuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2kzYy9tYXN0 ZXIvcmVuZXNhcy1pM2MuYyBiL2RyaXZlcnMvaTNjL21hc3Rlci9yZW5lc2FzLWkzYy5jCj4gaW5k ZXggZjM5YzQ0OTkyMmNhMi4uMjVhMmIyZWQ2MThlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2kz Yy9tYXN0ZXIvcmVuZXNhcy1pM2MuYwo+ICsrKyBiL2RyaXZlcnMvaTNjL21hc3Rlci9yZW5lc2Fz LWkzYy5jCgpbIC4uLiBdCgo+IEBAIC0xMDcyLDEwICsxMDc0LDE2IEBAIHN0YXRpYyBpcnFyZXR1 cm5fdCByZW5lc2FzX2kzY19yZXNwX2lzcihpbnQgaXJxLCB2b2lkICpkYXRhKQoKW1NldmVyaXR5 OiBIaWdoXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IHdo YXQgaGFwcGVucyBpZiBhIHRyYW5zZmVyCnRpbWVzIG91dCBhbmQgd2UgbGF0ZXIgcmVjZWl2ZSBh IGRlbGF5ZWQgaGFyZHdhcmUgY29tcGxldGlvbiBpbiB0aGlzIElTUj8KCklmIGEgdGltZW91dCBv Y2N1cnMsIHJlbmVzYXNfaTNjX2RlcXVldWVfeGZlcl9sb2NrZWQoKSByZW1vdmVzIHRoZSB0cmFu c2Zlcgpmcm9tIHRoZSBzb2Z0d2FyZSBxdWV1ZToKCiAgICBpZiAoaTNjLT54ZmVycXVldWUuY3Vy ID09IHhmZXIpCiAgICAgICAgaTNjLT54ZmVycXVldWUuY3VyID0gTlVMTDsKCklmIHRoaXMgaGFw cGVucyB3aXRob3V0IGlzc3VpbmcgYW4gYWJvcnQgY29tbWFuZCB0byB0aGUgaGFyZHdhcmUsIHdo ZW4gdGhlCmhhcmR3YXJlIGV2ZW50dWFsbHkgY29tcGxldGVzIHRoZSB0aW1lZC1vdXQgdHJhbnNm ZXIsIHdvdWxkbid0CnJlbmVzYXNfaTNjX3Jlc3BfaXNyKCkgYmxpbmRseSBkZXJlZmVyZW5jZSB0 aGUgbm93LU5VTEwgaTNjLT54ZmVycXVldWUuY3VyCnBvaW50ZXIgd2hlbiBwdWxsaW5nIHRoZSBj b21tYW5kIHN0YXRlPwoKICAgIHhmZXIgPSBpM2MtPnhmZXJxdWV1ZS5jdXI7CiAgICBjbWQgPSB4 ZmVyLT5jbWRzOwogICAgLi4uCiAgICBjbWQtPnJ4X2NvdW50ID0gZGF0YV9sZW47CgpDb3VsZCB0 aGlzIGxlYWQgdG8gYSBrZXJuZWwgcGFuaWMgb3IgY3Jvc3MtdHJhbnNmZXIgc3RhdGUgY29ycnVw dGlvbj8KCj4gIAkJCWJyZWFrOwo+ICAJCWNhc2UgSTNDX0lOVEVSTkFMX1NUQVRFX0NPTlRST0xM RVJfUkVBRDoKPiAgCQljYXNlIEkzQ19JTlRFUk5BTF9TVEFURV9DT05UUk9MTEVSX0NPTU1BTkRf UkVBRDoKPiAtCQkJaWYgKE5EQlNUTFYwX1JEQkxWKHJlbmVzYXNfcmVhZGwoaTNjLT5yZWdzLCBO REJTVExWMCkpICYmICFjbWQtPmVycikKPiAtCQkJCWJ5dGVzX3JlbWFpbmluZyA9IGRhdGFfbGVu IC0gY21kLT5yeF9jb3VudDsKPiAtCj4gLQkJCWkzY19yZWFkbF9maWZvKGkzYy0+cmVncyArIE5U RFRCUDAsIGNtZC0+cnhfYnVmLCBieXRlc19yZW1haW5pbmcpOwo+ICsJCQlpZiAoIWNtZC0+ZXJy KSB7Cj4gKwkJCQl1MzIgcnhfY291bnQgPSBtaW4oY21kLT5yeF9jb3VudCwgZGF0YV9sZW4pOwoK W1NldmVyaXR5OiBIaWdoXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRj aCwgYnV0IHdoaWxlIGNsYW1waW5nIHJ4X2NvdW50CmhlcmUgdG8gcHJldmVudCB1bnNpZ25lZCB1 bmRlcmZsb3dzLCBpcyBpdCBwb3NzaWJsZSB3ZSBzdGlsbCBoYXZlIGEgbWVtb3J5CmNvcnJ1cHRp b24gaXNzdWUgb3JpZ2luYXRpbmcgaW4gcmVuZXNhc19pM2NfcnhfaXNyKCk/CgpDdXJyZW50bHks IHJlbmVzYXNfaTNjX3J4X2lzcigpIGNhbGN1bGF0ZXMgcmVhZF9ieXRlcyByb3VuZGVkIHVwIHRv IGEKNC1ieXRlIG11bHRpcGxlIGFuZCByZWFkcyBpbnRvIGNtZC0+cnhfYnVmOgoKICAgIHJlYWRf Ynl0ZXMgPSBOREJTVExWMF9SREJMVihyZW5lc2FzX3JlYWRsKGkzYy0+cmVncywgTkRCU1RMVjAp KSAqIHNpemVvZih1MzIpOwogICAgaTNjX3JlYWRsX2ZpZm8oaTNjLT5yZWdzICsgTlREVEJQMCwg Y21kLT5yeF9idWYsIHJlYWRfYnl0ZXMpOwogICAgY21kLT5yeF9jb3VudCA9IHJlYWRfYnl0ZXM7 CgpDb3VsZCB0aGlzIHdyaXRlIHBhc3QgdGhlIGVuZCBvZiB0aGUgYWxsb2NhdGVkIHBheWxvYWQg YnVmZmVyIGZvciBzbWFsbAp1bmFsaWduZWQgR0VUIENDQ3M/CgpBZGRpdGlvbmFsbHksIGZvciBs YXJnZSB0cmFuc2ZlcnMgdHJpZ2dlcmluZyBtdWx0aXBsZSBpbnRlcnJ1cHRzLCBpdCBsb29rcwps aWtlIHJ4X2NvdW50IGlzIG92ZXJ3cml0dGVuIGluc3RlYWQgb2YgYWNjdW11bGF0ZWQsIGFuZCB0 aGUgcnhfYnVmIHBvaW50ZXIKaXMgbm90IGFkdmFuY2VkLiBDb3VsZCB0aGlzIGNhdXNlIHN1YnNl cXVlbnQgY2h1bmtzIHRvIG92ZXJ3cml0ZSB0aGUKYmVnaW5uaW5nIG9mIHRoZSBidWZmZXI/Cgo+ ICsKPiArCQkJCWJ5dGVzX3JlbWFpbmluZyA9IGRhdGFfbGVuIC0gcnhfY291bnQ7Cj4gKwkJCQlp ZiAoYnl0ZXNfcmVtYWluaW5nKQo+ICsJCQkJCWkzY19yZWFkbF9maWZvKGkzYy0+cmVncyArIE5U RFRCUDAsCj4gKwkJCQkJCSAgICAgICBjbWQtPnJ4X2J1ZiArIHJ4X2NvdW50LAo+ICsJCQkJCQkg ICAgICAgYnl0ZXNfcmVtYWluaW5nKTsKPiArCQkJCWNtZC0+cnhfY291bnQgPSBkYXRhX2xlbjsK PiArCQkJfQo+ICAJCQlyZW5lc2FzX2NsZWFyX2JpdChpM2MtPnJlZ3MsIE5USUUsIE5USUVfUkRC RklFMCk7Cj4gIAkJCWJyZWFrOwo+ICAJCWRlZmF1bHQ6CgpbIC4uLiBdCgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2kzYy9tYXN0ZXIvc3ZjLWkzYy1tYXN0ZXIuYyBiL2RyaXZlcnMvaTNjL21hc3Rl ci9zdmMtaTNjLW1hc3Rlci5jCj4gaW5kZXggNDg2YzIyODQwZWE5YS4uZTcwMDM5MmYwODAxZiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2kzYy9tYXN0ZXIvc3ZjLWkzYy1tYXN0ZXIuYwo+ICsrKyBi L2RyaXZlcnMvaTNjL21hc3Rlci9zdmMtaTNjLW1hc3Rlci5jCgpbIC4uLiBdCgo+IEBAIC0xNzI1 LDggKzE3MjUsOCBAQCBzdGF0aWMgaW50IHN2Y19pM2NfbWFzdGVyX3NlbmRfZGlyZWN0X2NjY19j bWQoc3RydWN0IHN2Y19pM2NfbWFzdGVyICptYXN0ZXIsCj4gIAkJc3ZjX2kzY19tYXN0ZXJfZGVx dWV1ZV94ZmVyKG1hc3RlciwgeGZlcik7Cj4gIAltdXRleF91bmxvY2soJm1hc3Rlci0+bG9jayk7 Cj4gIAo+IC0JaWYgKGNtZC0+YWN0dWFsX2xlbiAhPSB4ZmVyX2xlbikKPiAtCQljY2MtPmRlc3Rz WzBdLnBheWxvYWQubGVuID0gY21kLT5hY3R1YWxfbGVuOwo+ICsJaWYgKGNjYy0+cm53KQo+ICsJ CWNjYy0+ZGVzdHNbMF0ucGF5bG9hZC5hY3R1YWxfbGVuID0gY21kLT5hY3R1YWxfbGVuOwoKW1Nl dmVyaXR5OiBIaWdoXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwg YnV0IGxvb2tpbmcgYXQgdGhlIFNpbHZhY28gZHJpdmVyCmFzIGEgd2hvbGUsIGlzIHRoZXJlIGFu IGVuZGlhbm5lc3MgcG9ydGFiaWxpdHkgaXNzdWUgd2l0aCB0aGUgRklGTyByZWFkcz8KCkluIHN2 Y19pM2NfbWFzdGVyX3JlYWQoKSwgdGhlIDMyLWJpdCByZWdpc3RlciBhY2Nlc3NvciByZWFkbCgp IGlzIHVzZWQKdG8gcmVhZCBmcm9tIHRoZSBzdHJlYW0gRklGTywgd2hpY2ggcGVyZm9ybXMgYSBD UFUtdG8tTEUgYnl0ZS1zd2FwOgoKICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQogICAg ICAgIGluW29mZnNldCArIGldID0gcmVhZGwobWFzdGVyLT5yZWdzICsgU1ZDX0kzQ19NUkRBVEFC KTsKCkhvd2V2ZXIsIHN2Y19pM2NfbWFzdGVyX2hhbmRsZV9pYmkoKSBhY2Nlc3NlcyB0aGUgZXhh Y3Qgc2FtZSBGSUZPIHVzaW5nCnRoZSA4LWJpdCBzdHJlYW0gYWNjZXNzb3IgcmVhZHNiKCksIHdo aWNoIGRvZXMgbm8gYnl0ZS1zd2FwcGluZzoKCiAgICByZWFkc2IobWFzdGVyLT5yZWdzICsgU1ZD X0kzQ19NUkRBVEFCLCBidWYsIGNvdW50KTsKCkNvdWxkIG1peGluZyB0aGVzZSBhY2Nlc3NvciBm YW1pbGllcyBjYXVzZSBkYXRhIGNvcnJ1cHRpb24gb24gYmlnLWVuZGlhbgphcmNoaXRlY3R1cmVz IGR1ZSB0byBpbmNvbnNpc3RlbnQgYnl0ZS1zd2FwcGluZyBiZWhhdmlvcj8KCj4gIAo+ICAJcmV0 ID0geGZlci0+cmV0Owo+ICAJc3ZjX2kzY19tYXN0ZXJfZnJlZV94ZmVyKHhmZXIpOwoKLS0gClNh c2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC9jb3Zlci4x NzgzNDkzODY3LmdpdC50emUueWVlLm5nQGFsdGVyYS5jb20/cGFydD0yCgotLSAKbGludXgtaTNj IG1haWxpbmcgbGlzdApsaW51eC1pM2NAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWkzYwo= 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 4686E3EB7FD for ; Wed, 8 Jul 2026 09:44:29 +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=1783503870; cv=none; b=Uoj4YZCAXWNzXie3aQGezBJJVKI21mRutbKBSHdSp0hjruEuopz4MZ7qNxHilUd0qSpoVr3TtNwn2jiuvyGWvxY1eOTb0xeqIdxtJuFEG25pxGXNDYPPfG7iNx4y7cNieob8vH1YJ6xi3YgiXm8B25gIospztTq4mXsW/Fiz1h0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783503870; c=relaxed/simple; bh=/0XsQeYhHEwGoLyfl5349sTSkH5KRx00N7t6mhM3QtA=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=T0PTvoAzWSraV0kAOIMlr1OVioSu5b95t7s9yjC5eIRpO1S6cnNa0rBEVn+yTjvl1G+8RyUvfc5Lx6BB92Nmor0Clg+D4wo0e0IIrrkGraCN7NFVI0tO+6ZunvazmsXErvQwG2kErEnJeR1viV1Ew3sFWjG7VaLqY+rmZJP3aWI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Be8lmEgX; 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="Be8lmEgX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A712F1F000E9; Wed, 8 Jul 2026 09:44:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783503869; bh=Hn9Jq+hSskuJ2oSf8Klo6NhPMZ59jrTywnqApoSu/dE=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=Be8lmEgXSv7P3+NAZsGRKcnOia0e5/VfX0cJ6reWegaZZFfgPyqrv/Mj436lv2CG/ mBhMrcOGs97rX/e9AYht4JFvozkF5yLPLEUpj2xSxDmP+PtI286UNOU8pTTCWPPf7c gdR6Jp0/W2swfC1TJeUGknAunVHOIqDVzv5CW1DKOLwrxOGP/awuv5h20VrLefQb5/ ufmJXG/vappcpNCllD0nBNwYY6bBMRlNkb2ef25A23DrJacrNzvUPgarKbhStFCqVD 86tEOGe8hARr0hT2fZ83WoB0Q3jZKRqJ+mMLk6RHZXlw1o4oPczkci/gL7m//ElSA7 4MmiOTb0HOPTQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v6 2/5] i3c: master: Report actual GET CCC payload length on success Reply-To: sashiko-reviews@lists.linux.dev To: tze.yee.ng@altera.com Cc: "Alexandre Belloni" , linux-i3c@lists.infradead.org, Frank.Li@kernel.org, imx@lists.linux.dev In-Reply-To: <6c66571ae7166aa4b87616d900e6d643631ac355.1783493868.git.tze.yee.ng@altera.com> References: <6c66571ae7166aa4b87616d900e6d643631ac355.1783493868.git.tze.yee.ng@altera.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 08 Jul 2026 09:44:28 +0000 Message-Id: <20260708094428.A712F1F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: imx@lists.linux.dev 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] This problem wasn't introduced by this patch, but the Renesas I3C = driver suffers from a KASAN out-of-bounds write and data corruption due to = unbounded FIFO reads and missing buffer pointer accumulation. - [High] This problem wasn't introduced by this patch, but the Silvaco I3C = master driver mixes 32-bit register accessors (`readl`) and 8-bit stream ac= cessors (`readsb`) on the same `SVC_I3C_MRDATAB` FIFO, causing endianness p= ortability bugs. - [High] This problem wasn't introduced by this patch, but the missing hard= ware abort on transfer timeout in the Renesas I3C driver leads to NULL poin= ter dereferences or cross-transfer state corruption. -- --- Patch [2]: [PATCH v6 2/5] i3c: master: Report actual GET CCC payload le= ngth on success --- commit fb225c2de835cd1f0fc73a0e9829ada753363f62 Author: Adrian Ng Ho Yin i3c: master: Report actual GET CCC payload length on success Set dests[].payload.actual_len on successful GET CCC transfers in I3C master drivers so the core can distinguish requested and received buffer lengths. Switch core GET helpers to use actual_len instead of len when interpreting GET CCC results. > diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesa= s-i3c.c > index f39c449922ca2..25a2b2ed618ed 100644 > --- a/drivers/i3c/master/renesas-i3c.c > +++ b/drivers/i3c/master/renesas-i3c.c [ ... ] > @@ -1072,10 +1074,16 @@ static irqreturn_t renesas_i3c_resp_isr(int irq, = void *data) [Severity: High] This isn't a bug introduced by this patch, but what happens if a transfer times out and we later receive a delayed hardware completion in this ISR? If a timeout occurs, renesas_i3c_dequeue_xfer_locked() removes the transfer from the software queue: if (i3c->xferqueue.cur =3D=3D xfer) i3c->xferqueue.cur =3D NULL; If this happens without issuing an abort command to the hardware, when the hardware eventually completes the timed-out transfer, wouldn't renesas_i3c_resp_isr() blindly dereference the now-NULL i3c->xferqueue.cur pointer when pulling the command state? xfer =3D i3c->xferqueue.cur; cmd =3D xfer->cmds; ... cmd->rx_count =3D data_len; Could this lead to a kernel panic or cross-transfer state corruption? > break; > case I3C_INTERNAL_STATE_CONTROLLER_READ: > case I3C_INTERNAL_STATE_CONTROLLER_COMMAND_READ: > - if (NDBSTLV0_RDBLV(renesas_readl(i3c->regs, NDBSTLV0)) && !cmd->err) > - bytes_remaining =3D data_len - cmd->rx_count; > - > - i3c_readl_fifo(i3c->regs + NTDTBP0, cmd->rx_buf, bytes_remaining); > + if (!cmd->err) { > + u32 rx_count =3D min(cmd->rx_count, data_len); [Severity: High] This isn't a bug introduced by this patch, but while clamping rx_count here to prevent unsigned underflows, is it possible we still have a memory corruption issue originating in renesas_i3c_rx_isr()? Currently, renesas_i3c_rx_isr() calculates read_bytes rounded up to a 4-byte multiple and reads into cmd->rx_buf: read_bytes =3D NDBSTLV0_RDBLV(renesas_readl(i3c->regs, NDBSTLV0)) * siz= eof(u32); i3c_readl_fifo(i3c->regs + NTDTBP0, cmd->rx_buf, read_bytes); cmd->rx_count =3D read_bytes; Could this write past the end of the allocated payload buffer for small unaligned GET CCCs? Additionally, for large transfers triggering multiple interrupts, it looks like rx_count is overwritten instead of accumulated, and the rx_buf pointer is not advanced. Could this cause subsequent chunks to overwrite the beginning of the buffer? > + > + bytes_remaining =3D data_len - rx_count; > + if (bytes_remaining) > + i3c_readl_fifo(i3c->regs + NTDTBP0, > + cmd->rx_buf + rx_count, > + bytes_remaining); > + cmd->rx_count =3D data_len; > + } > renesas_clear_bit(i3c->regs, NTIE, NTIE_RDBFIE0); > break; > default: [ ... ] > diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc= -i3c-master.c > index 486c22840ea9a..e700392f0801f 100644 > --- a/drivers/i3c/master/svc-i3c-master.c > +++ b/drivers/i3c/master/svc-i3c-master.c [ ... ] > @@ -1725,8 +1725,8 @@ static int svc_i3c_master_send_direct_ccc_cmd(struc= t svc_i3c_master *master, > svc_i3c_master_dequeue_xfer(master, xfer); > mutex_unlock(&master->lock); > =20 > - if (cmd->actual_len !=3D xfer_len) > - ccc->dests[0].payload.len =3D cmd->actual_len; > + if (ccc->rnw) > + ccc->dests[0].payload.actual_len =3D cmd->actual_len; [Severity: High] This isn't a bug introduced by this patch, but looking at the Silvaco driver as a whole, is there an endianness portability issue with the FIFO reads? In svc_i3c_master_read(), the 32-bit register accessor readl() is used to read from the stream FIFO, which performs a CPU-to-LE byte-swap: for (i =3D 0; i < count; i++) in[offset + i] =3D readl(master->regs + SVC_I3C_MRDATAB); However, svc_i3c_master_handle_ibi() accesses the exact same FIFO using the 8-bit stream accessor readsb(), which does no byte-swapping: readsb(master->regs + SVC_I3C_MRDATAB, buf, count); Could mixing these accessor families cause data corruption on big-endian architectures due to inconsistent byte-swapping behavior? > =20 > ret =3D xfer->ret; > svc_i3c_master_free_xfer(xfer); --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/cover.1783493867.gi= t.tze.yee.ng@altera.com?part=3D2