From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 2/4] lib/scatterlist: Avoid potential scatterlist entry overflow Date: Tue, 7 Mar 2017 10:16:59 +0000 Message-ID: <35181d49-c33e-0de7-e73d-7d51efafb38b@linux.intel.com> References: <1484575930-6810-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1484575930-6810-2-git-send-email-tvrtko.ursulin@linux.intel.com> <21a59594-a4bc-4d94-ecc0-ebf87cbec35a@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 12CF68919D for ; Tue, 7 Mar 2017 10:17:12 +0000 (UTC) In-Reply-To: <21a59594-a4bc-4d94-ecc0-ebf87cbec35a@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org, David Dillow Cc: Masahiro Yamada , Andy Shevchenko , linux-kernel@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org CkhpIERhdmlkLAoKQ2hyaXMgbm90aWNlZCB5b3VyICJzY2F0dGVybGlzdDogZG9uJ3Qgb3ZlcmZs b3cgbGVuZ3RoIGZpZWxkIiBwYXRjaCBhbmQgCnBpbmdlZCBtZSwgc28gSSBhbSBjb3B5aW5nIHlv dSBvbiBhbm90aGVyIHRocmVhZCB3aGljaCB0cmllcyB0byBzb2x2ZSAKdGhlIHNhbWUgcHJvYmxl bS4KCk15IGxhdGVzdCBzZXJpZXMgaXMgaGVyZTogCmh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNr dG9wLm9yZy9zZXJpZXMvMTgwNjIvLCBidXQgaXQgaGFzIGJlZW4gZ29pbmcgCmZyb20gc29tZSB0 aW1lIE5vdmVtYmVyIGxhc3QgeWVhci4KCkkgbGlrZSB5b3VyIEJVSUxEX0JVR19PTiBzYWZldHks IGJ1dCBvdGhlcndpc2Ugb3VyIHBhdGNoZXMgYXJlIHByZXR0eSAKc2ltaWxhci4KCmk5MTUgZHJp dmVyIGFsc28gYmVuZWZpdHMgZnJvbSB0aGUgYWJpbGl0eSB0byBjcmVhdGUgbGFyZ2Ugc2cgY2h1 bmtzIAp3aGljaCBzYXZlcyB1cyBhIGZldyBtZWdhYnl0ZXMgb2YgUkFNIGF0IHJ1bnRpbWUsIGJ1 dCB3ZSBkbyBoYXZlIHRvIApkZWdyYWRlIHRvIHNtYWxsZXIgY2h1bmtzIHdoZW4gcnVubmluZyB1 bmRlciBhIGh5cGVydmlzb3IuIEZvciB0aGF0IHdlIAphcmUgdXNpbmcgdGhlIHN3aW90bGJfbWF4 X3NlZ21lbnQgQVBJIEtvbnJhZCByZWNlbnRseSBhZGRlZCBmb3IgdGhpcyAKcHVycG9zZS4KClNv IHdoYXQgSSBkaWQgaW4gYWRkaXRpb24gdG8gZml4aW5nIHRoZSBvdmVyZmxvdyBpcyBleHBvcnRl ZCBhIG5ldyAKZmxhdm91ciBvZiBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzIHdoaWNoIGFsbG93 cyB5b3UgdG8gY29udHJvbCB0aGUgCm1heGltdW0gY2h1bmsuCgpNYXliZSB5b3UgY2FuIGhhdmUg YSBsb29rIGF0IG15IHNlcmllcyBhbmQgc2VlIGlmIGl0IHdvdWxkIHdvcmsgZm9yIHlvdT8gCkkn dmUgYmVlbiB0cnlpbmcgdG8gZ2FpbiBzb21lIHRyYWN0aW9uIGZvciBpdCBmb3Igc29tZSBtb250 aHMgbm93LgoKUmVnYXJkcywKClR2cnRrbwoKT24gMDcvMDMvMjAxNyAwODo1OCwgVHZydGtvIFVy c3VsaW4gd3JvdGU6Cj4KPiBIaSwKPgo+IE9uIDE2LzAxLzIwMTcgMTQ6MTIsIFR2cnRrbyBVcnN1 bGluIHdyb3RlOgo+PiBGcm9tOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwu Y29tPgo+Pgo+PiBTaW5jZSB0aGUgc2NhdHRlcmxpc3QgbGVuZ3RoIGZpZWxkIGlzIGFuIHVuc2ln bmVkIGludCwgbWFrZQo+PiBzdXJlIHRoYXQgc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcyBkb2Vz IG5vdCBvdmVyZmxvdyBpdCB3aGlsZQo+PiBjb2FsbGVzY2luZyBwYWdlcyB0byBhIHNpbmdsZSBl bnRyeS4KPj4KPj4gdjI6IERyb3AgcmVmZXJlbmNlIHRvIGZ1dHVyZSB1c2UuIFVzZSBVSU5UX01B WC4KPj4gdjM6IG1heF9zZWdtZW50IG11c3QgYmUgcGFnZSBhbGlnbmVkLgo+PiB2NDogRG8gbm90 IHJlbHkgb24gY29tcGlsZXIgdG8gb3B0aW1pc2Ugb3V0IHRoZSByb3VuZGRvd24uCj4+ICAgICAo Sm9vbmFzIExhaHRpbmVuKQo+PiB2NTogU2ltcGxpZmllZCBsb29wcyBhbmQgdXNlIHBvc3QtaW5j cmVtZW50cyByYXRoZXIgdGhhbgo+PiAgICAgcHJlLWluY3JlbWVudHMuIFVzZSBQQUdFX01BU0sg YW5kIGZpeCBjb21tZW50IHR5cG8uCj4+ICAgICAoQW5keSBTaGV2Y2hlbmtvKQo+PiBTaWduZWQt b2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+PiBDYzog TWFzYWhpcm8gWWFtYWRhIDx5YW1hZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KPj4gQ2M6IGxp bnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcKPj4gUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPiAodjIpCj4+IENjOiBKb29uYXMgTGFodGluZW4gPGpv b25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4+IENjOiBBbmR5IFNoZXZjaGVua28gPGFu ZHkuc2hldmNoZW5rb0BnbWFpbC5jb20+Cj4KPiBBbnlvbmUgaW4gdGhlIG1vb2QgZm9yIHJldmll d2luZyBmcm9tIGhlcmUgdG8gdGhlIGVuZCBvZiB0aGUgc2VyaWVzPwo+Cj4gUmVnYXJkcywKPgo+ IFR2cnRrbwo+Cj4+IC0tLQo+PiAgaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oIHwgIDYgKysr KysrCj4+ICBsaWIvc2NhdHRlcmxpc3QuYyAgICAgICAgICAgfCAzMSArKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zY2F0dGVybGlz dC5oIGIvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oCj4+IGluZGV4IGM5ODFiZWUxYTNhZS4u NDc2OGVlZWI3MDU0IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L3NjYXR0ZXJsaXN0LmgK Pj4gKysrIGIvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oCj4+IEBAIC0yMSw2ICsyMSwxMiBA QCBzdHJ1Y3Qgc2NhdHRlcmxpc3Qgewo+PiAgfTsKPj4KPj4gIC8qCj4+ICsgKiBTaW5jZSB0aGUg YWJvdmUgbGVuZ3RoIGZpZWxkIGlzIGFuIHVuc2lnbmVkIGludCwgYmVsb3cgd2UgZGVmaW5lCj4+ IHRoZSBtYXhpbXVtCj4+ICsgKiBsZW5ndGggaW4gYnl0ZXMgdGhhdCBjYW4gYmUgc3RvcmVkIGlu IG9uZSBzY2F0dGVybGlzdCBlbnRyeS4KPj4gKyAqLwo+PiArI2RlZmluZSBTQ0FUVEVSTElTVF9N QVhfU0VHTUVOVCAoVUlOVF9NQVggJiBQQUdFX01BU0spCj4+ICsKPj4gKy8qCj4+ICAgKiBUaGVz ZSBtYWNyb3Mgc2hvdWxkIGJlIHVzZWQgYWZ0ZXIgYSBkbWFfbWFwX3NnIGNhbGwgaGFzIGJlZW4g ZG9uZQo+PiAgICogdG8gZ2V0IGJ1cyBhZGRyZXNzZXMgb2YgZWFjaCBvZiB0aGUgU0cgZW50cmll cyBhbmQgdGhlaXIgbGVuZ3Rocy4KPj4gICAqIFlvdSBzaG91bGQgb25seSB3b3JrIHdpdGggdGhl IG51bWJlciBvZiBzZyBlbnRyaWVzIGRtYV9tYXBfc2cKPj4gZGlmZiAtLWdpdCBhL2xpYi9zY2F0 dGVybGlzdC5jIGIvbGliL3NjYXR0ZXJsaXN0LmMKPj4gaW5kZXggZTA1ZTdmYzk4ODkyLi42NWYz NzU2NDVkZjUgMTAwNjQ0Cj4+IC0tLSBhL2xpYi9zY2F0dGVybGlzdC5jCj4+ICsrKyBiL2xpYi9z Y2F0dGVybGlzdC5jCj4+IEBAIC0zOTQsMTcgKzM5NCwyMiBAQCBpbnQgc2dfYWxsb2NfdGFibGVf ZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKnNndCwKPj4gICAgICB1bnNpZ25lZCBpbnQgb2Zm c2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCj4+ICAgICAgZ2ZwX3QgZ2ZwX21hc2spCj4+ICB7Cj4+ IC0gICAgdW5zaWduZWQgaW50IGNodW5rczsKPj4gLSAgICB1bnNpZ25lZCBpbnQgaTsKPj4gLSAg ICB1bnNpZ25lZCBpbnQgY3VyX3BhZ2U7Cj4+ICsgICAgY29uc3QgdW5zaWduZWQgaW50IG1heF9z ZWdtZW50ID0gU0NBVFRFUkxJU1RfTUFYX1NFR01FTlQ7Cj4+ICsgICAgdW5zaWduZWQgaW50IGNo dW5rcywgY3VyX3BhZ2UsIHNlZ19sZW4sIGk7Cj4+ICAgICAgaW50IHJldDsKPj4gICAgICBzdHJ1 Y3Qgc2NhdHRlcmxpc3QgKnM7Cj4+Cj4+ICAgICAgLyogY29tcHV0ZSBudW1iZXIgb2YgY29udGln dW91cyBjaHVua3MgKi8KPj4gICAgICBjaHVua3MgPSAxOwo+PiAtICAgIGZvciAoaSA9IDE7IGkg PCBuX3BhZ2VzOyArK2kpCj4+IC0gICAgICAgIGlmIChwYWdlX3RvX3BmbihwYWdlc1tpXSkgIT0g cGFnZV90b19wZm4ocGFnZXNbaSAtIDFdKSArIDEpCj4+IC0gICAgICAgICAgICArK2NodW5rczsK Pj4gKyAgICBzZWdfbGVuID0gMDsKPj4gKyAgICBmb3IgKGkgPSAxOyBpIDwgbl9wYWdlczsgaSsr KSB7Cj4+ICsgICAgICAgIHNlZ19sZW4gKz0gUEFHRV9TSVpFOwo+PiArICAgICAgICBpZiAoc2Vn X2xlbiA+PSBtYXhfc2VnbWVudCB8fAo+PiArICAgICAgICAgICAgcGFnZV90b19wZm4ocGFnZXNb aV0pICE9IHBhZ2VfdG9fcGZuKHBhZ2VzW2kgLSAxXSkgKyAxKSB7Cj4+ICsgICAgICAgICAgICBj aHVua3MrKzsKPj4gKyAgICAgICAgICAgIHNlZ19sZW4gPSAwOwo+PiArICAgICAgICB9Cj4+ICsg ICAgfQo+Pgo+PiAgICAgIHJldCA9IHNnX2FsbG9jX3RhYmxlKHNndCwgY2h1bmtzLCBnZnBfbWFz ayk7Cj4+ICAgICAgaWYgKHVubGlrZWx5KHJldCkpCj4+IEBAIC00MTMsMTcgKzQxOCwyMSBAQCBp bnQgc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKnNndCwKPj4gICAg ICAvKiBtZXJnaW5nIGNodW5rcyBhbmQgcHV0dGluZyB0aGVtIGludG8gdGhlIHNjYXR0ZXJsaXN0 ICovCj4+ICAgICAgY3VyX3BhZ2UgPSAwOwo+PiAgICAgIGZvcl9lYWNoX3NnKHNndC0+c2dsLCBz LCBzZ3QtPm9yaWdfbmVudHMsIGkpIHsKPj4gLSAgICAgICAgdW5zaWduZWQgbG9uZyBjaHVua19z aXplOwo+PiAtICAgICAgICB1bnNpZ25lZCBpbnQgajsKPj4gKyAgICAgICAgdW5zaWduZWQgaW50 IGosIGNodW5rX3NpemU7Cj4+Cj4+ICAgICAgICAgIC8qIGxvb2sgZm9yIHRoZSBlbmQgb2YgdGhl IGN1cnJlbnQgY2h1bmsgKi8KPj4gLSAgICAgICAgZm9yIChqID0gY3VyX3BhZ2UgKyAxOyBqIDwg bl9wYWdlczsgKytqKQo+PiAtICAgICAgICAgICAgaWYgKHBhZ2VfdG9fcGZuKHBhZ2VzW2pdKSAh PQo+PiArICAgICAgICBzZWdfbGVuID0gMDsKPj4gKyAgICAgICAgZm9yIChqID0gY3VyX3BhZ2Ug KyAxOyBqIDwgbl9wYWdlczsgaisrKSB7Cj4+ICsgICAgICAgICAgICBzZWdfbGVuICs9IFBBR0Vf U0laRTsKPj4gKyAgICAgICAgICAgIGlmIChzZWdfbGVuID49IG1heF9zZWdtZW50IHx8Cj4+ICsg ICAgICAgICAgICAgICAgcGFnZV90b19wZm4ocGFnZXNbal0pICE9Cj4+ICAgICAgICAgICAgICAg ICAgcGFnZV90b19wZm4ocGFnZXNbaiAtIDFdKSArIDEpCj4+ICAgICAgICAgICAgICAgICAgYnJl YWs7Cj4+ICsgICAgICAgIH0KPj4KPj4gICAgICAgICAgY2h1bmtfc2l6ZSA9ICgoaiAtIGN1cl9w YWdlKSA8PCBQQUdFX1NISUZUKSAtIG9mZnNldDsKPj4gLSAgICAgICAgc2dfc2V0X3BhZ2Uocywg cGFnZXNbY3VyX3BhZ2VdLCBtaW4oc2l6ZSwgY2h1bmtfc2l6ZSksIG9mZnNldCk7Cj4+ICsgICAg ICAgIHNnX3NldF9wYWdlKHMsIHBhZ2VzW2N1cl9wYWdlXSwKPj4gKyAgICAgICAgICAgICAgICBt aW5fdCh1bnNpZ25lZCBsb25nLCBzaXplLCBjaHVua19zaXplKSwgb2Zmc2V0KTsKPj4gICAgICAg ICAgc2l6ZSAtPSBjaHVua19zaXplOwo+PiAgICAgICAgICBvZmZzZXQgPSAwOwo+PiAgICAgICAg ICBjdXJfcGFnZSA9IGo7Cj4+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=