From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/4] lib/scatterlist: Avoid potential scatterlist entry overflow Date: Mon, 16 Jan 2017 14:12:08 +0000 Message-ID: <1484575930-6810-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1484575930-6810-1-git-send-email-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-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4AA676E340 for ; Mon, 16 Jan 2017 14:12:23 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id c85so30921350wmi.1 for ; Mon, 16 Jan 2017 06:12:23 -0800 (PST) In-Reply-To: <1484575930-6810-1-git-send-email-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 cmlzQGNocmlzLXdpbHNvbi5jby51az4gKHYyKQpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMu bGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQW5keSBTaGV2Y2hlbmtvIDxhbmR5LnNoZXZj aGVua29AZ21haWwuY29tPgotLS0KIGluY2x1ZGUvbGludXgvc2NhdHRlcmxpc3QuaCB8ICA2ICsr KysrKwogbGliL3NjYXR0ZXJsaXN0LmMgICAgICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxMSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NjYXR0ZXJsaXN0LmggYi9pbmNs dWRlL2xpbnV4L3NjYXR0ZXJsaXN0LmgKaW5kZXggYzk4MWJlZTFhM2FlLi40NzY4ZWVlYjcwNTQg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2NhdHRlcmxpc3QuaAorKysgYi9pbmNsdWRlL2xp bnV4L3NjYXR0ZXJsaXN0LmgKQEAgLTIxLDYgKzIxLDEyIEBAIHN0cnVjdCBzY2F0dGVybGlzdCB7 CiB9OwogCiAvKgorICogU2luY2UgdGhlIGFib3ZlIGxlbmd0aCBmaWVsZCBpcyBhbiB1bnNpZ25l ZCBpbnQsIGJlbG93IHdlIGRlZmluZSB0aGUgbWF4aW11bQorICogbGVuZ3RoIGluIGJ5dGVzIHRo YXQgY2FuIGJlIHN0b3JlZCBpbiBvbmUgc2NhdHRlcmxpc3QgZW50cnkuCisgKi8KKyNkZWZpbmUg U0NBVFRFUkxJU1RfTUFYX1NFR01FTlQgKFVJTlRfTUFYICYgUEFHRV9NQVNLKQorCisvKgogICog VGhlc2UgbWFjcm9zIHNob3VsZCBiZSB1c2VkIGFmdGVyIGEgZG1hX21hcF9zZyBjYWxsIGhhcyBi ZWVuIGRvbmUKICAqIHRvIGdldCBidXMgYWRkcmVzc2VzIG9mIGVhY2ggb2YgdGhlIFNHIGVudHJp ZXMgYW5kIHRoZWlyIGxlbmd0aHMuCiAgKiBZb3Ugc2hvdWxkIG9ubHkgd29yayB3aXRoIHRoZSBu dW1iZXIgb2Ygc2cgZW50cmllcyBkbWFfbWFwX3NnCmRpZmYgLS1naXQgYS9saWIvc2NhdHRlcmxp c3QuYyBiL2xpYi9zY2F0dGVybGlzdC5jCmluZGV4IGUwNWU3ZmM5ODg5Mi4uNjVmMzc1NjQ1ZGY1 IDEwMDY0NAotLS0gYS9saWIvc2NhdHRlcmxpc3QuYworKysgYi9saWIvc2NhdHRlcmxpc3QuYwpA QCAtMzk0LDE3ICszOTQsMjIgQEAgaW50IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0 IHNnX3RhYmxlICpzZ3QsCiAJdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXpl LAogCWdmcF90IGdmcF9tYXNrKQogewotCXVuc2lnbmVkIGludCBjaHVua3M7Ci0JdW5zaWduZWQg aW50IGk7Ci0JdW5zaWduZWQgaW50IGN1cl9wYWdlOworCWNvbnN0IHVuc2lnbmVkIGludCBtYXhf c2VnbWVudCA9IFNDQVRURVJMSVNUX01BWF9TRUdNRU5UOworCXVuc2lnbmVkIGludCBjaHVua3Ms IGN1cl9wYWdlLCBzZWdfbGVuLCBpOwogCWludCByZXQ7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpz OwogCiAJLyogY29tcHV0ZSBudW1iZXIgb2YgY29udGlndW91cyBjaHVua3MgKi8KIAljaHVua3Mg PSAxOwotCWZvciAoaSA9IDE7IGkgPCBuX3BhZ2VzOyArK2kpCi0JCWlmIChwYWdlX3RvX3Bmbihw YWdlc1tpXSkgIT0gcGFnZV90b19wZm4ocGFnZXNbaSAtIDFdKSArIDEpCi0JCQkrK2NodW5rczsK KwlzZWdfbGVuID0gMDsKKwlmb3IgKGkgPSAxOyBpIDwgbl9wYWdlczsgaSsrKSB7CisJCXNlZ19s ZW4gKz0gUEFHRV9TSVpFOworCQlpZiAoc2VnX2xlbiA+PSBtYXhfc2VnbWVudCB8fAorCQkgICAg cGFnZV90b19wZm4ocGFnZXNbaV0pICE9IHBhZ2VfdG9fcGZuKHBhZ2VzW2kgLSAxXSkgKyAxKSB7 CisJCQljaHVua3MrKzsKKwkJCXNlZ19sZW4gPSAwOworCQl9CisJfQogCiAJcmV0ID0gc2dfYWxs b2NfdGFibGUoc2d0LCBjaHVua3MsIGdmcF9tYXNrKTsKIAlpZiAodW5saWtlbHkocmV0KSkKQEAg LTQxMywxNyArNDE4LDIxIEBAIGludCBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHN0cnVjdCBz Z190YWJsZSAqc2d0LAogCS8qIG1lcmdpbmcgY2h1bmtzIGFuZCBwdXR0aW5nIHRoZW0gaW50byB0 aGUgc2NhdHRlcmxpc3QgKi8KIAljdXJfcGFnZSA9IDA7CiAJZm9yX2VhY2hfc2coc2d0LT5zZ2ws IHMsIHNndC0+b3JpZ19uZW50cywgaSkgewotCQl1bnNpZ25lZCBsb25nIGNodW5rX3NpemU7Ci0J CXVuc2lnbmVkIGludCBqOworCQl1bnNpZ25lZCBpbnQgaiwgY2h1bmtfc2l6ZTsKIAogCQkvKiBs b29rIGZvciB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGNodW5rICovCi0JCWZvciAoaiA9IGN1cl9w YWdlICsgMTsgaiA8IG5fcGFnZXM7ICsraikKLQkJCWlmIChwYWdlX3RvX3BmbihwYWdlc1tqXSkg IT0KKwkJc2VnX2xlbiA9IDA7CisJCWZvciAoaiA9IGN1cl9wYWdlICsgMTsgaiA8IG5fcGFnZXM7 IGorKykgeworCQkJc2VnX2xlbiArPSBQQUdFX1NJWkU7CisJCQlpZiAoc2VnX2xlbiA+PSBtYXhf c2VnbWVudCB8fAorCQkJICAgIHBhZ2VfdG9fcGZuKHBhZ2VzW2pdKSAhPQogCQkJICAgIHBhZ2Vf dG9fcGZuKHBhZ2VzW2ogLSAxXSkgKyAxKQogCQkJCWJyZWFrOworCQl9CiAKIAkJY2h1bmtfc2l6 ZSA9ICgoaiAtIGN1cl9wYWdlKSA8PCBQQUdFX1NISUZUKSAtIG9mZnNldDsKLQkJc2dfc2V0X3Bh Z2UocywgcGFnZXNbY3VyX3BhZ2VdLCBtaW4oc2l6ZSwgY2h1bmtfc2l6ZSksIG9mZnNldCk7CisJ CXNnX3NldF9wYWdlKHMsIHBhZ2VzW2N1cl9wYWdlXSwKKwkJCSAgICBtaW5fdCh1bnNpZ25lZCBs b25nLCBzaXplLCBjaHVua19zaXplKSwgb2Zmc2V0KTsKIAkJc2l6ZSAtPSBjaHVua19zaXplOwog CQlvZmZzZXQgPSAwOwogCQljdXJfcGFnZSA9IGo7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==