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 CB446C7EE23 for ; Thu, 8 Jun 2023 13:21:53 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=JAbMCQlSkSyruOF4fY/M0kBKZDfdf0qgUkU4C1JLEzo=; b=fzfnOLD1YBrbCx 3N/7LwU1kQPwFCI5OlWkje91NI5akAaY11f4GeaSuDfkVXQJ0rxo/G6UjxuJWFGg1XbZCzxy8xVJ4 kYKe/kaYRs8UubI5/KGqHLu75q58A62Zy06wUeozhriLOUfEAgbZCX/VX0ZTmd/2qEIRIBFA1Kat3 rxxkf5PRkjQdxoAUMNKCKx9VeVdkRMnaK4T2wt61wNNd4Zq+IrqwKNPVKYQKX01OVsnB1Ea5Cpylc Bsac3gYQr08XKxrlnjJsgBSzGfcH/nIL4Seb2hr7zQEbrTj3ms6ybyntEqtJ+AF8P4KQOwdhFnpEH 2cdrpuwLi/GJBWxg9ofw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q7FZu-009S6a-3B; Thu, 08 Jun 2023 13:21:27 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q7FZr-009S4W-1x; Thu, 08 Jun 2023 13:21:26 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686230477; h=from:from: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; bh=9Lo1sqW665OmQu1ENY3kkmv19RpKne/RRcU8PBoQrig=; b=TqAp1+S/CkTMibHiSxtGThtl3IQmfO6Tgset4bbWurxsfM4WVmnONx50sA3oty7hPI23s2 5t12zUJue4WQkw95/FJ7R9t7KHDNdE3GSKcPWV51UbciU+u7thGnjMkxlQZ8A6PD6+67rN g1Sll4okQxtHkCpmjiMsJBlne69H6MAxVfbWSqseVviCQTGIM0eHhAttIW6Yda+rBqmIm5 QhOxJo72F3MoHyTQXKKmCtJXgra/vXeUqArKEg6kTttslYkVhKbJMFOOzftVIUx/7jsVRF 88rAv8dLWnU65Aki+BfC9HXq2MM2lyWnKc90l8k4STovPhGMjs3RD4i+KyWKHw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 64410E000C; Thu, 8 Jun 2023 13:21:15 +0000 (UTC) Date: Thu, 8 Jun 2023 15:21:14 +0200 From: Miquel Raynal To: Liang Yang Cc: Arseniy Krasnov , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , oxffffaa@gmail.com, kernel@sberdevices.ru, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mtd: rawnand: meson: check buffer length Message-ID: <20230608152114.3a1d82ac@xps-13> In-Reply-To: References: <20230606101644.3297859-1-AVKrasnov@sberdevices.ru> <9adef6da-5930-dcaa-f148-e4a398d39f2d@sberdevices.ru> <3a9470ed-d7ad-6cae-0d58-732399590272@sberdevices.ru> <7903580d-685c-14e6-5572-81a4cb31cced@amlogic.com> <20230608085458.449a24c0@xps-13> <4e6cd8a8-f618-4bc3-5fa9-eab2b501dd89@amlogic.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230608_062124_065955_2D988A50 X-CRM114-Status: GOOD ( 31.58 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGkgTGlhbmcsCgpsaWFuZy55YW5nQGFtbG9naWMuY29tIHdyb3RlIG9uIFRodSwgOCBKdW4gMjAy MyAyMDozNzoxNCArMDgwMDoKCj4gSGkgQXJzZW5peSBhbmQgTWlxdWVsLAo+IAo+IE9uIDIwMjMv Ni84IDE1OjEyLCBMaWFuZyBZYW5nIHdyb3RlOgo+ID4gSGkgTWlxdWVsLAo+ID4gCj4gPiBPbiAy MDIzLzYvOCAxNDo1NCwgTWlxdWVsIFJheW5hbCB3cm90ZTogIAo+ID4+IFsgRVhURVJOQUwgRU1B SUwgXQo+ID4+Cj4gPj4gSGkgTGlhbmcsCj4gPj4KPiA+PiBsaWFuZy55YW5nQGFtbG9naWMuY29t IHdyb3RlIG9uIFRodSwgOCBKdW4gMjAyMyAxNDo0Mjo1MyArMDgwMDoKPiA+PiAgCj4gPj4+IEhp IEFyc2VuaXksCj4gPj4+Cj4gPj4+IE9uIDIwMjMvNi84IDU6MTcsIEFyc2VuaXkgS3Jhc25vdiB3 cm90ZTogIAo+ID4+Pj4gWyBFWFRFUk5BTCBFTUFJTCBdCj4gPj4+Pgo+ID4+Pj4gSGkgYWdhaW4g TWlxdWVsLCBMaWFuZyEKPiA+Pj4+Cj4gPj4+PiBXaGF0IGRvIFlvdSB0aGluayBhYm91dCB0aGlz IHBhdGNoPwo+ID4+Pj4KPiA+Pj4+IFRoYW5rcywgQXJzZW5peQo+ID4+Pj4KPiA+Pj4+IE9uIDA2 LjA2LjIwMjMgMTk6MjksIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTogIAo+ID4+Pj4+IFNvcnJ5LCBo ZXJlIGlzIGNoYW5nZWxvZzoKPiA+Pj4+PiB2MSAtPiB2MjoKPiA+Pj4+PiAqIE1vdmUgY2hlY2tz IGZyb20gJ3N3aXRjaC9jYXNlJyB3aGljaCBleGVjdXRlcyBjb21tYW5kcyBpbiA+Pj4+PiAnbWVz b25fbmZjX2V4ZWNfb3AoKScgdG8gYSBzcGVjaWFsCj4gPj4+Pj4gwqDCoMKgIHNlcGFyYXRlZCBm dW5jdGlvbiAnbWVzb25fbmZjX2NoZWNrX29wKCknIHdoaWNoIGlzIGNhbGxlZCA+Pj4+PiBiZWZv cmUgY29tbWFuZHMgcHJvY2Vzc2luZy4KPiA+Pj4+Pgo+ID4+Pj4+IE9uIDA2LjA2LjIwMjMgMTM6 MTYsIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTogIAo+ID4+Pj4+PiBNZXNvbiBOQU5EIGNvbnRyb2xs ZXIgaGFzIGxpbWl0ZWQgYnVmZmVyIGxlbmd0aCwgc28gY2hlY2sgaXQgYmVmb3JlCj4gPj4+Pj4+ IGNvbW1hbmQgZXhlY3V0aW9uIHRvIGF2b2lkIGxlbmd0aCB0cmltLiBBbHNvIGNoZWNrIE1URCB3 cml0ZSBzaXplIG9uCj4gPj4+Pj4+IGNoaXAgYXR0YWNoLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBBcnNlbml5IEtyYXNub3YgPEFWS3Jhc25vdkBzYmVyZGV2aWNlcy5ydT4KPiA+ Pj4+Pj4gLS0tCj4gPj4+Pj4+IMKgwqAgZHJpdmVycy9tdGQvbmFuZC9yYXcvbWVzb25fbmFuZC5j IHwgNDcgPj4+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+Pj4+Pj4gwqDC oCAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+Pj4+ Pj4KPiA+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQu YyA+Pj4+Pj4gYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9tZXNvbl9uYW5kLmMKPiA+Pj4+Pj4gaW5k ZXggMjNhNzMyNjg0MjFiLi5kYjZiMTg3NTMwNzEgMTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL2RyaXZl cnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL210ZC9u YW5kL3Jhdy9tZXNvbl9uYW5kLmMKPiA+Pj4+Pj4gQEAgLTExMSw2ICsxMTEsOCBAQAo+ID4+Pj4+ Pgo+ID4+Pj4+PiDCoMKgICNkZWZpbmUgUEVSX0lORk9fQllURcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgOAo+ID4+Pj4+Pgo+ID4+Pj4+PiArI2RlZmluZSBORkNfQ01EX1JBV19MRU7CoMKg wqDCoCBHRU5NQVNLKDEzLCAwKQo+ID4+Pj4+PiArCj4gPj4+Pj4+IMKgwqAgc3RydWN0IG1lc29u X25mY19uYW5kX2NoaXAgewo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IGxpc3RfaGVhZCBu b2RlOwo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IG5hbmRfY2hpcCBuYW5kOwo+ID4+Pj4+ PiBAQCAtMjg0LDcgKzI4Niw3IEBAIHN0YXRpYyB2b2lkIG1lc29uX25mY19jbWRfYWNjZXNzKHN0 cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kLCBpbnQgcmF3LCBib29sIGRpciwKPiA+Pj4+Pj4K PiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIGlmIChyYXcpIHsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBsZW4gPSBtdGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZTsKPiA+Pj4+ Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY21kID0gKGxlbiAmIEdFTk1BU0soMTMsIDApKSB8 IHNjcmFtYmxlciB8IERNQV9ESVIoZGlyKTsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY21kID0gbGVuIHwgc2NyYW1ibGVyIHwgRE1BX0RJUihkaXIpOwo+ID4+Pj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdyaXRlbChjbWQsIG5mYy0+cmVnX2Jhc2UgKyBORkNfUkVH X0NNRCk7ICAKPiA+Pj4KPiA+Pj4gSSB0aGluayB3ZSBjb3VsZCBrZWVwICImIEdFTk1BU0soMTMs IDApIi4gaXQgaXMgYmV0dGVyIGhlcmUgdG8gPj4+IGluZGljYXRlIGhvdyBtYW55IGJpdHMgb2Yg bGVuZ3RoIGluIHRoaXMgY29tbWFuZCBhbmQgZG9uJ3QgZGVzdG9yeSA+Pj4gdGhlIGNvbW1hbmQg b25jZSB3ZSBkb24ndCBjaGVjayB0aGUgImxlbiIgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLiA+ Pj4gb3IgdGhlIGNvZGUgImlmIChsZW4gPsKgIE5GQ19DTURfUkFXX0xFTikiIGlzIGJldHRlciB0 byBwdXQgaW5zaWRlID4+PiB0aGlzIGZ1bmN0aW9uIG5lYXJseS4gVGhhbmtzLiAgCj4gPj4KPiA+ PiBJdCBkZXBlbmRzIHdobyBjYWxscyB0aGlzIGhlbHBlci4gSWYgb25seSB1c2VkIGluc2lkZSA+ PiBleGVjX29wLHdyaXRlX3BhZ2VfcmF3KCkgYW5kIHJlYWRfcGFnZV9yYXcoKSBhbHNvIGNhbGwg Pj4gbWVzb25fbmZjX2NtZF9hY2Nlc3MoKSwgPiBidXQgaSBkb24ndCBmaW5kIHdoZXJlIGNvbnN0 cmFpbiB0aGUgImxlbiIuICAKPiAKPiBJcyB0aGUgaGVscGVyICJtZXNvbl9uZmNfY2hlY2tfb3Ao KSIgbmVlZGVkIGJ5IGV4ZWNfb3AoKSBhZnRlciB0aGUgY29uc3RyYWludCBpbiBhdHRhY2hfY2hp cCgpPyB0aGUgbGVuZ3RoIHBhc3NlZCBpbiBleGVjX29wKCkgc2VlbXMgc21hbGxlciB0aGFuICJt dGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZSIgbm93LgoKZXhlY19vcCgpIGlzIHByaW1hcmls eSBkZWRpY2F0ZWQgdG8gcGVyZm9ybWluZyBzaWRlIGNvbW1hbmRzIHRoYW4gcGFnZQphY2Nlc3Nl cywgdHlwaWNhbGx5IHRoZSBwYXJhbWV0ZXIgcGFnZSBpcyBYIGJ5dGVzLCB5b3UgbWlnaHQgd2Fu dCB0bwpyZWFkIGl0IDMgdGltZXMsIGRlcGVuZGluZyBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRo ZSBjb250cm9sbGVyLCB5b3UKbWlnaHQgbmVlZCB0byBzcGxpdCB0aGUgb3BlcmF0aW9uIG9yIG5v dCwgc28gdGhlIGNvcmUgY2hlY2tzIHdoYXQgYXJlCnRoZSBjb250cm9sbGVyIGNhcGFiaWxpdGll cyBiZWZvcmUgZG9pbmcgdGhlIG9wZXJhdGlvbi4gU28geWVzLCB0aGUKY2hlY2tfb3AoKSB0aGlu ZyBpcyBuZWNlc3NhcnkuCgo+IAo+IEBBcnNlbml5IGlmIGl0IGRvZXMgbmVlZCwgSSB0aGluayB0 aGUgc2FtZSBjb25zdHJhaW50IGlzIG5lZWRlZCBieQo+ICJtZXNvbl9uZmNfY21kX2FjY2Vzcygp Igo+IAo+ID4gICAKPiA+PiBpdCdzIG5vdCB1c2VmdWwuIElmIHVzZWQgb3V0c2lkZSwgdGhlbiBp ZiB5b3Ugd2FudCB0byBjbGFyaWZ5Cj4gPj4gdGhpbmdzIHlvdSBtYXkgd2FudCB0byB1c2U6Cj4g Pj4KPiA+PiAjZGVmaW5lIE5GQ19DTURfT1BfTEVOKGNtZCkgRklFTERfUFJFUChHRU5NQVNLKDEz LCAwKSwgKGNtZCkpCj4gPj4KPiA+PiBUaGlzIGlzIGJ5IGZhciBteSBmYXZvcml0ZSBjb25zdHJ1 Y3Rpb24uIENvdWxkIGFwcGx5IHRvIG1hbnkgb3RoZXIKPiA+PiBmaWVsZHMsIGxpa2UgRE1BX0RJ Uiwgc2NyYW1ibGVyLCBldGMuICAKPiAKPiBATWlxdWVsLCBGSUVMRF9QUkVQKCkgaXMgYmV0dGVy LCBidXQgaSBoYXZlIG5vIGlkZWEgd2hldGhlciB3ZSBzaG91bGQgYWRkIEZJRUxEX1BSRVAoKSBp biB0aGlzIHBhdGNoLCBvciBrZWVwIHRoZSBwcmV2aW91cyBjb2RlLgo+IAo+ID4+ICAKPiA+Pj4+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gPj4+Pj4+IMKgwqDCoMKg wqDCoCB9Cj4gPj4+Pj4+IEBAIC01NzMsNyArNTc1LDcgQEAgc3RhdGljIGludCBtZXNvbl9uZmNf cmVhZF9idWYoc3RydWN0IG5hbmRfY2hpcCA+Pj4+Pj4gKm5hbmQsIHU4ICpidWYsIGludCBsZW4p Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpZiAocmV0KQo+ID4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+ID4+Pj4+Pgo+ID4+Pj4+PiAtwqDCoMKgIGNtZCA9IE5G Q19DTURfTjJNIHwgKGxlbiAmIEdFTk1BU0soMTMsIDApKTsKPiA+Pj4+Pj4gK8KgwqDCoCBjbWQg PSBORkNfQ01EX04yTSB8IGxlbjsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIHdyaXRlbChjbWQsIG5m Yy0+cmVnX2Jhc2UgKyBORkNfUkVHX0NNRCk7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDC oCBtZXNvbl9uZmNfZHJhaW5fY21kKG5mYyk7Cj4gPj4+Pj4+IEBAIC01OTcsNyArNTk5LDcgQEAg c3RhdGljIGludCBtZXNvbl9uZmNfd3JpdGVfYnVmKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpu YW5kLCB1OCAqYnVmLCBpbnQgbGVuKQo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgaWYgKHJldCkKPiA+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+ID4+Pj4+Pgo+ ID4+Pj4+PiAtwqDCoMKgIGNtZCA9IE5GQ19DTURfTTJOIHwgKGxlbiAmIEdFTk1BU0soMTMsIDAp KTsKPiA+Pj4+Pj4gK8KgwqDCoCBjbWQgPSBORkNfQ01EX00yTiB8IGxlbjsKPiA+Pj4+Pj4gwqDC oMKgwqDCoMKgIHdyaXRlbChjbWQsIG5mYy0+cmVnX2Jhc2UgKyBORkNfUkVHX0NNRCk7Cj4gPj4+ Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBtZXNvbl9uZmNfZHJhaW5fY21kKG5mYyk7Cj4gPj4+ Pj4+IEBAIC0xMDA3LDYgKzEwMDksMzEgQEAgbWVzb25fbmFuZF9vcF9wdXRfZG1hX3NhZmVfb3V0 cHV0X2J1Zihjb25zdCA+Pj4+Pj4gc3RydWN0IG5hbmRfb3BfaW5zdHIgKmluc3RyLAo+ID4+Pj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtmcmVlKGJ1Zik7Cj4gPj4+Pj4+IMKgwqAg fQo+ID4+Pj4+Pgo+ID4+Pj4+PiArc3RhdGljIGludCBtZXNvbl9uZmNfY2hlY2tfb3Aoc3RydWN0 IG5hbmRfY2hpcCAqY2hpcCwKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBuYW5kX29wZXJhdGlvbiAqb3ApCj4g Pj4+Pj4+ICt7Cj4gPj4+Pj4+ICvCoMKgwqAgaW50IG9wX2lkOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ ICvCoMKgwqAgZm9yIChvcF9pZCA9IDA7IG9wX2lkIDwgb3AtPm5pbnN0cnM7IG9wX2lkKyspIHsK PiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5hbmRfb3BfaW5z dHIgKmluc3RyOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlu c3RyID0gJm9wLT5pbnN0cnNbb3BfaWRdOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHN3aXRjaCAoaW5zdHItPnR5cGUpIHsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY2FzZSBOQU5EX09QX0RBVEFfSU5fSU5TVFI6Cj4gPj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNhc2UgTkFORF9PUF9EQVRBX09VVF9JTlNUUjoKPiA+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChpbnN0ci0+Y3R4LmRhdGEu bGVuID4gTkZDX0NNRF9SQVdfTEVOKQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PVFNVUFA7Cj4gPj4+Pj4+ ICsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Owo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZWZhdWx0Ogo+ID4+Pj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4gK8KgwqDCoCB9Cj4gPj4+Pj4+ICsKPiA+Pj4+ Pj4gK8KgwqDCoCByZXR1cm4gMDsKPiA+Pj4+Pj4gK30KPiA+Pj4+Pj4gKwo+ID4+Pj4+PiDCoMKg IHN0YXRpYyBpbnQgbWVzb25fbmZjX2V4ZWNfb3Aoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiA+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGNvbnN0IHN0cnVjdCBuYW5kX29wZXJhdGlvbiAqb3AsIGJvb2wgPj4+Pj4+IGNoZWNrX29u bHkpCj4gPj4+Pj4+IMKgwqAgewo+ID4+Pj4+PiBAQCAtMTAxNSwxMCArMTA0MiwxMiBAQCBzdGF0 aWMgaW50IG1lc29uX25mY19leGVjX29wKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kLAo+ ID4+Pj4+PiDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5hbmRfb3BfaW5zdHIgKmluc3RyID0g TlVMTDsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIHZvaWQgKmJ1ZjsKPiA+Pj4+Pj4gwqDCoMKgwqDC oMKgIHUzMiBvcF9pZCwgZGVsYXlfaWRsZSwgY21kOwo+ID4+Pj4+PiArwqDCoMKgIGludCBlcnI7 Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpbnQgaTsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gLcKgwqDCoCBp ZiAoY2hlY2tfb25seSkKPiA+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7 Cj4gPj4+Pj4+ICvCoMKgwqAgZXJyID0gbWVzb25fbmZjX2NoZWNrX29wKG5hbmQsIG9wKTsKPiA+ Pj4+Pj4gK8KgwqDCoCBpZiAoZXJyIHx8IGNoZWNrX29ubHkpCj4gPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBt ZXNvbl9uZmNfc2VsZWN0X2NoaXAobmFuZCwgb3AtPmNzKTsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKg IGZvciAob3BfaWQgPSAwOyBvcF9pZCA8IG9wLT5uaW5zdHJzOyBvcF9pZCsrKSB7Cj4gPj4+Pj4+ IEBAIC0xMjkzLDYgKzEzMjIsNyBAQCBzdGF0aWMgaW50IG1lc29uX25hbmRfYXR0YWNoX2NoaXAo c3RydWN0ID4+Pj4+PiBuYW5kX2NoaXAgKm5hbmQpCj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgbWVzb25fbmZjX25hbmRfY2hpcCAqbWVzb25fY2hpcCA9IHRvX21lc29uX25hbmQobmFuZCk7 Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9IG5hbmRfdG9fbXRk KG5hbmQpOwo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgaW50IG5zZWN0b3JzID0gbXRkLT53cml0ZXNp emUgLyAxMDI0Owo+ID4+Pj4+PiArwqDCoMKgIGludCByYXdfd3JpdGVzaXplOwo+ID4+Pj4+PiDC oMKgwqDCoMKgwqAgaW50IHJldDsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIGlmICgh bXRkLT5uYW1lKSB7Cj4gPj4+Pj4+IEBAIC0xMzA0LDYgKzEzMzQsMTMgQEAgc3RhdGljIGludCBt ZXNvbl9uYW5kX2F0dGFjaF9jaGlwKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kKQo+ID4+ Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g LUVOT01FTTsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4KPiA+Pj4+Pj4gK8KgwqDC oCByYXdfd3JpdGVzaXplID0gbXRkLT53cml0ZXNpemUgKyBtdGQtPm9vYnNpemU7Cj4gPj4+Pj4+ ICvCoMKgwqAgaWYgKHJhd193cml0ZXNpemUgPiBORkNfQ01EX1JBV19MRU4pIHsKPiA+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycihuZmMtPmRldiwgInRvbyBiaWcgd3JpdGUg c2l6ZSBpbiByYXcgbW9kZTogJWQgPj4+Pj4+ID4gJWxkXG4iLAo+ID4+Pj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmF3X3dyaXRlc2l6ZSwgTkZDX0NNRF9SQVdf TEVOKTsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4g Pj4+Pj4+ICvCoMKgwqAgfQo+ID4+Pj4+PiArCj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpZiAobmFu ZC0+YmJ0X29wdGlvbnMgJiBOQU5EX0JCVF9VU0VfRkxBU0gpCj4gPj4+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbmFuZC0+YmJ0X29wdGlvbnMgfD0gTkFORF9CQlRfTk9fT09COwo+ ID4+Pj4+PiAgCj4gPj4KPiA+Pgo+ID4+IFRoYW5rcywKPiA+PiBNaXF1w6hsICAKCgpUaGFua3Ms Ck1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFtbG9naWMgbWFpbGluZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFt bG9naWMK 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 C3042C7EE29 for ; Thu, 8 Jun 2023 13:21:42 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dQiGfdBCeW0SFyNL2J+/zLYPYv5QIsAph7FLphts+HQ=; b=uzjIFiIUW7hxgN eaJXXLAgRjBceEbAlMqA2kvlzKL1l8rTPEcaCvwS+jV+ElWOFMgrZ++SoIW5E4tY7b1ltM1qPXEas 1GruLJk2sUwHyrZu9RuWa0vzRVcJIMJynpbXUpaejL59qp7RcjTJNvpA5Km6+H9urAV3X6CRLYGv2 2FQMsMnC09WhI0Zl5jOAOMr9qRMQCM06FteQxn+eaSMBXS/6muGkEMfShsqhC1oAJst16pJEE8ZhJ APZWFylYV8jhQwXLd+5fsOs+9DYUt3aPfAvDRkgCfemW1dSgIADV0w1jiwZdSitAsrjMq7RTPtdVy FzOykH1xeSrOd57zfpFg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q7FZx-009S7H-0B; Thu, 08 Jun 2023 13:21:29 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q7FZr-009S4W-1x; Thu, 08 Jun 2023 13:21:26 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686230477; h=from:from: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; bh=9Lo1sqW665OmQu1ENY3kkmv19RpKne/RRcU8PBoQrig=; b=TqAp1+S/CkTMibHiSxtGThtl3IQmfO6Tgset4bbWurxsfM4WVmnONx50sA3oty7hPI23s2 5t12zUJue4WQkw95/FJ7R9t7KHDNdE3GSKcPWV51UbciU+u7thGnjMkxlQZ8A6PD6+67rN g1Sll4okQxtHkCpmjiMsJBlne69H6MAxVfbWSqseVviCQTGIM0eHhAttIW6Yda+rBqmIm5 QhOxJo72F3MoHyTQXKKmCtJXgra/vXeUqArKEg6kTttslYkVhKbJMFOOzftVIUx/7jsVRF 88rAv8dLWnU65Aki+BfC9HXq2MM2lyWnKc90l8k4STovPhGMjs3RD4i+KyWKHw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 64410E000C; Thu, 8 Jun 2023 13:21:15 +0000 (UTC) Date: Thu, 8 Jun 2023 15:21:14 +0200 From: Miquel Raynal To: Liang Yang Cc: Arseniy Krasnov , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , oxffffaa@gmail.com, kernel@sberdevices.ru, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mtd: rawnand: meson: check buffer length Message-ID: <20230608152114.3a1d82ac@xps-13> In-Reply-To: References: <20230606101644.3297859-1-AVKrasnov@sberdevices.ru> <9adef6da-5930-dcaa-f148-e4a398d39f2d@sberdevices.ru> <3a9470ed-d7ad-6cae-0d58-732399590272@sberdevices.ru> <7903580d-685c-14e6-5572-81a4cb31cced@amlogic.com> <20230608085458.449a24c0@xps-13> <4e6cd8a8-f618-4bc3-5fa9-eab2b501dd89@amlogic.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230608_062124_065955_2D988A50 X-CRM114-Status: GOOD ( 31.58 ) 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: , 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 SGkgTGlhbmcsCgpsaWFuZy55YW5nQGFtbG9naWMuY29tIHdyb3RlIG9uIFRodSwgOCBKdW4gMjAy MyAyMDozNzoxNCArMDgwMDoKCj4gSGkgQXJzZW5peSBhbmQgTWlxdWVsLAo+IAo+IE9uIDIwMjMv Ni84IDE1OjEyLCBMaWFuZyBZYW5nIHdyb3RlOgo+ID4gSGkgTWlxdWVsLAo+ID4gCj4gPiBPbiAy MDIzLzYvOCAxNDo1NCwgTWlxdWVsIFJheW5hbCB3cm90ZTogIAo+ID4+IFsgRVhURVJOQUwgRU1B SUwgXQo+ID4+Cj4gPj4gSGkgTGlhbmcsCj4gPj4KPiA+PiBsaWFuZy55YW5nQGFtbG9naWMuY29t IHdyb3RlIG9uIFRodSwgOCBKdW4gMjAyMyAxNDo0Mjo1MyArMDgwMDoKPiA+PiAgCj4gPj4+IEhp IEFyc2VuaXksCj4gPj4+Cj4gPj4+IE9uIDIwMjMvNi84IDU6MTcsIEFyc2VuaXkgS3Jhc25vdiB3 cm90ZTogIAo+ID4+Pj4gWyBFWFRFUk5BTCBFTUFJTCBdCj4gPj4+Pgo+ID4+Pj4gSGkgYWdhaW4g TWlxdWVsLCBMaWFuZyEKPiA+Pj4+Cj4gPj4+PiBXaGF0IGRvIFlvdSB0aGluayBhYm91dCB0aGlz IHBhdGNoPwo+ID4+Pj4KPiA+Pj4+IFRoYW5rcywgQXJzZW5peQo+ID4+Pj4KPiA+Pj4+IE9uIDA2 LjA2LjIwMjMgMTk6MjksIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTogIAo+ID4+Pj4+IFNvcnJ5LCBo ZXJlIGlzIGNoYW5nZWxvZzoKPiA+Pj4+PiB2MSAtPiB2MjoKPiA+Pj4+PiAqIE1vdmUgY2hlY2tz IGZyb20gJ3N3aXRjaC9jYXNlJyB3aGljaCBleGVjdXRlcyBjb21tYW5kcyBpbiA+Pj4+PiAnbWVz b25fbmZjX2V4ZWNfb3AoKScgdG8gYSBzcGVjaWFsCj4gPj4+Pj4gwqDCoMKgIHNlcGFyYXRlZCBm dW5jdGlvbiAnbWVzb25fbmZjX2NoZWNrX29wKCknIHdoaWNoIGlzIGNhbGxlZCA+Pj4+PiBiZWZv cmUgY29tbWFuZHMgcHJvY2Vzc2luZy4KPiA+Pj4+Pgo+ID4+Pj4+IE9uIDA2LjA2LjIwMjMgMTM6 MTYsIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTogIAo+ID4+Pj4+PiBNZXNvbiBOQU5EIGNvbnRyb2xs ZXIgaGFzIGxpbWl0ZWQgYnVmZmVyIGxlbmd0aCwgc28gY2hlY2sgaXQgYmVmb3JlCj4gPj4+Pj4+ IGNvbW1hbmQgZXhlY3V0aW9uIHRvIGF2b2lkIGxlbmd0aCB0cmltLiBBbHNvIGNoZWNrIE1URCB3 cml0ZSBzaXplIG9uCj4gPj4+Pj4+IGNoaXAgYXR0YWNoLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBBcnNlbml5IEtyYXNub3YgPEFWS3Jhc25vdkBzYmVyZGV2aWNlcy5ydT4KPiA+ Pj4+Pj4gLS0tCj4gPj4+Pj4+IMKgwqAgZHJpdmVycy9tdGQvbmFuZC9yYXcvbWVzb25fbmFuZC5j IHwgNDcgPj4+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+Pj4+Pj4gwqDC oCAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+Pj4+ Pj4KPiA+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQu YyA+Pj4+Pj4gYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9tZXNvbl9uYW5kLmMKPiA+Pj4+Pj4gaW5k ZXggMjNhNzMyNjg0MjFiLi5kYjZiMTg3NTMwNzEgMTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL2RyaXZl cnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL210ZC9u YW5kL3Jhdy9tZXNvbl9uYW5kLmMKPiA+Pj4+Pj4gQEAgLTExMSw2ICsxMTEsOCBAQAo+ID4+Pj4+ Pgo+ID4+Pj4+PiDCoMKgICNkZWZpbmUgUEVSX0lORk9fQllURcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgOAo+ID4+Pj4+Pgo+ID4+Pj4+PiArI2RlZmluZSBORkNfQ01EX1JBV19MRU7CoMKg wqDCoCBHRU5NQVNLKDEzLCAwKQo+ID4+Pj4+PiArCj4gPj4+Pj4+IMKgwqAgc3RydWN0IG1lc29u X25mY19uYW5kX2NoaXAgewo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IGxpc3RfaGVhZCBu b2RlOwo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IG5hbmRfY2hpcCBuYW5kOwo+ID4+Pj4+ PiBAQCAtMjg0LDcgKzI4Niw3IEBAIHN0YXRpYyB2b2lkIG1lc29uX25mY19jbWRfYWNjZXNzKHN0 cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kLCBpbnQgcmF3LCBib29sIGRpciwKPiA+Pj4+Pj4K PiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIGlmIChyYXcpIHsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBsZW4gPSBtdGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZTsKPiA+Pj4+ Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY21kID0gKGxlbiAmIEdFTk1BU0soMTMsIDApKSB8 IHNjcmFtYmxlciB8IERNQV9ESVIoZGlyKTsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY21kID0gbGVuIHwgc2NyYW1ibGVyIHwgRE1BX0RJUihkaXIpOwo+ID4+Pj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdyaXRlbChjbWQsIG5mYy0+cmVnX2Jhc2UgKyBORkNfUkVH X0NNRCk7ICAKPiA+Pj4KPiA+Pj4gSSB0aGluayB3ZSBjb3VsZCBrZWVwICImIEdFTk1BU0soMTMs IDApIi4gaXQgaXMgYmV0dGVyIGhlcmUgdG8gPj4+IGluZGljYXRlIGhvdyBtYW55IGJpdHMgb2Yg bGVuZ3RoIGluIHRoaXMgY29tbWFuZCBhbmQgZG9uJ3QgZGVzdG9yeSA+Pj4gdGhlIGNvbW1hbmQg b25jZSB3ZSBkb24ndCBjaGVjayB0aGUgImxlbiIgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLiA+ Pj4gb3IgdGhlIGNvZGUgImlmIChsZW4gPsKgIE5GQ19DTURfUkFXX0xFTikiIGlzIGJldHRlciB0 byBwdXQgaW5zaWRlID4+PiB0aGlzIGZ1bmN0aW9uIG5lYXJseS4gVGhhbmtzLiAgCj4gPj4KPiA+ PiBJdCBkZXBlbmRzIHdobyBjYWxscyB0aGlzIGhlbHBlci4gSWYgb25seSB1c2VkIGluc2lkZSA+ PiBleGVjX29wLHdyaXRlX3BhZ2VfcmF3KCkgYW5kIHJlYWRfcGFnZV9yYXcoKSBhbHNvIGNhbGwg Pj4gbWVzb25fbmZjX2NtZF9hY2Nlc3MoKSwgPiBidXQgaSBkb24ndCBmaW5kIHdoZXJlIGNvbnN0 cmFpbiB0aGUgImxlbiIuICAKPiAKPiBJcyB0aGUgaGVscGVyICJtZXNvbl9uZmNfY2hlY2tfb3Ao KSIgbmVlZGVkIGJ5IGV4ZWNfb3AoKSBhZnRlciB0aGUgY29uc3RyYWludCBpbiBhdHRhY2hfY2hp cCgpPyB0aGUgbGVuZ3RoIHBhc3NlZCBpbiBleGVjX29wKCkgc2VlbXMgc21hbGxlciB0aGFuICJt dGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZSIgbm93LgoKZXhlY19vcCgpIGlzIHByaW1hcmls eSBkZWRpY2F0ZWQgdG8gcGVyZm9ybWluZyBzaWRlIGNvbW1hbmRzIHRoYW4gcGFnZQphY2Nlc3Nl cywgdHlwaWNhbGx5IHRoZSBwYXJhbWV0ZXIgcGFnZSBpcyBYIGJ5dGVzLCB5b3UgbWlnaHQgd2Fu dCB0bwpyZWFkIGl0IDMgdGltZXMsIGRlcGVuZGluZyBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRo ZSBjb250cm9sbGVyLCB5b3UKbWlnaHQgbmVlZCB0byBzcGxpdCB0aGUgb3BlcmF0aW9uIG9yIG5v dCwgc28gdGhlIGNvcmUgY2hlY2tzIHdoYXQgYXJlCnRoZSBjb250cm9sbGVyIGNhcGFiaWxpdGll cyBiZWZvcmUgZG9pbmcgdGhlIG9wZXJhdGlvbi4gU28geWVzLCB0aGUKY2hlY2tfb3AoKSB0aGlu ZyBpcyBuZWNlc3NhcnkuCgo+IAo+IEBBcnNlbml5IGlmIGl0IGRvZXMgbmVlZCwgSSB0aGluayB0 aGUgc2FtZSBjb25zdHJhaW50IGlzIG5lZWRlZCBieQo+ICJtZXNvbl9uZmNfY21kX2FjY2Vzcygp Igo+IAo+ID4gICAKPiA+PiBpdCdzIG5vdCB1c2VmdWwuIElmIHVzZWQgb3V0c2lkZSwgdGhlbiBp ZiB5b3Ugd2FudCB0byBjbGFyaWZ5Cj4gPj4gdGhpbmdzIHlvdSBtYXkgd2FudCB0byB1c2U6Cj4g Pj4KPiA+PiAjZGVmaW5lIE5GQ19DTURfT1BfTEVOKGNtZCkgRklFTERfUFJFUChHRU5NQVNLKDEz LCAwKSwgKGNtZCkpCj4gPj4KPiA+PiBUaGlzIGlzIGJ5IGZhciBteSBmYXZvcml0ZSBjb25zdHJ1 Y3Rpb24uIENvdWxkIGFwcGx5IHRvIG1hbnkgb3RoZXIKPiA+PiBmaWVsZHMsIGxpa2UgRE1BX0RJ Uiwgc2NyYW1ibGVyLCBldGMuICAKPiAKPiBATWlxdWVsLCBGSUVMRF9QUkVQKCkgaXMgYmV0dGVy LCBidXQgaSBoYXZlIG5vIGlkZWEgd2hldGhlciB3ZSBzaG91bGQgYWRkIEZJRUxEX1BSRVAoKSBp biB0aGlzIHBhdGNoLCBvciBrZWVwIHRoZSBwcmV2aW91cyBjb2RlLgo+IAo+ID4+ICAKPiA+Pj4+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gPj4+Pj4+IMKgwqDCoMKg wqDCoCB9Cj4gPj4+Pj4+IEBAIC01NzMsNyArNTc1LDcgQEAgc3RhdGljIGludCBtZXNvbl9uZmNf cmVhZF9idWYoc3RydWN0IG5hbmRfY2hpcCA+Pj4+Pj4gKm5hbmQsIHU4ICpidWYsIGludCBsZW4p Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpZiAocmV0KQo+ID4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+ID4+Pj4+Pgo+ID4+Pj4+PiAtwqDCoMKgIGNtZCA9IE5G Q19DTURfTjJNIHwgKGxlbiAmIEdFTk1BU0soMTMsIDApKTsKPiA+Pj4+Pj4gK8KgwqDCoCBjbWQg PSBORkNfQ01EX04yTSB8IGxlbjsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIHdyaXRlbChjbWQsIG5m Yy0+cmVnX2Jhc2UgKyBORkNfUkVHX0NNRCk7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDC oCBtZXNvbl9uZmNfZHJhaW5fY21kKG5mYyk7Cj4gPj4+Pj4+IEBAIC01OTcsNyArNTk5LDcgQEAg c3RhdGljIGludCBtZXNvbl9uZmNfd3JpdGVfYnVmKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpu YW5kLCB1OCAqYnVmLCBpbnQgbGVuKQo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgaWYgKHJldCkKPiA+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+ID4+Pj4+Pgo+ ID4+Pj4+PiAtwqDCoMKgIGNtZCA9IE5GQ19DTURfTTJOIHwgKGxlbiAmIEdFTk1BU0soMTMsIDAp KTsKPiA+Pj4+Pj4gK8KgwqDCoCBjbWQgPSBORkNfQ01EX00yTiB8IGxlbjsKPiA+Pj4+Pj4gwqDC oMKgwqDCoMKgIHdyaXRlbChjbWQsIG5mYy0+cmVnX2Jhc2UgKyBORkNfUkVHX0NNRCk7Cj4gPj4+ Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBtZXNvbl9uZmNfZHJhaW5fY21kKG5mYyk7Cj4gPj4+ Pj4+IEBAIC0xMDA3LDYgKzEwMDksMzEgQEAgbWVzb25fbmFuZF9vcF9wdXRfZG1hX3NhZmVfb3V0 cHV0X2J1Zihjb25zdCA+Pj4+Pj4gc3RydWN0IG5hbmRfb3BfaW5zdHIgKmluc3RyLAo+ID4+Pj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtmcmVlKGJ1Zik7Cj4gPj4+Pj4+IMKgwqAg fQo+ID4+Pj4+Pgo+ID4+Pj4+PiArc3RhdGljIGludCBtZXNvbl9uZmNfY2hlY2tfb3Aoc3RydWN0 IG5hbmRfY2hpcCAqY2hpcCwKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBuYW5kX29wZXJhdGlvbiAqb3ApCj4g Pj4+Pj4+ICt7Cj4gPj4+Pj4+ICvCoMKgwqAgaW50IG9wX2lkOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ ICvCoMKgwqAgZm9yIChvcF9pZCA9IDA7IG9wX2lkIDwgb3AtPm5pbnN0cnM7IG9wX2lkKyspIHsK PiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5hbmRfb3BfaW5z dHIgKmluc3RyOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlu c3RyID0gJm9wLT5pbnN0cnNbb3BfaWRdOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHN3aXRjaCAoaW5zdHItPnR5cGUpIHsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY2FzZSBOQU5EX09QX0RBVEFfSU5fSU5TVFI6Cj4gPj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNhc2UgTkFORF9PUF9EQVRBX09VVF9JTlNUUjoKPiA+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChpbnN0ci0+Y3R4LmRhdGEu bGVuID4gTkZDX0NNRF9SQVdfTEVOKQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PVFNVUFA7Cj4gPj4+Pj4+ ICsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Owo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZWZhdWx0Ogo+ID4+Pj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4gK8KgwqDCoCB9Cj4gPj4+Pj4+ICsKPiA+Pj4+ Pj4gK8KgwqDCoCByZXR1cm4gMDsKPiA+Pj4+Pj4gK30KPiA+Pj4+Pj4gKwo+ID4+Pj4+PiDCoMKg IHN0YXRpYyBpbnQgbWVzb25fbmZjX2V4ZWNfb3Aoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiA+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGNvbnN0IHN0cnVjdCBuYW5kX29wZXJhdGlvbiAqb3AsIGJvb2wgPj4+Pj4+IGNoZWNrX29u bHkpCj4gPj4+Pj4+IMKgwqAgewo+ID4+Pj4+PiBAQCAtMTAxNSwxMCArMTA0MiwxMiBAQCBzdGF0 aWMgaW50IG1lc29uX25mY19leGVjX29wKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kLAo+ ID4+Pj4+PiDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5hbmRfb3BfaW5zdHIgKmluc3RyID0g TlVMTDsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIHZvaWQgKmJ1ZjsKPiA+Pj4+Pj4gwqDCoMKgwqDC oMKgIHUzMiBvcF9pZCwgZGVsYXlfaWRsZSwgY21kOwo+ID4+Pj4+PiArwqDCoMKgIGludCBlcnI7 Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpbnQgaTsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gLcKgwqDCoCBp ZiAoY2hlY2tfb25seSkKPiA+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7 Cj4gPj4+Pj4+ICvCoMKgwqAgZXJyID0gbWVzb25fbmZjX2NoZWNrX29wKG5hbmQsIG9wKTsKPiA+ Pj4+Pj4gK8KgwqDCoCBpZiAoZXJyIHx8IGNoZWNrX29ubHkpCj4gPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBt ZXNvbl9uZmNfc2VsZWN0X2NoaXAobmFuZCwgb3AtPmNzKTsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKg IGZvciAob3BfaWQgPSAwOyBvcF9pZCA8IG9wLT5uaW5zdHJzOyBvcF9pZCsrKSB7Cj4gPj4+Pj4+ IEBAIC0xMjkzLDYgKzEzMjIsNyBAQCBzdGF0aWMgaW50IG1lc29uX25hbmRfYXR0YWNoX2NoaXAo c3RydWN0ID4+Pj4+PiBuYW5kX2NoaXAgKm5hbmQpCj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgbWVzb25fbmZjX25hbmRfY2hpcCAqbWVzb25fY2hpcCA9IHRvX21lc29uX25hbmQobmFuZCk7 Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9IG5hbmRfdG9fbXRk KG5hbmQpOwo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgaW50IG5zZWN0b3JzID0gbXRkLT53cml0ZXNp emUgLyAxMDI0Owo+ID4+Pj4+PiArwqDCoMKgIGludCByYXdfd3JpdGVzaXplOwo+ID4+Pj4+PiDC oMKgwqDCoMKgwqAgaW50IHJldDsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIGlmICgh bXRkLT5uYW1lKSB7Cj4gPj4+Pj4+IEBAIC0xMzA0LDYgKzEzMzQsMTMgQEAgc3RhdGljIGludCBt ZXNvbl9uYW5kX2F0dGFjaF9jaGlwKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kKQo+ID4+ Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g LUVOT01FTTsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4KPiA+Pj4+Pj4gK8KgwqDC oCByYXdfd3JpdGVzaXplID0gbXRkLT53cml0ZXNpemUgKyBtdGQtPm9vYnNpemU7Cj4gPj4+Pj4+ ICvCoMKgwqAgaWYgKHJhd193cml0ZXNpemUgPiBORkNfQ01EX1JBV19MRU4pIHsKPiA+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycihuZmMtPmRldiwgInRvbyBiaWcgd3JpdGUg c2l6ZSBpbiByYXcgbW9kZTogJWQgPj4+Pj4+ID4gJWxkXG4iLAo+ID4+Pj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmF3X3dyaXRlc2l6ZSwgTkZDX0NNRF9SQVdf TEVOKTsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4g Pj4+Pj4+ICvCoMKgwqAgfQo+ID4+Pj4+PiArCj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpZiAobmFu ZC0+YmJ0X29wdGlvbnMgJiBOQU5EX0JCVF9VU0VfRkxBU0gpCj4gPj4+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbmFuZC0+YmJ0X29wdGlvbnMgfD0gTkFORF9CQlRfTk9fT09COwo+ ID4+Pj4+PiAgCj4gPj4KPiA+Pgo+ID4+IFRoYW5rcywKPiA+PiBNaXF1w6hsICAKCgpUaGFua3Ms Ck1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg== 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 CB139C7EE29 for ; Thu, 8 Jun 2023 13:21:57 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Ilb1hORtn7XAkVHg0Wbpcl+GVGcEzTShyxsReKs3F68=; b=XTiAaVuXqYxaEL RcMXa4Ag2If+tK4w7FGH5Q2Ar/dXqpHm4FkNM2iz02v8RpH/ZkeRmht9S8z3xbrApatdNbMl6r1CB 64EPfKFz39qhHOdnS5zI9YtWL0bTpLKpiNVYmEYZ/h9JcWgV8gN5Y1VaASWuL0ODkhk7uDOZaUJm9 ZGi1bFqstV4jqwXJuc8wt8eXijDNf7ZzTQHQIcAiFfMsNOLYMC5k2KzIHo0RmiqhlPRCZM6ZKfNIb p/bYw1MEwkcTdtPJIfLV1fNdpVbO0L2xbdwY9hakPDVRDCbW11PToUHtAlAvcnjWBbuupJt1RvCDP wC8f2hyQ2/fwuFBUD0bA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q7FZw-009S72-1P; Thu, 08 Jun 2023 13:21:28 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q7FZr-009S4W-1x; Thu, 08 Jun 2023 13:21:26 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686230477; h=from:from: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; bh=9Lo1sqW665OmQu1ENY3kkmv19RpKne/RRcU8PBoQrig=; b=TqAp1+S/CkTMibHiSxtGThtl3IQmfO6Tgset4bbWurxsfM4WVmnONx50sA3oty7hPI23s2 5t12zUJue4WQkw95/FJ7R9t7KHDNdE3GSKcPWV51UbciU+u7thGnjMkxlQZ8A6PD6+67rN g1Sll4okQxtHkCpmjiMsJBlne69H6MAxVfbWSqseVviCQTGIM0eHhAttIW6Yda+rBqmIm5 QhOxJo72F3MoHyTQXKKmCtJXgra/vXeUqArKEg6kTttslYkVhKbJMFOOzftVIUx/7jsVRF 88rAv8dLWnU65Aki+BfC9HXq2MM2lyWnKc90l8k4STovPhGMjs3RD4i+KyWKHw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 64410E000C; Thu, 8 Jun 2023 13:21:15 +0000 (UTC) Date: Thu, 8 Jun 2023 15:21:14 +0200 From: Miquel Raynal To: Liang Yang Cc: Arseniy Krasnov , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , oxffffaa@gmail.com, kernel@sberdevices.ru, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mtd: rawnand: meson: check buffer length Message-ID: <20230608152114.3a1d82ac@xps-13> In-Reply-To: References: <20230606101644.3297859-1-AVKrasnov@sberdevices.ru> <9adef6da-5930-dcaa-f148-e4a398d39f2d@sberdevices.ru> <3a9470ed-d7ad-6cae-0d58-732399590272@sberdevices.ru> <7903580d-685c-14e6-5572-81a4cb31cced@amlogic.com> <20230608085458.449a24c0@xps-13> <4e6cd8a8-f618-4bc3-5fa9-eab2b501dd89@amlogic.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230608_062124_065955_2D988A50 X-CRM114-Status: GOOD ( 31.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTGlhbmcsCgpsaWFuZy55YW5nQGFtbG9naWMuY29tIHdyb3RlIG9uIFRodSwgOCBKdW4gMjAy MyAyMDozNzoxNCArMDgwMDoKCj4gSGkgQXJzZW5peSBhbmQgTWlxdWVsLAo+IAo+IE9uIDIwMjMv Ni84IDE1OjEyLCBMaWFuZyBZYW5nIHdyb3RlOgo+ID4gSGkgTWlxdWVsLAo+ID4gCj4gPiBPbiAy MDIzLzYvOCAxNDo1NCwgTWlxdWVsIFJheW5hbCB3cm90ZTogIAo+ID4+IFsgRVhURVJOQUwgRU1B SUwgXQo+ID4+Cj4gPj4gSGkgTGlhbmcsCj4gPj4KPiA+PiBsaWFuZy55YW5nQGFtbG9naWMuY29t IHdyb3RlIG9uIFRodSwgOCBKdW4gMjAyMyAxNDo0Mjo1MyArMDgwMDoKPiA+PiAgCj4gPj4+IEhp IEFyc2VuaXksCj4gPj4+Cj4gPj4+IE9uIDIwMjMvNi84IDU6MTcsIEFyc2VuaXkgS3Jhc25vdiB3 cm90ZTogIAo+ID4+Pj4gWyBFWFRFUk5BTCBFTUFJTCBdCj4gPj4+Pgo+ID4+Pj4gSGkgYWdhaW4g TWlxdWVsLCBMaWFuZyEKPiA+Pj4+Cj4gPj4+PiBXaGF0IGRvIFlvdSB0aGluayBhYm91dCB0aGlz IHBhdGNoPwo+ID4+Pj4KPiA+Pj4+IFRoYW5rcywgQXJzZW5peQo+ID4+Pj4KPiA+Pj4+IE9uIDA2 LjA2LjIwMjMgMTk6MjksIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTogIAo+ID4+Pj4+IFNvcnJ5LCBo ZXJlIGlzIGNoYW5nZWxvZzoKPiA+Pj4+PiB2MSAtPiB2MjoKPiA+Pj4+PiAqIE1vdmUgY2hlY2tz IGZyb20gJ3N3aXRjaC9jYXNlJyB3aGljaCBleGVjdXRlcyBjb21tYW5kcyBpbiA+Pj4+PiAnbWVz b25fbmZjX2V4ZWNfb3AoKScgdG8gYSBzcGVjaWFsCj4gPj4+Pj4gwqDCoMKgIHNlcGFyYXRlZCBm dW5jdGlvbiAnbWVzb25fbmZjX2NoZWNrX29wKCknIHdoaWNoIGlzIGNhbGxlZCA+Pj4+PiBiZWZv cmUgY29tbWFuZHMgcHJvY2Vzc2luZy4KPiA+Pj4+Pgo+ID4+Pj4+IE9uIDA2LjA2LjIwMjMgMTM6 MTYsIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTogIAo+ID4+Pj4+PiBNZXNvbiBOQU5EIGNvbnRyb2xs ZXIgaGFzIGxpbWl0ZWQgYnVmZmVyIGxlbmd0aCwgc28gY2hlY2sgaXQgYmVmb3JlCj4gPj4+Pj4+ IGNvbW1hbmQgZXhlY3V0aW9uIHRvIGF2b2lkIGxlbmd0aCB0cmltLiBBbHNvIGNoZWNrIE1URCB3 cml0ZSBzaXplIG9uCj4gPj4+Pj4+IGNoaXAgYXR0YWNoLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBBcnNlbml5IEtyYXNub3YgPEFWS3Jhc25vdkBzYmVyZGV2aWNlcy5ydT4KPiA+ Pj4+Pj4gLS0tCj4gPj4+Pj4+IMKgwqAgZHJpdmVycy9tdGQvbmFuZC9yYXcvbWVzb25fbmFuZC5j IHwgNDcgPj4+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+Pj4+Pj4gwqDC oCAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+Pj4+ Pj4KPiA+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQu YyA+Pj4+Pj4gYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9tZXNvbl9uYW5kLmMKPiA+Pj4+Pj4gaW5k ZXggMjNhNzMyNjg0MjFiLi5kYjZiMTg3NTMwNzEgMTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL2RyaXZl cnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL210ZC9u YW5kL3Jhdy9tZXNvbl9uYW5kLmMKPiA+Pj4+Pj4gQEAgLTExMSw2ICsxMTEsOCBAQAo+ID4+Pj4+ Pgo+ID4+Pj4+PiDCoMKgICNkZWZpbmUgUEVSX0lORk9fQllURcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgOAo+ID4+Pj4+Pgo+ID4+Pj4+PiArI2RlZmluZSBORkNfQ01EX1JBV19MRU7CoMKg wqDCoCBHRU5NQVNLKDEzLCAwKQo+ID4+Pj4+PiArCj4gPj4+Pj4+IMKgwqAgc3RydWN0IG1lc29u X25mY19uYW5kX2NoaXAgewo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IGxpc3RfaGVhZCBu b2RlOwo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IG5hbmRfY2hpcCBuYW5kOwo+ID4+Pj4+ PiBAQCAtMjg0LDcgKzI4Niw3IEBAIHN0YXRpYyB2b2lkIG1lc29uX25mY19jbWRfYWNjZXNzKHN0 cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kLCBpbnQgcmF3LCBib29sIGRpciwKPiA+Pj4+Pj4K PiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIGlmIChyYXcpIHsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBsZW4gPSBtdGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZTsKPiA+Pj4+ Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY21kID0gKGxlbiAmIEdFTk1BU0soMTMsIDApKSB8 IHNjcmFtYmxlciB8IERNQV9ESVIoZGlyKTsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY21kID0gbGVuIHwgc2NyYW1ibGVyIHwgRE1BX0RJUihkaXIpOwo+ID4+Pj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdyaXRlbChjbWQsIG5mYy0+cmVnX2Jhc2UgKyBORkNfUkVH X0NNRCk7ICAKPiA+Pj4KPiA+Pj4gSSB0aGluayB3ZSBjb3VsZCBrZWVwICImIEdFTk1BU0soMTMs IDApIi4gaXQgaXMgYmV0dGVyIGhlcmUgdG8gPj4+IGluZGljYXRlIGhvdyBtYW55IGJpdHMgb2Yg bGVuZ3RoIGluIHRoaXMgY29tbWFuZCBhbmQgZG9uJ3QgZGVzdG9yeSA+Pj4gdGhlIGNvbW1hbmQg b25jZSB3ZSBkb24ndCBjaGVjayB0aGUgImxlbiIgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLiA+ Pj4gb3IgdGhlIGNvZGUgImlmIChsZW4gPsKgIE5GQ19DTURfUkFXX0xFTikiIGlzIGJldHRlciB0 byBwdXQgaW5zaWRlID4+PiB0aGlzIGZ1bmN0aW9uIG5lYXJseS4gVGhhbmtzLiAgCj4gPj4KPiA+ PiBJdCBkZXBlbmRzIHdobyBjYWxscyB0aGlzIGhlbHBlci4gSWYgb25seSB1c2VkIGluc2lkZSA+ PiBleGVjX29wLHdyaXRlX3BhZ2VfcmF3KCkgYW5kIHJlYWRfcGFnZV9yYXcoKSBhbHNvIGNhbGwg Pj4gbWVzb25fbmZjX2NtZF9hY2Nlc3MoKSwgPiBidXQgaSBkb24ndCBmaW5kIHdoZXJlIGNvbnN0 cmFpbiB0aGUgImxlbiIuICAKPiAKPiBJcyB0aGUgaGVscGVyICJtZXNvbl9uZmNfY2hlY2tfb3Ao KSIgbmVlZGVkIGJ5IGV4ZWNfb3AoKSBhZnRlciB0aGUgY29uc3RyYWludCBpbiBhdHRhY2hfY2hp cCgpPyB0aGUgbGVuZ3RoIHBhc3NlZCBpbiBleGVjX29wKCkgc2VlbXMgc21hbGxlciB0aGFuICJt dGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZSIgbm93LgoKZXhlY19vcCgpIGlzIHByaW1hcmls eSBkZWRpY2F0ZWQgdG8gcGVyZm9ybWluZyBzaWRlIGNvbW1hbmRzIHRoYW4gcGFnZQphY2Nlc3Nl cywgdHlwaWNhbGx5IHRoZSBwYXJhbWV0ZXIgcGFnZSBpcyBYIGJ5dGVzLCB5b3UgbWlnaHQgd2Fu dCB0bwpyZWFkIGl0IDMgdGltZXMsIGRlcGVuZGluZyBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRo ZSBjb250cm9sbGVyLCB5b3UKbWlnaHQgbmVlZCB0byBzcGxpdCB0aGUgb3BlcmF0aW9uIG9yIG5v dCwgc28gdGhlIGNvcmUgY2hlY2tzIHdoYXQgYXJlCnRoZSBjb250cm9sbGVyIGNhcGFiaWxpdGll cyBiZWZvcmUgZG9pbmcgdGhlIG9wZXJhdGlvbi4gU28geWVzLCB0aGUKY2hlY2tfb3AoKSB0aGlu ZyBpcyBuZWNlc3NhcnkuCgo+IAo+IEBBcnNlbml5IGlmIGl0IGRvZXMgbmVlZCwgSSB0aGluayB0 aGUgc2FtZSBjb25zdHJhaW50IGlzIG5lZWRlZCBieQo+ICJtZXNvbl9uZmNfY21kX2FjY2Vzcygp Igo+IAo+ID4gICAKPiA+PiBpdCdzIG5vdCB1c2VmdWwuIElmIHVzZWQgb3V0c2lkZSwgdGhlbiBp ZiB5b3Ugd2FudCB0byBjbGFyaWZ5Cj4gPj4gdGhpbmdzIHlvdSBtYXkgd2FudCB0byB1c2U6Cj4g Pj4KPiA+PiAjZGVmaW5lIE5GQ19DTURfT1BfTEVOKGNtZCkgRklFTERfUFJFUChHRU5NQVNLKDEz LCAwKSwgKGNtZCkpCj4gPj4KPiA+PiBUaGlzIGlzIGJ5IGZhciBteSBmYXZvcml0ZSBjb25zdHJ1 Y3Rpb24uIENvdWxkIGFwcGx5IHRvIG1hbnkgb3RoZXIKPiA+PiBmaWVsZHMsIGxpa2UgRE1BX0RJ Uiwgc2NyYW1ibGVyLCBldGMuICAKPiAKPiBATWlxdWVsLCBGSUVMRF9QUkVQKCkgaXMgYmV0dGVy LCBidXQgaSBoYXZlIG5vIGlkZWEgd2hldGhlciB3ZSBzaG91bGQgYWRkIEZJRUxEX1BSRVAoKSBp biB0aGlzIHBhdGNoLCBvciBrZWVwIHRoZSBwcmV2aW91cyBjb2RlLgo+IAo+ID4+ICAKPiA+Pj4+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gPj4+Pj4+IMKgwqDCoMKg wqDCoCB9Cj4gPj4+Pj4+IEBAIC01NzMsNyArNTc1LDcgQEAgc3RhdGljIGludCBtZXNvbl9uZmNf cmVhZF9idWYoc3RydWN0IG5hbmRfY2hpcCA+Pj4+Pj4gKm5hbmQsIHU4ICpidWYsIGludCBsZW4p Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpZiAocmV0KQo+ID4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+ID4+Pj4+Pgo+ID4+Pj4+PiAtwqDCoMKgIGNtZCA9IE5G Q19DTURfTjJNIHwgKGxlbiAmIEdFTk1BU0soMTMsIDApKTsKPiA+Pj4+Pj4gK8KgwqDCoCBjbWQg PSBORkNfQ01EX04yTSB8IGxlbjsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIHdyaXRlbChjbWQsIG5m Yy0+cmVnX2Jhc2UgKyBORkNfUkVHX0NNRCk7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDC oCBtZXNvbl9uZmNfZHJhaW5fY21kKG5mYyk7Cj4gPj4+Pj4+IEBAIC01OTcsNyArNTk5LDcgQEAg c3RhdGljIGludCBtZXNvbl9uZmNfd3JpdGVfYnVmKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpu YW5kLCB1OCAqYnVmLCBpbnQgbGVuKQo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgaWYgKHJldCkKPiA+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+ID4+Pj4+Pgo+ ID4+Pj4+PiAtwqDCoMKgIGNtZCA9IE5GQ19DTURfTTJOIHwgKGxlbiAmIEdFTk1BU0soMTMsIDAp KTsKPiA+Pj4+Pj4gK8KgwqDCoCBjbWQgPSBORkNfQ01EX00yTiB8IGxlbjsKPiA+Pj4+Pj4gwqDC oMKgwqDCoMKgIHdyaXRlbChjbWQsIG5mYy0+cmVnX2Jhc2UgKyBORkNfUkVHX0NNRCk7Cj4gPj4+ Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBtZXNvbl9uZmNfZHJhaW5fY21kKG5mYyk7Cj4gPj4+ Pj4+IEBAIC0xMDA3LDYgKzEwMDksMzEgQEAgbWVzb25fbmFuZF9vcF9wdXRfZG1hX3NhZmVfb3V0 cHV0X2J1Zihjb25zdCA+Pj4+Pj4gc3RydWN0IG5hbmRfb3BfaW5zdHIgKmluc3RyLAo+ID4+Pj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtmcmVlKGJ1Zik7Cj4gPj4+Pj4+IMKgwqAg fQo+ID4+Pj4+Pgo+ID4+Pj4+PiArc3RhdGljIGludCBtZXNvbl9uZmNfY2hlY2tfb3Aoc3RydWN0 IG5hbmRfY2hpcCAqY2hpcCwKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBuYW5kX29wZXJhdGlvbiAqb3ApCj4g Pj4+Pj4+ICt7Cj4gPj4+Pj4+ICvCoMKgwqAgaW50IG9wX2lkOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ ICvCoMKgwqAgZm9yIChvcF9pZCA9IDA7IG9wX2lkIDwgb3AtPm5pbnN0cnM7IG9wX2lkKyspIHsK PiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5hbmRfb3BfaW5z dHIgKmluc3RyOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlu c3RyID0gJm9wLT5pbnN0cnNbb3BfaWRdOwo+ID4+Pj4+PiArCj4gPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHN3aXRjaCAoaW5zdHItPnR5cGUpIHsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY2FzZSBOQU5EX09QX0RBVEFfSU5fSU5TVFI6Cj4gPj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNhc2UgTkFORF9PUF9EQVRBX09VVF9JTlNUUjoKPiA+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChpbnN0ci0+Y3R4LmRhdGEu bGVuID4gTkZDX0NNRF9SQVdfTEVOKQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PVFNVUFA7Cj4gPj4+Pj4+ ICsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Owo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZWZhdWx0Ogo+ID4+Pj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4gK8KgwqDCoCB9Cj4gPj4+Pj4+ICsKPiA+Pj4+ Pj4gK8KgwqDCoCByZXR1cm4gMDsKPiA+Pj4+Pj4gK30KPiA+Pj4+Pj4gKwo+ID4+Pj4+PiDCoMKg IHN0YXRpYyBpbnQgbWVzb25fbmZjX2V4ZWNfb3Aoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiA+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGNvbnN0IHN0cnVjdCBuYW5kX29wZXJhdGlvbiAqb3AsIGJvb2wgPj4+Pj4+IGNoZWNrX29u bHkpCj4gPj4+Pj4+IMKgwqAgewo+ID4+Pj4+PiBAQCAtMTAxNSwxMCArMTA0MiwxMiBAQCBzdGF0 aWMgaW50IG1lc29uX25mY19leGVjX29wKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kLAo+ ID4+Pj4+PiDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5hbmRfb3BfaW5zdHIgKmluc3RyID0g TlVMTDsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIHZvaWQgKmJ1ZjsKPiA+Pj4+Pj4gwqDCoMKgwqDC oMKgIHUzMiBvcF9pZCwgZGVsYXlfaWRsZSwgY21kOwo+ID4+Pj4+PiArwqDCoMKgIGludCBlcnI7 Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpbnQgaTsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gLcKgwqDCoCBp ZiAoY2hlY2tfb25seSkKPiA+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7 Cj4gPj4+Pj4+ICvCoMKgwqAgZXJyID0gbWVzb25fbmZjX2NoZWNrX29wKG5hbmQsIG9wKTsKPiA+ Pj4+Pj4gK8KgwqDCoCBpZiAoZXJyIHx8IGNoZWNrX29ubHkpCj4gPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBt ZXNvbl9uZmNfc2VsZWN0X2NoaXAobmFuZCwgb3AtPmNzKTsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKg IGZvciAob3BfaWQgPSAwOyBvcF9pZCA8IG9wLT5uaW5zdHJzOyBvcF9pZCsrKSB7Cj4gPj4+Pj4+ IEBAIC0xMjkzLDYgKzEzMjIsNyBAQCBzdGF0aWMgaW50IG1lc29uX25hbmRfYXR0YWNoX2NoaXAo c3RydWN0ID4+Pj4+PiBuYW5kX2NoaXAgKm5hbmQpCj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgbWVzb25fbmZjX25hbmRfY2hpcCAqbWVzb25fY2hpcCA9IHRvX21lc29uX25hbmQobmFuZCk7 Cj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9IG5hbmRfdG9fbXRk KG5hbmQpOwo+ID4+Pj4+PiDCoMKgwqDCoMKgwqAgaW50IG5zZWN0b3JzID0gbXRkLT53cml0ZXNp emUgLyAxMDI0Owo+ID4+Pj4+PiArwqDCoMKgIGludCByYXdfd3JpdGVzaXplOwo+ID4+Pj4+PiDC oMKgwqDCoMKgwqAgaW50IHJldDsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIGlmICgh bXRkLT5uYW1lKSB7Cj4gPj4+Pj4+IEBAIC0xMzA0LDYgKzEzMzQsMTMgQEAgc3RhdGljIGludCBt ZXNvbl9uYW5kX2F0dGFjaF9jaGlwKHN0cnVjdCA+Pj4+Pj4gbmFuZF9jaGlwICpuYW5kKQo+ID4+ Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g LUVOT01FTTsKPiA+Pj4+Pj4gwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4KPiA+Pj4+Pj4gK8KgwqDC oCByYXdfd3JpdGVzaXplID0gbXRkLT53cml0ZXNpemUgKyBtdGQtPm9vYnNpemU7Cj4gPj4+Pj4+ ICvCoMKgwqAgaWYgKHJhd193cml0ZXNpemUgPiBORkNfQ01EX1JBV19MRU4pIHsKPiA+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycihuZmMtPmRldiwgInRvbyBiaWcgd3JpdGUg c2l6ZSBpbiByYXcgbW9kZTogJWQgPj4+Pj4+ID4gJWxkXG4iLAo+ID4+Pj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmF3X3dyaXRlc2l6ZSwgTkZDX0NNRF9SQVdf TEVOKTsKPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4g Pj4+Pj4+ICvCoMKgwqAgfQo+ID4+Pj4+PiArCj4gPj4+Pj4+IMKgwqDCoMKgwqDCoCBpZiAobmFu ZC0+YmJ0X29wdGlvbnMgJiBOQU5EX0JCVF9VU0VfRkxBU0gpCj4gPj4+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbmFuZC0+YmJ0X29wdGlvbnMgfD0gTkFORF9CQlRfTk9fT09COwo+ ID4+Pj4+PiAgCj4gPj4KPiA+Pgo+ID4+IFRoYW5rcywKPiA+PiBNaXF1w6hsICAKCgpUaGFua3Ms Ck1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDECEC7EE29 for ; Thu, 8 Jun 2023 13:21:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236609AbjFHNVe (ORCPT ); Thu, 8 Jun 2023 09:21:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49354 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236402AbjFHNVV (ORCPT ); Thu, 8 Jun 2023 09:21:21 -0400 Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F02071BD6 for ; Thu, 8 Jun 2023 06:21:18 -0700 (PDT) X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686230477; h=from:from: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; bh=9Lo1sqW665OmQu1ENY3kkmv19RpKne/RRcU8PBoQrig=; b=TqAp1+S/CkTMibHiSxtGThtl3IQmfO6Tgset4bbWurxsfM4WVmnONx50sA3oty7hPI23s2 5t12zUJue4WQkw95/FJ7R9t7KHDNdE3GSKcPWV51UbciU+u7thGnjMkxlQZ8A6PD6+67rN g1Sll4okQxtHkCpmjiMsJBlne69H6MAxVfbWSqseVviCQTGIM0eHhAttIW6Yda+rBqmIm5 QhOxJo72F3MoHyTQXKKmCtJXgra/vXeUqArKEg6kTttslYkVhKbJMFOOzftVIUx/7jsVRF 88rAv8dLWnU65Aki+BfC9HXq2MM2lyWnKc90l8k4STovPhGMjs3RD4i+KyWKHw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 64410E000C; Thu, 8 Jun 2023 13:21:15 +0000 (UTC) Date: Thu, 8 Jun 2023 15:21:14 +0200 From: Miquel Raynal To: Liang Yang Cc: Arseniy Krasnov , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , oxffffaa@gmail.com, kernel@sberdevices.ru, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mtd: rawnand: meson: check buffer length Message-ID: <20230608152114.3a1d82ac@xps-13> In-Reply-To: References: <20230606101644.3297859-1-AVKrasnov@sberdevices.ru> <9adef6da-5930-dcaa-f148-e4a398d39f2d@sberdevices.ru> <3a9470ed-d7ad-6cae-0d58-732399590272@sberdevices.ru> <7903580d-685c-14e6-5572-81a4cb31cced@amlogic.com> <20230608085458.449a24c0@xps-13> <4e6cd8a8-f618-4bc3-5fa9-eab2b501dd89@amlogic.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Liang, liang.yang@amlogic.com wrote on Thu, 8 Jun 2023 20:37:14 +0800: > Hi Arseniy and Miquel, >=20 > On 2023/6/8 15:12, Liang Yang wrote: > > Hi Miquel, > >=20 > > On 2023/6/8 14:54, Miquel Raynal wrote: =20 > >> [ EXTERNAL EMAIL ] > >> > >> Hi Liang, > >> > >> liang.yang@amlogic.com wrote on Thu, 8 Jun 2023 14:42:53 +0800: > >> =20 > >>> Hi Arseniy, > >>> > >>> On 2023/6/8 5:17, Arseniy Krasnov wrote: =20 > >>>> [ EXTERNAL EMAIL ] > >>>> > >>>> Hi again Miquel, Liang! > >>>> > >>>> What do You think about this patch? > >>>> > >>>> Thanks, Arseniy > >>>> > >>>> On 06.06.2023 19:29, Arseniy Krasnov wrote: =20 > >>>>> Sorry, here is changelog: > >>>>> v1 -> v2: > >>>>> * Move checks from 'switch/case' which executes commands in >>>>> '= meson_nfc_exec_op()' to a special > >>>>> =C2=A0=C2=A0=C2=A0 separated function 'meson_nfc_check_op()' which = is called >>>>> before commands processing. > >>>>> > >>>>> On 06.06.2023 13:16, Arseniy Krasnov wrote: =20 > >>>>>> Meson NAND controller has limited buffer length, so check it before > >>>>>> command execution to avoid length trim. Also check MTD write size = on > >>>>>> chip attach. > >>>>>> > >>>>>> Signed-off-by: Arseniy Krasnov > >>>>>> --- > >>>>>> =C2=A0=C2=A0 drivers/mtd/nand/raw/meson_nand.c | 47 >>>>>> +++++++= ++++++++++++++++++++---- > >>>>>> =C2=A0=C2=A0 1 file changed, 42 insertions(+), 5 deletions(-) > >>>>>> > >>>>>> diff --git a/drivers/mtd/nand/raw/meson_nand.c >>>>>> b/drivers/mt= d/nand/raw/meson_nand.c > >>>>>> index 23a73268421b..db6b18753071 100644 > >>>>>> --- a/drivers/mtd/nand/raw/meson_nand.c > >>>>>> +++ b/drivers/mtd/nand/raw/meson_nand.c > >>>>>> @@ -111,6 +111,8 @@ > >>>>>> > >>>>>> =C2=A0=C2=A0 #define PER_INFO_BYTE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 8 > >>>>>> > >>>>>> +#define NFC_CMD_RAW_LEN=C2=A0=C2=A0=C2=A0=C2=A0 GENMASK(13, 0) > >>>>>> + > >>>>>> =C2=A0=C2=A0 struct meson_nfc_nand_chip { > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct list_head node; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct nand_chip nand; > >>>>>> @@ -284,7 +286,7 @@ static void meson_nfc_cmd_access(struct >>>>>>= nand_chip *nand, int raw, bool dir, > >>>>>> > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (raw) { > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 len =3D mtd->writesize + mtd->oobsize; > >>>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 cmd =3D (len & GENMASK(13, 0)) | scrambler | DMA_DIR(dir); > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 cmd =3D len | scrambler | DMA_DIR(dir); > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 writel(cmd, nfc->reg_base + NFC_REG_CMD); =20 > >>> > >>> I think we could keep "& GENMASK(13, 0)". it is better here to >>> in= dicate how many bits of length in this command and don't destory >>> the co= mmand once we don't check the "len" outside of this function. >>> or the co= de "if (len >=C2=A0 NFC_CMD_RAW_LEN)" is better to put inside >>> this func= tion nearly. Thanks. =20 > >> > >> It depends who calls this helper. If only used inside >> exec_op,write= _page_raw() and read_page_raw() also call >> meson_nfc_cmd_access(), > but = i don't find where constrain the "len". =20 >=20 > Is the helper "meson_nfc_check_op()" needed by exec_op() after the constr= aint in attach_chip()? the length passed in exec_op() seems smaller than "m= td->writesize + mtd->oobsize" now. exec_op() is primarily dedicated to performing side commands than page accesses, typically the parameter page is X bytes, you might want to read it 3 times, depending on the capabilities of the controller, you might need to split the operation or not, so the core checks what are the controller capabilities before doing the operation. So yes, the check_op() thing is necessary. >=20 > @Arseniy if it does need, I think the same constraint is needed by > "meson_nfc_cmd_access()" >=20 > > =20 > >> it's not useful. If used outside, then if you want to clarify > >> things you may want to use: > >> > >> #define NFC_CMD_OP_LEN(cmd) FIELD_PREP(GENMASK(13, 0), (cmd)) > >> > >> This is by far my favorite construction. Could apply to many other > >> fields, like DMA_DIR, scrambler, etc. =20 >=20 > @Miquel, FIELD_PREP() is better, but i have no idea whether we should add= FIELD_PREP() in this patch, or keep the previous code. >=20 > >> =20 > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } > >>>>>> @@ -573,7 +575,7 @@ static int meson_nfc_read_buf(struct nand_chip= >>>>>> *nand, u8 *buf, int len) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (ret) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 goto out; > >>>>>> > >>>>>> -=C2=A0=C2=A0=C2=A0 cmd =3D NFC_CMD_N2M | (len & GENMASK(13, 0)); > >>>>>> +=C2=A0=C2=A0=C2=A0 cmd =3D NFC_CMD_N2M | len; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 writel(cmd, nfc->reg_base + N= FC_REG_CMD); > >>>>>> > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 meson_nfc_drain_cmd(nfc); > >>>>>> @@ -597,7 +599,7 @@ static int meson_nfc_write_buf(struct >>>>>> n= and_chip *nand, u8 *buf, int len) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (ret) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return ret; > >>>>>> > >>>>>> -=C2=A0=C2=A0=C2=A0 cmd =3D NFC_CMD_M2N | (len & GENMASK(13, 0)); > >>>>>> +=C2=A0=C2=A0=C2=A0 cmd =3D NFC_CMD_M2N | len; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 writel(cmd, nfc->reg_base + N= FC_REG_CMD); > >>>>>> > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 meson_nfc_drain_cmd(nfc); > >>>>>> @@ -1007,6 +1009,31 @@ meson_nand_op_put_dma_safe_output_buf(const= >>>>>> struct nand_op_instr *instr, > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 kfree(buf); > >>>>>> =C2=A0=C2=A0 } > >>>>>> > >>>>>> +static int meson_nfc_check_op(struct nand_chip *chip, > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 const struct nand_operation *op) > >>>>>> +{ > >>>>>> +=C2=A0=C2=A0=C2=A0 int op_id; > >>>>>> + > >>>>>> +=C2=A0=C2=A0=C2=A0 for (op_id =3D 0; op_id < op->ninstrs; op_id++= ) { > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 const struct nand_op_instr *instr; > >>>>>> + > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 instr =3D &op->instrs[op_id]; > >>>>>> + > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 switch (instr->type) { > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 case NAND_OP_DATA_IN_INSTR: > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 case NAND_OP_DATA_OUT_INSTR: > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (instr->ctx.data.len= > NFC_CMD_RAW_LEN) > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 return -ENOTSUPP; > >>>>>> + > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break; > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 default: > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break; > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 } > >>>>>> +=C2=A0=C2=A0=C2=A0 } > >>>>>> + > >>>>>> +=C2=A0=C2=A0=C2=A0 return 0; > >>>>>> +} > >>>>>> + > >>>>>> =C2=A0=C2=A0 static int meson_nfc_exec_op(struct nand_chip *nand, > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 const struct nand_operation *op, bool >>>>>> check_on= ly) > >>>>>> =C2=A0=C2=A0 { > >>>>>> @@ -1015,10 +1042,12 @@ static int meson_nfc_exec_op(struct >>>>>>= nand_chip *nand, > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const struct nand_op_instr *i= nstr =3D NULL; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void *buf; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u32 op_id, delay_idle, cmd; > >>>>>> +=C2=A0=C2=A0=C2=A0 int err; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int i; > >>>>>> > >>>>>> -=C2=A0=C2=A0=C2=A0 if (check_only) > >>>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 return 0; > >>>>>> +=C2=A0=C2=A0=C2=A0 err =3D meson_nfc_check_op(nand, op); > >>>>>> +=C2=A0=C2=A0=C2=A0 if (err || check_only) > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 return err; > >>>>>> > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 meson_nfc_select_chip(nand, o= p->cs); > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for (op_id =3D 0; op_id < op-= >ninstrs; op_id++) { > >>>>>> @@ -1293,6 +1322,7 @@ static int meson_nand_attach_chip(struct >>>= >>> nand_chip *nand) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct meson_nfc_nand_chip *m= eson_chip =3D to_meson_nand(nand); > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct mtd_info *mtd =3D nand= _to_mtd(nand); > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int nsectors =3D mtd->writesi= ze / 1024; > >>>>>> +=C2=A0=C2=A0=C2=A0 int raw_writesize; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int ret; > >>>>>> > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (!mtd->name) { > >>>>>> @@ -1304,6 +1334,13 @@ static int meson_nand_attach_chip(struct >>= >>>> nand_chip *nand) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -= ENOMEM; > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } > >>>>>> > >>>>>> +=C2=A0=C2=A0=C2=A0 raw_writesize =3D mtd->writesize + mtd->oobsiz= e; > >>>>>> +=C2=A0=C2=A0=C2=A0 if (raw_writesize > NFC_CMD_RAW_LEN) { > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 dev_err(nfc->dev, "too big write size in raw mode: %d >>>>>> > %ld\n", > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 raw_writesize, NFC_CMD_= RAW_LEN); > >>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 return -EINVAL; > >>>>>> +=C2=A0=C2=A0=C2=A0 } > >>>>>> + > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (nand->bbt_options & NAND_= BBT_USE_FLASH) > >>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 nand->bbt_options |=3D NAND_BBT_NO_OOB; > >>>>>> =20 > >> > >> > >> Thanks, > >> Miqu=C3=A8l =20 Thanks, Miqu=C3=A8l