From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm/i915: Hold request reference for submission until retirement Date: Thu, 31 May 2018 21:21:03 +0100 Message-ID: <20180531202103.11052-1-chris@chris-wilson.co.uk> References: <20180531185204.19520-12-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED5366E334 for ; Thu, 31 May 2018 20:21:15 +0000 (UTC) In-Reply-To: <20180531185204.19520-12-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHRoZSBhc3luYyBzdWJtaXNzaW9uIGJhY2tlbmRzIChndWMgYW5kIGV4ZWNsaXN0 cykgaG9sZCBhIGV4dHJhCnJlZmVyZW5jZSB0byB0aGUgcmVxdWVzdHMgYmVpbmcgcHJvY2Vzc2Vk IGFzIHRoZXkgYXJlIG5vdCBzZXJpYWxpc2VkIHdpdGgKcmVxdWVzdCByZXRpcmVtZW50LiBJZiB3 ZSBpbnN0ZWFkLCBwcmV2ZW50IHRoZSByZXF1ZXN0IGJlaW5nIGRyb3BwZWQKZnJvbSB0aGUgZW5n aW5lIHRpbWVsaW5lIHVudGlsIGFmdGVyIHN1Ym1pc3Npb24gaGFzIGZpbmlzaGVkIHByb2Nlc3Np bmcKdGhlIHJlcXVlc3QsIHdlIGNhbiB1c2UgYSBzaW5nbGUgcmVmZXJlbmNlIGhlbGQgZm9yIHRo ZSBlbnRpcmUKc3VibWlzc2lvbiBwcm9jZXNzIChjdXJyZW50bHksIGl0IGlzIGhlbGQgb25seSBm b3IgdGhlIHN1Ym1pc3Npb24KZmVuY2UpLgoKQnkgZG9pbmcgc28gd2UgcmVtb3ZlIGEgZmV3IGF0 b21pY3MgZnJvbSBpbnNpZGUgdGhlIGlycW9mZiBwYXRoLCBvbiB0aGUKb3JkZXIgb2YgMjAwbnMg YXMgbWVhc3VyZWQgYnkgZ2VtX3N5c2xhdGVuY3ksIGJyaW5naW5nIHRoZSBpbXBhY3Qgb2YKZGly ZWN0IHN1Ym1pc3Npb24gaW50byBsaW5lIHdpdGggdGhlIHByZXZpb3VzIHRhc2tsZXQgaW1wbGVt ZW50YXRpb24uClRoZSB0cmFkZW9mZiBpcyB0aGF0IGFzIHdlIG1heSBwb3N0cG9uZSB0aGUgcmV0 aXJlbWVudCwgd2UgaGF2ZSB0byBjaGVjawpmb3IgYW55IHJlc2lkdWFsIHJlcXVlc3RzIGFmdGVy IGRldGVjdGluZyB0aGF0IHRoZSBlbmdpbmVzIGFyZSBpZGxlLgoKdjI6IHN3aXRjaC10by1rZXJu ZWwtY29udGV4dCBuZWVkcyB0byBiZSBjb2duaXNhbnQgb2YgdGhlIGRlbGF5ZWQKcmVsZWFzZSBv biB0aGUgZW5naW5lLT50aW1lbGluZSBhZ2Fpbi4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51 cnN1bGluQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9jb250ZXh0LmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVz dC5jICAgICAgICAgfCAyMCArKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYyAgICAgIHwgNDIgKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jICAgICAgICAgICAgfCAxMCArLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgICB8ICA0ICstCiA2IGZpbGVzIGNoYW5nZWQsIDQ5IGlu c2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYwppbmRleCA5NGU0ZGIxODcwYWEuLmNmY2UyNTMxYzE5ZiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtNjQxLDcgKzY0MSw3IEBAIHN0YXRpYyBi b29sIGVuZ2luZV9oYXNfa2VybmVsX2NvbnRleHRfYmFycmllcihzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAJCXJldHVybiB0cnVlOwogCiAJLyogVGhlIGVuZ2luZSBpcyBpZGxlOyBj aGVjayB0aGF0IGl0IGlzIGlkbGluZyBpbiB0aGUga2VybmVsIGNvbnRleHQuICovCi0JcmV0dXJu IGVuZ2luZS0+bGFzdF9yZXRpcmVkX2NvbnRleHQgPT0gY2U7CisJcmV0dXJuIGludGVsX2VuZ2lu ZV9oYXNfa2VybmVsX2NvbnRleHQoZW5naW5lKTsKIH0KIAogaW50IGk5MTVfZ2VtX3N3aXRjaF90 b19rZXJuZWxfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMKaW5kZXggZjkxOTQyZTRkODUyLi4yY2ZhNmYzYTJmMTYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCkBAIC0zNDcsMTcgKzM0NywxNSBAQCBzdGF0 aWMgdm9pZCBmcmVlX2NhcHR1cmVfbGlzdChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQog c3RhdGljIHZvaWQgX19yZXRpcmVfZW5naW5lX3VwdG8oc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAogCQkJCSBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKKwlzdHJ1Y3QgbGlzdF9o ZWFkICogY29uc3QgcmVxdWVzdHMgPSAmZW5naW5lLT50aW1lbGluZS5yZXF1ZXN0czsKIAlzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICp0bXA7CiAKIAlpZiAobGlzdF9lbXB0eSgmcnEtPmxpbmspKQogCQly ZXR1cm47CiAKLQlkbyB7Ci0JCXRtcCA9IGxpc3RfZmlyc3RfZW50cnkoJmVuZ2luZS0+dGltZWxp bmUucmVxdWVzdHMsCi0JCQkJICAgICAgIHR5cGVvZigqdG1wKSwgbGluayk7Ci0KLQkJaW50ZWxf ZW5naW5lX3JldGlyZV9yZXF1ZXN0KGVuZ2luZSwgdG1wKTsKLQl9IHdoaWxlICh0bXAgIT0gcnEp OworCWRvCisJCXRtcCA9IGxpc3RfZmlyc3RfZW50cnkocmVxdWVzdHMsIHR5cGVvZigqdG1wKSwg bGluayk7CisJd2hpbGUgKGludGVsX2VuZ2luZV9yZXRpcmVfcmVxdWVzdChlbmdpbmUsIHRtcCkg JiYgdG1wICE9IHJxKTsKIH0KIAogc3RhdGljIHZvaWQgaTkxNV9yZXF1ZXN0X3JldGlyZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQpAQCAtMzc2LDYgKzM3NCw4IEBAIHN0YXRpYyB2b2lk IGk5MTVfcmVxdWVzdF9yZXRpcmUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKIAogCXRy YWNlX2k5MTVfcmVxdWVzdF9yZXRpcmUocmVxdWVzdCk7CiAKKwlfX3JldGlyZV9lbmdpbmVfdXB0 byhyZXF1ZXN0LT5lbmdpbmUsIHJlcXVlc3QpOworCiAJYWR2YW5jZV9yaW5nKHJlcXVlc3QpOwog CWZyZWVfY2FwdHVyZV9saXN0KHJlcXVlc3QpOwogCkBAIC00MTQsOCArNDE0LDYgQEAgc3RhdGlj IHZvaWQgaTkxNV9yZXF1ZXN0X3JldGlyZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQog CWF0b21pY19kZWNfaWZfcG9zaXRpdmUoJnJlcXVlc3QtPmdlbV9jb250ZXh0LT5iYW5fc2NvcmUp OwogCWludGVsX2NvbnRleHRfdW5waW4ocmVxdWVzdC0+aHdfY29udGV4dCk7CiAKLQlfX3JldGly ZV9lbmdpbmVfdXB0byhyZXF1ZXN0LT5lbmdpbmUsIHJlcXVlc3QpOwotCiAJdW5yZXNlcnZlX2d0 KHJlcXVlc3QtPmk5MTUpOwogCiAJaTkxNV9zY2hlZF9ub2RlX2ZpbmkocmVxdWVzdC0+aTkxNSwg JnJlcXVlc3QtPnNjaGVkKTsKQEAgLTcyMiw4ICs3MjAsMTAgQEAgaTkxNV9yZXF1ZXN0X2FsbG9j KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCkKIAkJICAgICAgIHJxLT50aW1lbGluZS0+ZmVuY2VfY29udGV4dCwKIAkJICAgICAgIHRp bWVsaW5lX2dldF9zZXFubyhycS0+dGltZWxpbmUpKTsKIAotCS8qIFdlIGJ1bXAgdGhlIHJlZiBm b3IgdGhlIGZlbmNlIGNoYWluICovCi0JaTkxNV9zd19mZW5jZV9pbml0KCZpOTE1X3JlcXVlc3Rf Z2V0KHJxKS0+c3VibWl0LCBzdWJtaXRfbm90aWZ5KTsKKwkvKiBXZSBidW1wIHRoZSByZWYgZm9y IHRoZSBmZW5jZSBjaGFpbiBhbmQgZm9yIHRoZSBzdWJtaXQgYmFja2VuZC4gKi8KKwlyZWZjb3Vu dF9zZXQoJnJxLT5mZW5jZS5yZWZjb3VudC5yZWZjb3VudCwgMyk7CisKKwlpOTE1X3N3X2ZlbmNl X2luaXQoJnJxLT5zdWJtaXQsIHN1Ym1pdF9ub3RpZnkpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQo JnJxLT5leGVjdXRlKTsKIAogCWk5MTVfc2NoZWRfbm9kZV9pbml0KCZycS0+c2NoZWQpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBjY2U3MjM0YjkwNzEuLjZmYTJl Zjg4NjJjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2Nz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTEwMzUs MTEgKzEwMzUsMTEgQEAgYm9vbCBpbnRlbF9lbmdpbmVzX2FyZV9pZGxlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKICAqIGV4ZWN1dGVkIGlmIHRoZSBlbmdpbmUgaXMgYWxyZWFk eSBpZGxlLCBpcyB0aGUga2VybmVsIGNvbnRleHQKICAqICgjaTkxNS5rZXJuZWxfY29udGV4dCku CiAgKi8KLWJvb2wgaW50ZWxfZW5naW5lX2hhc19rZXJuZWxfY29udGV4dChjb25zdCBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCitib29sIGludGVsX2VuZ2luZV9oYXNfa2VybmVsX2Nv bnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCWNvbnN0IHN0cnVjdCBp bnRlbF9jb250ZXh0ICprZXJuZWxfY29udGV4dCA9CiAJCXRvX2ludGVsX2NvbnRleHQoZW5naW5l LT5pOTE1LT5rZXJuZWxfY29udGV4dCwgZW5naW5lKTsKLQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpy cTsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqbGFzdDsKIAogCWxvY2tkZXBfYXNzZXJ0 X2hlbGQoJmVuZ2luZS0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKQEAgLTEwNDgsMTEgKzEw NDgsMTUgQEAgYm9vbCBpbnRlbF9lbmdpbmVfaGFzX2tlcm5lbF9jb250ZXh0KGNvbnN0IHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkgKiB0aGUgbGFzdCByZXF1ZXN0IHRoYXQgcmVt YWlucyBpbiB0aGUgdGltZWxpbmUuIFdoZW4gaWRsZSwgaXQgaXMKIAkgKiB0aGUgbGFzdCBleGVj dXRlZCBjb250ZXh0IGFzIHRyYWNrZWQgYnkgcmV0aXJlbWVudC4KIAkgKi8KLQlycSA9IF9faTkx NV9nZW1fYWN0aXZlX3BlZWsoJmVuZ2luZS0+dGltZWxpbmUubGFzdF9yZXF1ZXN0KTsKLQlpZiAo cnEpCi0JCXJldHVybiBycS0+aHdfY29udGV4dCA9PSBrZXJuZWxfY29udGV4dDsKLQllbHNlCi0J CXJldHVybiBlbmdpbmUtPmxhc3RfcmV0aXJlZF9jb250ZXh0ID09IGtlcm5lbF9jb250ZXh0Owor CWxhc3QgPSBlbmdpbmUtPmxhc3RfcmV0aXJlZF9jb250ZXh0OworCisJc3Bpbl9sb2NrX2lycSgm ZW5naW5lLT50aW1lbGluZS5sb2NrKTsKKwlpZiAoIWxpc3RfZW1wdHkoJmVuZ2luZS0+dGltZWxp bmUucmVxdWVzdHMpKQorCQlsYXN0ID0gbGlzdF9sYXN0X2VudHJ5KCZlbmdpbmUtPnRpbWVsaW5l LnJlcXVlc3RzLAorCQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0LCBsaW5rKS0+aHdfY29u dGV4dDsKKwlzcGluX3VubG9ja19pcnEoJmVuZ2luZS0+dGltZWxpbmUubG9jayk7CisKKwlyZXR1 cm4gbGFzdCA9PSBrZXJuZWxfY29udGV4dDsKIH0KIAogdm9pZCBpbnRlbF9lbmdpbmVzX3Jlc2V0 X2RlZmF1bHRfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKQEAgLTEw NzEsOCArMTA3NSwxMCBAQCB2b2lkIGludGVsX2VuZ2luZXNfcmVzZXRfZGVmYXVsdF9zdWJtaXNz aW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogICoKICAqIFRoaXMgcmVxdWVzdCBo YXMgYmVlbiBjb21wbGV0ZWQgYW5kIGlzIHBhcnQgb2YgdGhlIGNoYWluIGJlaW5nIHJldGlyZWQg YnkKICAqIHRoZSBjYWxsZXIsIHNvIGRyb3AgYW55IHJlZmVyZW5jZSB0byBpdCBmcm9tIHRoZSBl bmdpbmUuCisgKgorICogUmV0dXJuczogdHJ1ZSBpZiB0aGUgcmVmZXJlbmNlIHdhcyBkcm9wcGVk LCBmYWxzZSBpZiBpdCB3YXMgc3RpbGwgYnVzeS4KICAqLwotdm9pZCBpbnRlbF9lbmdpbmVfcmV0 aXJlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAorYm9vbCBpbnRlbF9l bmdpbmVfcmV0aXJlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQkJ CSBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAlHRU1fVFJBQ0UoIiVzKCVzKSBmZW5jZSAl bGx4OiVkLCBnbG9iYWw9JWQsIGN1cnJlbnQgJWRcbiIsCkBAIC0xMDg1LDYgKzEwOTEsMTAgQEAg dm9pZCBpbnRlbF9lbmdpbmVfcmV0aXJlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAogCUdFTV9CVUdfT04ocnEtPmVuZ2luZSAhPSBlbmdpbmUpOwogCUdFTV9CVUdfT04o IWk5MTVfcmVxdWVzdF9jb21wbGV0ZWQocnEpKTsKIAorCS8qIERvbid0IGRyb3AgdGhlIGZpbmFs IHJlZiB1bnRpbCBhZnRlciB0aGUgYmFja2VuZCBoYXMgZmluaXNoZWQgKi8KKwlpZiAocG9ydF9y ZXF1ZXN0KGVuZ2luZS0+ZXhlY2xpc3RzLnBvcnQpID09IHJxKQorCQlyZXR1cm4gZmFsc2U7CisK IAlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCiAJc3Bpbl9sb2NrKCZlbmdpbmUtPnRpbWVsaW5lLmxv Y2spOwpAQCAtMTExNiw2ICsxMTI2LDE5IEBAIHZvaWQgaW50ZWxfZW5naW5lX3JldGlyZV9yZXF1 ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAlpZiAoZW5naW5lLT5sYXN0X3Jl dGlyZWRfY29udGV4dCkKIAkJaW50ZWxfY29udGV4dF91bnBpbihlbmdpbmUtPmxhc3RfcmV0aXJl ZF9jb250ZXh0KTsKIAllbmdpbmUtPmxhc3RfcmV0aXJlZF9jb250ZXh0ID0gcnEtPmh3X2NvbnRl eHQ7CisKKwlpOTE1X3JlcXVlc3RfcHV0KHJxKTsKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGlj IHZvaWQgZW5naW5lX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCit7CisJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsICpuZXh0OworCisJbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKHJxLCBuZXh0LCAmZW5naW5lLT50aW1lbGluZS5yZXF1ZXN0cywgbGluaykg eworCQlpZiAoV0FSTl9PTighaW50ZWxfZW5naW5lX3JldGlyZV9yZXF1ZXN0KGVuZ2luZSwgcnEp KSkKKwkJCWJyZWFrOworCX0KIH0KIAogLyoqCkBAIC0xMTQ4LDYgKzExNzEsNyBAQCB2b2lkIGlu dGVsX2VuZ2luZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJCQkiJXMg aXMgbm90IGlkbGUgYmVmb3JlIHBhcmtpbmdcbiIsCiAJCQkJZW5naW5lLT5uYW1lKTsKIAkJCWlu dGVsX2VuZ2luZV9kdW1wKGVuZ2luZSwgJnAsIE5VTEwpOworCQkJZW5naW5lLT5jYW5jZWxfcmVx dWVzdHMoZW5naW5lKTsKIAkJfQogCiAJCS8qIE11c3QgYmUgcmVzZXQgdXBvbiBpZGxpbmcsIG9y IHdlIG1heSBtaXNzIHRoZSBidXN5IHdha2V1cC4gKi8KQEAgLTExNTYsNiArMTE4MCw4IEBAIHZv aWQgaW50ZWxfZW5naW5lc19wYXJrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCQlp ZiAoZW5naW5lLT5wYXJrKQogCQkJZW5naW5lLT5wYXJrKGVuZ2luZSk7CiAKKwkJZW5naW5lX3Jl dGlyZV9yZXF1ZXN0cyhlbmdpbmUpOworCiAJCWlmIChlbmdpbmUtPnBpbm5lZF9kZWZhdWx0X3N0 YXRlKSB7CiAJCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKGVuZ2luZS0+ZGVmYXVsdF9zdGF0 ZSk7CiAJCQllbmdpbmUtPnBpbm5lZF9kZWZhdWx0X3N0YXRlID0gTlVMTDsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCmluZGV4IDEzMzM2N2ExNzg2My4uNmY2 MjIzNjQ0MTQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3Vi bWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9u LmMKQEAgLTY2OSw4ICs2NjksNyBAQCBzdGF0aWMgdm9pZCBndWNfc3VibWl0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIHN0YXRpYyB2b2lkIHBvcnRfYXNzaWduKHN0cnVjdCBleGVj bGlzdF9wb3J0ICpwb3J0LCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAlHRU1fQlVHX09O KHBvcnRfaXNzZXQocG9ydCkpOwotCi0JcG9ydF9zZXQocG9ydCwgaTkxNV9yZXF1ZXN0X2dldChy cSkpOworCXBvcnRfc2V0KHBvcnQsIHJxKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcnFfcHJp byhjb25zdCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKQEAgLTc5Myw3ICs3OTIsNiBAQCBzdGF0 aWMgdm9pZCBndWNfc3VibWlzc2lvbl90YXNrbGV0KHVuc2lnbmVkIGxvbmcgZGF0YSkKIAlycSA9 IHBvcnRfcmVxdWVzdChwb3J0KTsKIAl3aGlsZSAocnEgJiYgaTkxNV9yZXF1ZXN0X2NvbXBsZXRl ZChycSkpIHsKIAkJdHJhY2VfaTkxNV9yZXF1ZXN0X291dChycSk7Ci0JCWk5MTVfcmVxdWVzdF9w dXQocnEpOwogCiAJCXBvcnQgPSBleGVjbGlzdHNfcG9ydF9jb21wbGV0ZShleGVjbGlzdHMsIHBv cnQpOwogCQlpZiAocG9ydF9pc3NldChwb3J0KSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpp bmRleCA0NmU4ZDI5YWNmNWYuLmQ1MTkyMzEyMDBkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKQEAgLTUxMywxMSArNTEzLDcgQEAgc3RhdGljIGJvb2wgY2FuX21lcmdlX2N0eChjb25zdCBz dHJ1Y3QgaW50ZWxfY29udGV4dCAqcHJldiwKIHN0YXRpYyB2b2lkIHBvcnRfYXNzaWduKHN0cnVj dCBleGVjbGlzdF9wb3J0ICpwb3J0LCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAlHRU1f QlVHX09OKHJxID09IHBvcnRfcmVxdWVzdChwb3J0KSk7Ci0KLQlpZiAocG9ydF9pc3NldChwb3J0 KSkKLQkJaTkxNV9yZXF1ZXN0X3B1dChwb3J0X3JlcXVlc3QocG9ydCkpOwotCi0JcG9ydF9zZXQo cG9ydCwgcG9ydF9wYWNrKGk5MTVfcmVxdWVzdF9nZXQocnEpLCBwb3J0X2NvdW50KHBvcnQpKSk7 CisJcG9ydF9zZXQocG9ydCwgcG9ydF9wYWNrKHJxLCBwb3J0X2NvdW50KHBvcnQpKSk7CiB9CiAK IHN0YXRpYyB2b2lkIGluamVjdF9wcmVlbXB0X2NvbnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQpAQCAtNzkzLDggKzc4OSw2IEBAIGV4ZWNsaXN0c19jYW5jZWxfcG9ydF9yZXF1 ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cykKIAkJ CQkJICAgICAgIElOVEVMX0NPTlRFWFRfU0NIRURVTEVfT1VUIDoKIAkJCQkJICAgICAgIElOVEVM X0NPTlRFWFRfU0NIRURVTEVfUFJFRU1QVEVEKTsKIAotCQlpOTE1X3JlcXVlc3RfcHV0KHJxKTsK LQogCQltZW1zZXQocG9ydCwgMCwgc2l6ZW9mKCpwb3J0KSk7CiAJCXBvcnQrKzsKIAl9CkBAIC0x MDYxLDggKzEwNTUsNiBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX2NzYihzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiAKIAkJCWV4ZWNsaXN0c19jb250ZXh0X3NjaGVkdWxlX291dChycSwK IAkJCQkJCSAgICAgICBJTlRFTF9DT05URVhUX1NDSEVEVUxFX09VVCk7Ci0JCQlpOTE1X3JlcXVl c3RfcHV0KHJxKTsKLQogCQkJR0VNX1RSQUNFKCIlcyBjb21wbGV0ZWQgY3R4PSVkXG4iLAogCQkJ CSAgZW5naW5lLT5uYW1lLCBwb3J0LT5jb250ZXh0X2lkKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IGJkMDA2NzA0NzA0NC4uMzI2NWUyY2EwNDdkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC04ODgsNyArODg4LDcgQEAg aW50IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSk7CiBpbnQgaW50ZWxfaW5pdF9ibHRfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKTsKIGludCBpbnRlbF9pbml0X3ZlYm94X3JpbmdfYnVmZmVyKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiAKLXZvaWQgaW50ZWxfZW5naW5lX3JldGlyZV9yZXF1 ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKK2Jvb2wgaW50ZWxfZW5naW5lX3Jl dGlyZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCQkgc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnEpOwogaW50IGludGVsX2VuZ2luZV9zdG9wX2NzKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7CiAKQEAgLTEwNjQsNyArMTA2NCw3IEBAIGdlbjhfZW1pdF9n Z3R0X3dyaXRlKHUzMiAqY3MsIHUzMiB2YWx1ZSwgdTMyIGd0dF9vZmZzZXQpCiBib29sIGludGVs X2VuZ2luZV9pc19pZGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiBib29sIGlu dGVsX2VuZ2luZXNfYXJlX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK IAotYm9vbCBpbnRlbF9lbmdpbmVfaGFzX2tlcm5lbF9jb250ZXh0KGNvbnN0IHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7Citib29sIGludGVsX2VuZ2luZV9oYXNfa2VybmVsX2NvbnRl eHQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKIHZvaWQgaW50ZWxfZW5naW5lX2xv c3RfY29udGV4dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwogCiB2b2lkIGludGVs X2VuZ2luZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Ci0tIAoyLjE3LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=