From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/5] lib/scatterlist: Avoid potential scatterlist entry overflow Date: Mon, 31 Jul 2017 19:55:09 +0100 Message-ID: <20170731185512.20010-2-tvrtko.ursulin@linux.intel.com> References: <20170731185512.20010-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D23B6E9B6 for ; Mon, 31 Jul 2017 18:55:22 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id y67so31510208wrb.3 for ; Mon, 31 Jul 2017 11:55:22 -0700 (PDT) In-Reply-To: <20170731185512.20010-1-tvrtko.ursulin@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: Intel-gfx@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada , Andy Shevchenko List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNpbmNlIHRo ZSBzY2F0dGVybGlzdCBsZW5ndGggZmllbGQgaXMgYW4gdW5zaWduZWQgaW50LCBtYWtlCnN1cmUg dGhhdCBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzIGRvZXMgbm90IG92ZXJmbG93IGl0IHdoaWxl CmNvYWxsZXNjaW5nIHBhZ2VzIHRvIGEgc2luZ2xlIGVudHJ5LgoKdjI6IERyb3AgcmVmZXJlbmNl IHRvIGZ1dHVyZSB1c2UuIFVzZSBVSU5UX01BWC4KdjM6IG1heF9zZWdtZW50IG11c3QgYmUgcGFn ZSBhbGlnbmVkLgp2NDogRG8gbm90IHJlbHkgb24gY29tcGlsZXIgdG8gb3B0aW1pc2Ugb3V0IHRo ZSByb3VuZGRvd24uCiAgICAoSm9vbmFzIExhaHRpbmVuKQp2NTogU2ltcGxpZmllZCBsb29wcyBh bmQgdXNlIHBvc3QtaW5jcmVtZW50cyByYXRoZXIgdGhhbgogICAgcHJlLWluY3JlbWVudHMuIFVz ZSBQQUdFX01BU0sgYW5kIGZpeCBjb21tZW50IHR5cG8uCiAgICAoQW5keSBTaGV2Y2hlbmtvKQoK U2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K Q2M6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1hc2FoaXJvQHNvY2lvbmV4dC5jb20+CkNjOiBs aW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRp bmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFuZHkgU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtv QGdtYWlsLmNvbT4KLS0tCiBpbmNsdWRlL2xpbnV4L3NjYXR0ZXJsaXN0LmggfCAgNiArKysrKysK IGxpYi9zY2F0dGVybGlzdC5jICAgICAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oIGIvaW5jbHVkZS9s aW51eC9zY2F0dGVybGlzdC5oCmluZGV4IDIwNWFlZmI0ZWQ5My4uNmRkMmRkYmM2MjMwIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NjYXR0ZXJsaXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9z Y2F0dGVybGlzdC5oCkBAIC0yMSw2ICsyMSwxMiBAQCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgewogfTsK IAogLyoKKyAqIFNpbmNlIHRoZSBhYm92ZSBsZW5ndGggZmllbGQgaXMgYW4gdW5zaWduZWQgaW50 LCBiZWxvdyB3ZSBkZWZpbmUgdGhlIG1heGltdW0KKyAqIGxlbmd0aCBpbiBieXRlcyB0aGF0IGNh biBiZSBzdG9yZWQgaW4gb25lIHNjYXR0ZXJsaXN0IGVudHJ5LgorICovCisjZGVmaW5lIFNDQVRU RVJMSVNUX01BWF9TRUdNRU5UIChVSU5UX01BWCAmIFBBR0VfTUFTSykKKworLyoKICAqIFRoZXNl IG1hY3JvcyBzaG91bGQgYmUgdXNlZCBhZnRlciBhIGRtYV9tYXBfc2cgY2FsbCBoYXMgYmVlbiBk b25lCiAgKiB0byBnZXQgYnVzIGFkZHJlc3NlcyBvZiBlYWNoIG9mIHRoZSBTRyBlbnRyaWVzIGFu ZCB0aGVpciBsZW5ndGhzLgogICogWW91IHNob3VsZCBvbmx5IHdvcmsgd2l0aCB0aGUgbnVtYmVy IG9mIHNnIGVudHJpZXMgZG1hX21hcF9zZwpkaWZmIC0tZ2l0IGEvbGliL3NjYXR0ZXJsaXN0LmMg Yi9saWIvc2NhdHRlcmxpc3QuYwppbmRleCBkZWUwYzUwMDRlMmYuLjdiMmU3NGRhMmM0NCAxMDA2 NDQKLS0tIGEvbGliL3NjYXR0ZXJsaXN0LmMKKysrIGIvbGliL3NjYXR0ZXJsaXN0LmMKQEAgLTM5 NCwxNyArMzk0LDIyIEBAIGludCBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHN0cnVjdCBzZ190 YWJsZSAqc2d0LAogCXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKIAln ZnBfdCBnZnBfbWFzaykKIHsKLQl1bnNpZ25lZCBpbnQgY2h1bmtzOwotCXVuc2lnbmVkIGludCBp OwotCXVuc2lnbmVkIGludCBjdXJfcGFnZTsKKwljb25zdCB1bnNpZ25lZCBpbnQgbWF4X3NlZ21l bnQgPSBTQ0FUVEVSTElTVF9NQVhfU0VHTUVOVDsKKwl1bnNpZ25lZCBpbnQgY2h1bmtzLCBjdXJf cGFnZSwgc2VnX2xlbiwgaTsKIAlpbnQgcmV0OwogCXN0cnVjdCBzY2F0dGVybGlzdCAqczsKIAog CS8qIGNvbXB1dGUgbnVtYmVyIG9mIGNvbnRpZ3VvdXMgY2h1bmtzICovCiAJY2h1bmtzID0gMTsK LQlmb3IgKGkgPSAxOyBpIDwgbl9wYWdlczsgKytpKQotCQlpZiAocGFnZV90b19wZm4ocGFnZXNb aV0pICE9IHBhZ2VfdG9fcGZuKHBhZ2VzW2kgLSAxXSkgKyAxKQotCQkJKytjaHVua3M7CisJc2Vn X2xlbiA9IDA7CisJZm9yIChpID0gMTsgaSA8IG5fcGFnZXM7IGkrKykgeworCQlzZWdfbGVuICs9 IFBBR0VfU0laRTsKKwkJaWYgKHNlZ19sZW4gPj0gbWF4X3NlZ21lbnQgfHwKKwkJICAgIHBhZ2Vf dG9fcGZuKHBhZ2VzW2ldKSAhPSBwYWdlX3RvX3BmbihwYWdlc1tpIC0gMV0pICsgMSkgeworCQkJ Y2h1bmtzKys7CisJCQlzZWdfbGVuID0gMDsKKwkJfQorCX0KIAogCXJldCA9IHNnX2FsbG9jX3Rh YmxlKHNndCwgY2h1bmtzLCBnZnBfbWFzayk7CiAJaWYgKHVubGlrZWx5KHJldCkpCkBAIC00MTMs MTcgKzQxOCwyMSBAQCBpbnQgc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFi bGUgKnNndCwKIAkvKiBtZXJnaW5nIGNodW5rcyBhbmQgcHV0dGluZyB0aGVtIGludG8gdGhlIHNj YXR0ZXJsaXN0ICovCiAJY3VyX3BhZ2UgPSAwOwogCWZvcl9lYWNoX3NnKHNndC0+c2dsLCBzLCBz Z3QtPm9yaWdfbmVudHMsIGkpIHsKLQkJdW5zaWduZWQgbG9uZyBjaHVua19zaXplOwotCQl1bnNp Z25lZCBpbnQgajsKKwkJdW5zaWduZWQgaW50IGosIGNodW5rX3NpemU7CiAKIAkJLyogbG9vayBm b3IgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjaHVuayAqLwotCQlmb3IgKGogPSBjdXJfcGFnZSAr IDE7IGogPCBuX3BhZ2VzOyArK2opCi0JCQlpZiAocGFnZV90b19wZm4ocGFnZXNbal0pICE9CisJ CXNlZ19sZW4gPSAwOworCQlmb3IgKGogPSBjdXJfcGFnZSArIDE7IGogPCBuX3BhZ2VzOyBqKysp IHsKKwkJCXNlZ19sZW4gKz0gUEFHRV9TSVpFOworCQkJaWYgKHNlZ19sZW4gPj0gbWF4X3NlZ21l bnQgfHwKKwkJCSAgICBwYWdlX3RvX3BmbihwYWdlc1tqXSkgIT0KIAkJCSAgICBwYWdlX3RvX3Bm bihwYWdlc1tqIC0gMV0pICsgMSkKIAkJCQlicmVhazsKKwkJfQogCiAJCWNodW5rX3NpemUgPSAo KGogLSBjdXJfcGFnZSkgPDwgUEFHRV9TSElGVCkgLSBvZmZzZXQ7Ci0JCXNnX3NldF9wYWdlKHMs IHBhZ2VzW2N1cl9wYWdlXSwgbWluKHNpemUsIGNodW5rX3NpemUpLCBvZmZzZXQpOworCQlzZ19z ZXRfcGFnZShzLCBwYWdlc1tjdXJfcGFnZV0sCisJCQkgICAgbWluX3QodW5zaWduZWQgbG9uZywg c2l6ZSwgY2h1bmtfc2l6ZSksIG9mZnNldCk7CiAJCXNpemUgLT0gY2h1bmtfc2l6ZTsKIAkJb2Zm c2V0ID0gMDsKIAkJY3VyX3BhZ2UgPSBqOwotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=