From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 2/3] drm/i915: Rename priotree to sched Date: Tue, 17 Apr 2018 15:31:31 +0100 Message-ID: <20180417143132.10647-2-chris@chris-wilson.co.uk> References: <20180417143132.10647-1-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 90A026E497 for ; Tue, 17 Apr 2018 14:31:52 +0000 (UTC) In-Reply-To: <20180417143132.10647-1-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 SGF2aW5nIG1vdmVkIHRoZSBwcmlvdHJlZSBzdHJ1Y3QgaW50byBpOTE1X3NjaGVkdWxlci5oLCBp ZGVudGlmeSBpdCBhcwp0aGUgc2NoZWR1bGluZyBlbGVtZW50IGFuZCByZWJyYW5kIGludG8gaTkx NV9zY2hlZC4gVGhpcyBiZWNvbWVzIG1vcmUKdXNlZnVsIGFzIHdlIHN0YXJ0IGF0dGFjaGluZyBt b3JlIGluZm9ybWF0aW9uIHdlIHJlcXVpcmUgdG8gcHJvcGFnYXRlCnRocm91Z2ggdGhlIHNjaGVk dWxlci4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgICAgICAgICB8IDQ0ICsr KysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmggICAgICAgICB8 ICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oICAgICAgIHwgIDQg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICAgICAgfCAgNCArLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYyB8ICA4ICstLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICB8IDc3ICsrKysrKysrKysr LS0tLS0tLS0tLQogNyBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCBlZmZhZjk4MmIx OWIuLjZiNWI5YjNkZWQwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n cHVfZXJyb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCkBA IC0xMjc4LDcgKzEyNzgsNyBAQCBzdGF0aWMgdm9pZCByZWNvcmRfcmVxdWVzdChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpyZXF1ZXN0LAogCQkJICAgc3RydWN0IGRybV9pOTE1X2Vycm9yX3JlcXVlc3Qg KmVycSkKIHsKIAllcnEtPmNvbnRleHQgPSByZXF1ZXN0LT5jdHgtPmh3X2lkOwotCWVycS0+cHJp b3JpdHkgPSByZXF1ZXN0LT5wcmlvdHJlZS5wcmlvcml0eTsKKwllcnEtPnByaW9yaXR5ID0gcmVx dWVzdC0+c2NoZWQucHJpb3JpdHk7CiAJZXJxLT5iYW5fc2NvcmUgPSBhdG9taWNfcmVhZCgmcmVx dWVzdC0+Y3R4LT5iYW5fc2NvcmUpOwogCWVycS0+c2Vxbm8gPSByZXF1ZXN0LT5nbG9iYWxfc2Vx bm87CiAJZXJxLT5qaWZmaWVzID0gcmVxdWVzdC0+ZW1pdHRlZF9qaWZmaWVzOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlcXVlc3QuYwppbmRleCA5Y2E5YzI0YjQ0MjEuLjA5MzljMTIwYjgyYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTEyNSwxMCArMTI1LDEwIEBAIGk5MTVf ZGVwZW5kZW5jeV9mcmVlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogfQogCiBzdGF0 aWMgdm9pZAotX19pOTE1X3ByaW90cmVlX2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBpOTE1X3ByaW90 cmVlICpwdCwKLQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9wcmlvdHJlZSAqc2lnbmFsLAotCQkJICAg ICAgIHN0cnVjdCBpOTE1X2RlcGVuZGVuY3kgKmRlcCwKLQkJCSAgICAgICB1bnNpZ25lZCBsb25n IGZsYWdzKQorX19pOTE1X3NjaGVkX2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBpOTE1X3NjaGVkICpw dCwKKwkJCSAgICBzdHJ1Y3QgaTkxNV9zY2hlZCAqc2lnbmFsLAorCQkJICAgIHN0cnVjdCBpOTE1 X2RlcGVuZGVuY3kgKmRlcCwKKwkJCSAgICB1bnNpZ25lZCBsb25nIGZsYWdzKQogewogCUlOSVRf TElTVF9IRUFEKCZkZXAtPmRmc19saW5rKTsKIAlsaXN0X2FkZCgmZGVwLT53YWl0X2xpbmssICZz aWduYWwtPndhaXRlcnNfbGlzdCk7CkBAIC0xMzgsOSArMTM4LDkgQEAgX19pOTE1X3ByaW90cmVl X2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCwKIH0KIAogc3RhdGljIGlu dAotaTkxNV9wcmlvdHJlZV9hZGRfZGVwZW5kZW5jeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKLQkJCSAgICAgc3RydWN0IGk5MTVfcHJpb3RyZWUgKnB0LAotCQkJICAgICBzdHJ1Y3Qg aTkxNV9wcmlvdHJlZSAqc2lnbmFsKQoraTkxNV9zY2hlZF9hZGRfZGVwZW5kZW5jeShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCSAgc3RydWN0IGk5MTVfc2NoZWQgKnB0LAorCQkJ ICBzdHJ1Y3QgaTkxNV9zY2hlZCAqc2lnbmFsKQogewogCXN0cnVjdCBpOTE1X2RlcGVuZGVuY3kg KmRlcDsKIApAQCAtMTQ4LDEyICsxNDgsMTIgQEAgaTkxNV9wcmlvdHJlZV9hZGRfZGVwZW5kZW5j eShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlpZiAoIWRlcCkKIAkJcmV0dXJuIC1F Tk9NRU07CiAKLQlfX2k5MTVfcHJpb3RyZWVfYWRkX2RlcGVuZGVuY3kocHQsIHNpZ25hbCwgZGVw LCBJOTE1X0RFUEVOREVOQ1lfQUxMT0MpOworCV9faTkxNV9zY2hlZF9hZGRfZGVwZW5kZW5jeShw dCwgc2lnbmFsLCBkZXAsIEk5MTVfREVQRU5ERU5DWV9BTExPQyk7CiAJcmV0dXJuIDA7CiB9CiAK IHN0YXRpYyB2b2lkCi1pOTE1X3ByaW90cmVlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsIHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCkKK2k5MTVfc2NoZWRfZmluaShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5MTVfc2NoZWQgKnB0KQogewogCXN0cnVj dCBpOTE1X2RlcGVuZGVuY3kgKmRlcCwgKm5leHQ7CiAKQEAgLTE2Niw3ICsxNjYsNyBAQCBpOTE1 X3ByaW90cmVlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1 X3ByaW90cmVlICpwdCkKIAkgKiBzbyB3ZSBtYXkgYmUgY2FsbGVkIG91dC1vZi1vcmRlci4KIAkg Ki8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZGVwLCBuZXh0LCAmcHQtPnNpZ25hbGVyc19s aXN0LCBzaWduYWxfbGluaykgewotCQlHRU1fQlVHX09OKCFpOTE1X3ByaW90cmVlX3NpZ25hbGVk KGRlcC0+c2lnbmFsZXIpKTsKKwkJR0VNX0JVR19PTighaTkxNV9zY2hlZF9zaWduYWxlZChkZXAt PnNpZ25hbGVyKSk7CiAJCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJmRlcC0+ZGZzX2xpbmspKTsK IAogCQlsaXN0X2RlbCgmZGVwLT53YWl0X2xpbmspOwpAQCAtMTg2LDcgKzE4Niw3IEBAIGk5MTVf cHJpb3RyZWVfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5MTVf cHJpb3RyZWUgKnB0KQogfQogCiBzdGF0aWMgdm9pZAotaTkxNV9wcmlvdHJlZV9pbml0KHN0cnVj dCBpOTE1X3ByaW90cmVlICpwdCkKK2k5MTVfc2NoZWRfaW5pdChzdHJ1Y3QgaTkxNV9zY2hlZCAq cHQpCiB7CiAJSU5JVF9MSVNUX0hFQUQoJnB0LT5zaWduYWxlcnNfbGlzdCk7CiAJSU5JVF9MSVNU X0hFQUQoJnB0LT53YWl0ZXJzX2xpc3QpOwpAQCAtNDIyLDcgKzQyMiw3IEBAIHN0YXRpYyB2b2lk IGk5MTVfcmVxdWVzdF9yZXRpcmUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKIAl9CiAJ c3Bpbl91bmxvY2tfaXJxKCZyZXF1ZXN0LT5sb2NrKTsKIAotCWk5MTVfcHJpb3RyZWVfZmluaShy ZXF1ZXN0LT5pOTE1LCAmcmVxdWVzdC0+cHJpb3RyZWUpOworCWk5MTVfc2NoZWRfZmluaShyZXF1 ZXN0LT5pOTE1LCAmcmVxdWVzdC0+c2NoZWQpOwogCWk5MTVfcmVxdWVzdF9wdXQocmVxdWVzdCk7 CiB9CiAKQEAgLTcyNSw3ICs3MjUsNyBAQCBpOTE1X3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQogCWk5MTVf c3dfZmVuY2VfaW5pdCgmaTkxNV9yZXF1ZXN0X2dldChycSktPnN1Ym1pdCwgc3VibWl0X25vdGlm eSk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcnEtPmV4ZWN1dGUpOwogCi0JaTkxNV9wcmlvdHJl ZV9pbml0KCZycS0+cHJpb3RyZWUpOworCWk5MTVfc2NoZWRfaW5pdCgmcnEtPnNjaGVkKTsKIAog CUlOSVRfTElTVF9IRUFEKCZycS0+YWN0aXZlX2xpc3QpOwogCXJxLT5pOTE1ID0gaTkxNTsKQEAg LTc3Nyw4ICs3NzcsOCBAQCBpOTE1X3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQogCiAJLyogTWFrZSBzdXJl IHdlIGRpZG4ndCBhZGQgb3Vyc2VsdmVzIHRvIGV4dGVybmFsIHN0YXRlIGJlZm9yZSBmcmVlaW5n ICovCiAJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmcnEtPmFjdGl2ZV9saXN0KSk7Ci0JR0VNX0JV R19PTighbGlzdF9lbXB0eSgmcnEtPnByaW90cmVlLnNpZ25hbGVyc19saXN0KSk7Ci0JR0VNX0JV R19PTighbGlzdF9lbXB0eSgmcnEtPnByaW90cmVlLndhaXRlcnNfbGlzdCkpOworCUdFTV9CVUdf T04oIWxpc3RfZW1wdHkoJnJxLT5zY2hlZC5zaWduYWxlcnNfbGlzdCkpOworCUdFTV9CVUdfT04o IWxpc3RfZW1wdHkoJnJxLT5zY2hlZC53YWl0ZXJzX2xpc3QpKTsKIAogCWttZW1fY2FjaGVfZnJl ZShpOTE1LT5yZXF1ZXN0cywgcnEpOwogZXJyX3VucmVzZXJ2ZToKQEAgLTgwMCw5ICs4MDAsOSBA QCBpOTE1X3JlcXVlc3RfYXdhaXRfcmVxdWVzdChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywgc3Ry dWN0IGk5MTVfcmVxdWVzdCAqZnJvbSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAodG8tPmVuZ2luZS0+ c2NoZWR1bGUpIHsKLQkJcmV0ID0gaTkxNV9wcmlvdHJlZV9hZGRfZGVwZW5kZW5jeSh0by0+aTkx NSwKLQkJCQkJCSAgICZ0by0+cHJpb3RyZWUsCi0JCQkJCQkgICAmZnJvbS0+cHJpb3RyZWUpOwor CQlyZXQgPSBpOTE1X3NjaGVkX2FkZF9kZXBlbmRlbmN5KHRvLT5pOTE1LAorCQkJCQkJJnRvLT5z Y2hlZCwKKwkJCQkJCSZmcm9tLT5zY2hlZCk7CiAJCWlmIChyZXQgPCAwKQogCQkJcmV0dXJuIHJl dDsKIAl9CkBAIC0xMDMzLDEwICsxMDMzLDEwIEBAIHZvaWQgX19pOTE1X3JlcXVlc3RfYWRkKHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsIGJvb2wgZmx1c2hfY2FjaGVzKQogCQlpOTE1X3N3 X2ZlbmNlX2F3YWl0X3N3X2ZlbmNlKCZyZXF1ZXN0LT5zdWJtaXQsICZwcmV2LT5zdWJtaXQsCiAJ CQkJCSAgICAgJnJlcXVlc3QtPnN1Ym1pdHEpOwogCQlpZiAoZW5naW5lLT5zY2hlZHVsZSkKLQkJ CV9faTkxNV9wcmlvdHJlZV9hZGRfZGVwZW5kZW5jeSgmcmVxdWVzdC0+cHJpb3RyZWUsCi0JCQkJ CQkgICAgICAgJnByZXYtPnByaW90cmVlLAotCQkJCQkJICAgICAgICZyZXF1ZXN0LT5kZXAsCi0J CQkJCQkgICAgICAgMCk7CisJCQlfX2k5MTVfc2NoZWRfYWRkX2RlcGVuZGVuY3koJnJlcXVlc3Qt PnNjaGVkLAorCQkJCQkJICAgICZwcmV2LT5zY2hlZCwKKwkJCQkJCSAgICAmcmVxdWVzdC0+ZGVw LAorCQkJCQkJICAgIDApOwogCX0KIAogCXNwaW5fbG9ja19pcnEoJnRpbWVsaW5lLT5sb2NrKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKaW5kZXggZTZmN2M1ZjRlYzdmLi41ZDY2MTlh MjQ1YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oCkBAIC0xMTcsNyArMTE3LDcg QEAgc3RydWN0IGk5MTVfcmVxdWVzdCB7CiAJICogdG8gcmV0aXJlbWVudCksIGkuZS4gYmlkaXJl Y3Rpb25hbCBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIGZvciB0aGUKIAkgKiByZXF1ZXN0IG5vdCB0 aWVkIHRvIGluZGl2aWR1YWwgZmVuY2VzLgogCSAqLwotCXN0cnVjdCBpOTE1X3ByaW90cmVlIHBy aW90cmVlOworCXN0cnVjdCBpOTE1X3NjaGVkIHNjaGVkOwogCXN0cnVjdCBpOTE1X2RlcGVuZGVu Y3kgZGVwOwogCiAJLyoqCkBAIC0zMDYsMTAgKzMwNiwxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wg aTkxNV9yZXF1ZXN0X3N0YXJ0ZWQoY29uc3Qgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAJCQkJ IHNlcW5vIC0gMSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3ByaW90cmVlX3NpZ25h bGVkKGNvbnN0IHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBp OTE1X3NjaGVkX3NpZ25hbGVkKGNvbnN0IHN0cnVjdCBpOTE1X3NjaGVkICpwdCkKIHsKIAljb25z dCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSA9Ci0JCWNvbnRhaW5lcl9vZihwdCwgY29uc3Qgc3Ry dWN0IGk5MTVfcmVxdWVzdCwgcHJpb3RyZWUpOworCQljb250YWluZXJfb2YocHQsIGNvbnN0IHN0 cnVjdCBpOTE1X3JlcXVlc3QsIHNjaGVkKTsKIAogCXJldHVybiBpOTE1X3JlcXVlc3RfY29tcGxl dGVkKHJxKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCmluZGV4IGJkNTg4 ZjA2Y2UyMy4uYjM0ZmNhM2JhMTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3NjaGVkdWxlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVy LmgKQEAgLTMzLDcgKzMzLDcgQEAgZW51bSB7CiAgKiBhdCB2YXJpb3VzIHBvaW50cyB0byByZW9y ZGVyIHRoZSByZXF1ZXN0cyB3aGlsc3Qga2VlcGluZyB0aGUgcmVxdWVzdHMKICAqIGluIG9yZGVy IHdpdGggcmVzcGVjdCB0byB0aGVpciB2YXJpb3VzIGRlcGVuZGVuY2llcy4KICAqLwotc3RydWN0 IGk5MTVfcHJpb3RyZWUgeworc3RydWN0IGk5MTVfc2NoZWQgewogCXN0cnVjdCBsaXN0X2hlYWQg c2lnbmFsZXJzX2xpc3Q7IC8qIHRob3NlIGJlZm9yZSB1cywgd2UgZGVwZW5kIHVwb24gKi8KIAlz dHJ1Y3QgbGlzdF9oZWFkIHdhaXRlcnNfbGlzdDsgLyogdGhvc2UgYWZ0ZXIgdXMsIHRoZXkgZGVw ZW5kIHVwb24gdXMgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CkBAIC00MSw3ICs0MSw3IEBA IHN0cnVjdCBpOTE1X3ByaW90cmVlIHsKIH07CiAKIHN0cnVjdCBpOTE1X2RlcGVuZGVuY3kgewot CXN0cnVjdCBpOTE1X3ByaW90cmVlICpzaWduYWxlcjsKKwlzdHJ1Y3QgaTkxNV9zY2hlZCAqc2ln bmFsZXI7CiAJc3RydWN0IGxpc3RfaGVhZCBzaWduYWxfbGluazsKIAlzdHJ1Y3QgbGlzdF9oZWFk IHdhaXRfbGluazsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGRmc19saW5rOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCAxYTgzNzA3NzliYmIuLmI1NDJiMWE0ZGRkYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTExMjMsNyArMTEyMyw3IEBA IHN0YXRpYyB2b2lkIHByaW50X3JlcXVlc3Qoc3RydWN0IGRybV9wcmludGVyICptLAogCQkgICBy cS0+Z2xvYmFsX3NlcW5vLAogCQkgICBpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJxKSA/ICIhIiA6 ICIiLAogCQkgICBycS0+ZmVuY2UuY29udGV4dCwgcnEtPmZlbmNlLnNlcW5vLAotCQkgICBycS0+ cHJpb3RyZWUucHJpb3JpdHksCisJCSAgIHJxLT5zY2hlZC5wcmlvcml0eSwKIAkJICAgamlmZmll c190b19tc2VjcyhqaWZmaWVzIC0gcnEtPmVtaXR0ZWRfamlmZmllcyksCiAJCSAgIG5hbWUpOwog fQpAQCAtMTM2Nyw3ICsxMzY3LDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVfZHVtcChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCXN0cnVjdCBpOTE1X3ByaW9saXN0ICpwID0KIAkJCXJi X2VudHJ5KHJiLCB0eXBlb2YoKnApLCBub2RlKTsKIAotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJx LCAmcC0+cmVxdWVzdHMsIHByaW90cmVlLmxpbmspCisJCWxpc3RfZm9yX2VhY2hfZW50cnkocnEs ICZwLT5yZXF1ZXN0cywgc2NoZWQubGluaykKIAkJCXByaW50X3JlcXVlc3QobSwgcnEsICJcdFx0 USAiKTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCmluZGV4IDk3MTIxMjMw NjU2Yy4uMDc1NWY1Y2FlOTUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19z dWJtaXNzaW9uLmMKQEAgLTY1OSw3ICs2NTksNyBAQCBzdGF0aWMgdm9pZCBwb3J0X2Fzc2lnbihz dHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCwgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAKIHN0 YXRpYyBpbmxpbmUgaW50IHJxX3ByaW8oY29uc3Qgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiB7 Ci0JcmV0dXJuIHJxLT5wcmlvdHJlZS5wcmlvcml0eTsKKwlyZXR1cm4gcnEtPnNjaGVkLnByaW9y aXR5OwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwb3J0X3ByaW8oY29uc3Qgc3RydWN0IGV4ZWNs aXN0X3BvcnQgKnBvcnQpCkBAIC03MDYsMTEgKzcwNiwxMSBAQCBzdGF0aWMgdm9pZCBndWNfZGVx dWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCXN0cnVjdCBpOTE1X3ByaW9s aXN0ICpwID0gdG9fcHJpb2xpc3QocmIpOwogCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgKnJu OwogCi0JCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShycSwgcm4sICZwLT5yZXF1ZXN0cywgcHJp b3RyZWUubGluaykgeworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocnEsIHJuLCAmcC0+cmVx dWVzdHMsIHNjaGVkLmxpbmspIHsKIAkJCWlmIChsYXN0ICYmIHJxLT5jdHggIT0gbGFzdC0+Y3R4 KSB7CiAJCQkJaWYgKHBvcnQgPT0gbGFzdF9wb3J0KSB7CiAJCQkJCV9fbGlzdF9kZWxfbWFueSgm cC0+cmVxdWVzdHMsCi0JCQkJCQkJJnJxLT5wcmlvdHJlZS5saW5rKTsKKwkJCQkJCQkmcnEtPnNj aGVkLmxpbmspOwogCQkJCQlnb3RvIGRvbmU7CiAJCQkJfQogCkBAIC03MTksNyArNzE5LDcgQEAg c3RhdGljIHZvaWQgZ3VjX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog CQkJCXBvcnQrKzsKIAkJCX0KIAotCQkJSU5JVF9MSVNUX0hFQUQoJnJxLT5wcmlvdHJlZS5saW5r KTsKKwkJCUlOSVRfTElTVF9IRUFEKCZycS0+c2NoZWQubGluayk7CiAKIAkJCV9faTkxNV9yZXF1 ZXN0X3N1Ym1pdChycSk7CiAJCQl0cmFjZV9pOTE1X3JlcXVlc3RfaW4ocnEsIHBvcnRfaW5kZXgo cG9ydCwgZXhlY2xpc3RzKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDRmNzI4NTg3 YTc1Ni4uMDFmMzU2Y2IzZTI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTc3LDcg KzE3Nyw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGk5MTVfcHJpb2xpc3QgKnRvX3ByaW9saXN0 KHN0cnVjdCByYl9ub2RlICpyYikKIAogc3RhdGljIGlubGluZSBpbnQgcnFfcHJpbyhjb25zdCBz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKLQlyZXR1cm4gcnEtPnByaW90cmVlLnByaW9yaXR5 OworCXJldHVybiBycS0+c2NoZWQucHJpb3JpdHk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBu ZWVkX3ByZWVtcHQoY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLApAQCAtMjU4 LDcgKzI1OCw3IEBAIGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcl91cGRhdGUoc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAogc3RhdGljIHN0cnVjdCBpOTE1X3ByaW9saXN0ICoKIGxv b2t1cF9wcmlvbGlzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCi0JCXN0cnVjdCBp OTE1X3ByaW90cmVlICpwdCwKKwkJc3RydWN0IGk5MTVfc2NoZWQgKnNjaGVkLAogCQlpbnQgcHJp bykKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cyA9 ICZlbmdpbmUtPmV4ZWNsaXN0czsKQEAgLTM0NCwxMCArMzQ0LDEwIEBAIHN0YXRpYyB2b2lkIF9f dW53aW5kX2luY29tcGxldGVfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQogCQlHRU1fQlVHX09OKHJxX3ByaW8ocnEpID09IEk5MTVfUFJJT1JJVFlfSU5WQUxJRCk7CiAJ CWlmIChycV9wcmlvKHJxKSAhPSBsYXN0X3ByaW8pIHsKIAkJCWxhc3RfcHJpbyA9IHJxX3ByaW8o cnEpOwotCQkJcCA9IGxvb2t1cF9wcmlvbGlzdChlbmdpbmUsICZycS0+cHJpb3RyZWUsIGxhc3Rf cHJpbyk7CisJCQlwID0gbG9va3VwX3ByaW9saXN0KGVuZ2luZSwgJnJxLT5zY2hlZCwgbGFzdF9w cmlvKTsKIAkJfQogCi0JCWxpc3RfYWRkKCZycS0+cHJpb3RyZWUubGluaywgJnAtPnJlcXVlc3Rz KTsKKwkJbGlzdF9hZGQoJnJxLT5zY2hlZC5saW5rLCAmcC0+cmVxdWVzdHMpOwogCX0KIH0KIApA QCAtNjU0LDcgKzY1NCw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJc3RydWN0IGk5MTVfcHJpb2xpc3QgKnAgPSB0b19w cmlvbGlzdChyYik7CiAJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCAqcm47CiAKLQkJbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKHJxLCBybiwgJnAtPnJlcXVlc3RzLCBwcmlvdHJlZS5saW5rKSB7 CisJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShycSwgcm4sICZwLT5yZXF1ZXN0cywgc2NoZWQu bGluaykgewogCQkJLyoKIAkJCSAqIENhbiB3ZSBjb21iaW5lIHRoaXMgcmVxdWVzdCB3aXRoIHRo ZSBjdXJyZW50IHBvcnQ/CiAJCQkgKiBJdCBoYXMgdG8gYmUgdGhlIHNhbWUgY29udGV4dC9yaW5n YnVmZmVyIGFuZCBub3QKQEAgLTY3NCw3ICs2NzQsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNf ZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCQkJICovCiAJCQkJaWYg KHBvcnQgPT0gbGFzdF9wb3J0KSB7CiAJCQkJCV9fbGlzdF9kZWxfbWFueSgmcC0+cmVxdWVzdHMs Ci0JCQkJCQkJJnJxLT5wcmlvdHJlZS5saW5rKTsKKwkJCQkJCQkmcnEtPnNjaGVkLmxpbmspOwog CQkJCQlnb3RvIGRvbmU7CiAJCQkJfQogCkBAIC02ODgsNyArNjg4LDcgQEAgc3RhdGljIHZvaWQg ZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkJCWlm IChjdHhfc2luZ2xlX3BvcnRfc3VibWlzc2lvbihsYXN0LT5jdHgpIHx8CiAJCQkJICAgIGN0eF9z aW5nbGVfcG9ydF9zdWJtaXNzaW9uKHJxLT5jdHgpKSB7CiAJCQkJCV9fbGlzdF9kZWxfbWFueSgm cC0+cmVxdWVzdHMsCi0JCQkJCQkJJnJxLT5wcmlvdHJlZS5saW5rKTsKKwkJCQkJCQkmcnEtPnNj aGVkLmxpbmspOwogCQkJCQlnb3RvIGRvbmU7CiAJCQkJfQogCkBAIC03MDEsNyArNzAxLDcgQEAg c3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogCQkJCUdFTV9CVUdfT04ocG9ydF9pc3NldChwb3J0KSk7CiAJCQl9CiAKLQkJCUlOSVRf TElTVF9IRUFEKCZycS0+cHJpb3RyZWUubGluayk7CisJCQlJTklUX0xJU1RfSEVBRCgmcnEtPnNj aGVkLmxpbmspOwogCQkJX19pOTE1X3JlcXVlc3Rfc3VibWl0KHJxKTsKIAkJCXRyYWNlX2k5MTVf cmVxdWVzdF9pbihycSwgcG9ydF9pbmRleChwb3J0LCBleGVjbGlzdHMpKTsKIAkJCWxhc3QgPSBy cTsKQEAgLTg4Miw4ICs4ODIsOCBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY2FuY2VsX3JlcXVl c3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl3aGlsZSAocmIpIHsKIAkJc3Ry dWN0IGk5MTVfcHJpb2xpc3QgKnAgPSB0b19wcmlvbGlzdChyYik7CiAKLQkJbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKHJxLCBybiwgJnAtPnJlcXVlc3RzLCBwcmlvdHJlZS5saW5rKSB7Ci0JCQlJ TklUX0xJU1RfSEVBRCgmcnEtPnByaW90cmVlLmxpbmspOworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5 X3NhZmUocnEsIHJuLCAmcC0+cmVxdWVzdHMsIHNjaGVkLmxpbmspIHsKKwkJCUlOSVRfTElTVF9I RUFEKCZycS0+c2NoZWQubGluayk7CiAKIAkJCWRtYV9mZW5jZV9zZXRfZXJyb3IoJnJxLT5mZW5j ZSwgLUVJTyk7CiAJCQlfX2k5MTVfcmVxdWVzdF9zdWJtaXQocnEpOwpAQCAtMTExNiwxMCArMTEx NiwxMSBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0KHVuc2lnbmVk IGxvbmcgZGF0YSkKIH0KIAogc3RhdGljIHZvaWQgcXVldWVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUsCi0JCQkgIHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCwKKwkJCSAg c3RydWN0IGk5MTVfc2NoZWQgKnNjaGVkLAogCQkJICBpbnQgcHJpbykKIHsKLQlsaXN0X2FkZF90 YWlsKCZwdC0+bGluaywgJmxvb2t1cF9wcmlvbGlzdChlbmdpbmUsIHB0LCBwcmlvKS0+cmVxdWVz dHMpOworCWxpc3RfYWRkX3RhaWwoJnNjaGVkLT5saW5rLAorCQkgICAgICAmbG9va3VwX3ByaW9s aXN0KGVuZ2luZSwgc2NoZWQsIHByaW8pLT5yZXF1ZXN0cyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9f c3VibWl0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgaW50IHByaW8pCkBA IC0xMTQyLDI0ICsxMTQzLDI0IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zdWJtaXRfcmVxdWVz dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQogCS8qIFdpbGwgYmUgY2FsbGVkIGZyb20g aXJxLWNvbnRleHQgd2hlbiB1c2luZyBmb3JlaWduIGZlbmNlcy4gKi8KIAlzcGluX2xvY2tfaXJx c2F2ZSgmZW5naW5lLT50aW1lbGluZS0+bG9jaywgZmxhZ3MpOwogCi0JcXVldWVfcmVxdWVzdChl bmdpbmUsICZyZXF1ZXN0LT5wcmlvdHJlZSwgcnFfcHJpbyhyZXF1ZXN0KSk7CisJcXVldWVfcmVx dWVzdChlbmdpbmUsICZyZXF1ZXN0LT5zY2hlZCwgcnFfcHJpbyhyZXF1ZXN0KSk7CiAJc3VibWl0 X3F1ZXVlKGVuZ2luZSwgcnFfcHJpbyhyZXF1ZXN0KSk7CiAKIAlHRU1fQlVHX09OKCFlbmdpbmUt PmV4ZWNsaXN0cy5maXJzdCk7Ci0JR0VNX0JVR19PTihsaXN0X2VtcHR5KCZyZXF1ZXN0LT5wcmlv dHJlZS5saW5rKSk7CisJR0VNX0JVR19PTihsaXN0X2VtcHR5KCZyZXF1ZXN0LT5zY2hlZC5saW5r KSk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBm bGFncyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpwdF90b19yZXF1ZXN0KHN0 cnVjdCBpOTE1X3ByaW90cmVlICpwdCkKK3N0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzY2hl ZF90b19yZXF1ZXN0KHN0cnVjdCBpOTE1X3NjaGVkICpzY2hlZCkKIHsKLQlyZXR1cm4gY29udGFp bmVyX29mKHB0LCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0LCBwcmlvdHJlZSk7CisJcmV0dXJuIGNvbnRh aW5lcl9vZihzY2hlZCwgc3RydWN0IGk5MTVfcmVxdWVzdCwgc2NoZWQpOwogfQogCiBzdGF0aWMg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqCi1wdF9sb2NrX2VuZ2luZShzdHJ1Y3QgaTkxNV9wcmlv dHJlZSAqcHQsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmxvY2tlZCkKK3NjaGVkX2xvY2tfZW5n aW5lKHN0cnVjdCBpOTE1X3NjaGVkICpzY2hlZCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqbG9j a2VkKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHB0X3RvX3JlcXVlc3Qo cHQpLT5lbmdpbmU7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gc2NoZWRfdG9f cmVxdWVzdChzY2hlZCktPmVuZ2luZTsKIAogCUdFTV9CVUdfT04oIWxvY2tlZCk7CiAKQEAgLTEx ODMsMjMgKzExODQsMjMgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3NjaGVkdWxlKHN0cnVjdCBp OTE1X3JlcXVlc3QgKnJlcXVlc3QsIGludCBwcmlvKQogCWlmIChpOTE1X3JlcXVlc3RfY29tcGxl dGVkKHJlcXVlc3QpKQogCQlyZXR1cm47CiAKLQlpZiAocHJpbyA8PSBSRUFEX09OQ0UocmVxdWVz dC0+cHJpb3RyZWUucHJpb3JpdHkpKQorCWlmIChwcmlvIDw9IFJFQURfT05DRShyZXF1ZXN0LT5z Y2hlZC5wcmlvcml0eSkpCiAJCXJldHVybjsKIAogCS8qIE5lZWQgQktMIGluIG9yZGVyIHRvIHVz ZSB0aGUgdGVtcG9yYXJ5IGxpbmsgaW5zaWRlIGk5MTVfZGVwZW5kZW5jeSAqLwogCWxvY2tkZXBf YXNzZXJ0X2hlbGQoJnJlcXVlc3QtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCi0Jc3RhY2su c2lnbmFsZXIgPSAmcmVxdWVzdC0+cHJpb3RyZWU7CisJc3RhY2suc2lnbmFsZXIgPSAmcmVxdWVz dC0+c2NoZWQ7CiAJbGlzdF9hZGQoJnN0YWNrLmRmc19saW5rLCAmZGZzKTsKIAogCS8qCiAJICog UmVjdXJzaXZlbHkgYnVtcCBhbGwgZGVwZW5kZW50IHByaW9yaXRpZXMgdG8gbWF0Y2ggdGhlIG5l dyByZXF1ZXN0LgogCSAqCiAJICogQSBuYWl2ZSBhcHByb2FjaCB3b3VsZCBiZSB0byB1c2UgcmVj dXJzaW9uOgotCSAqIHN0YXRpYyB2b2lkIHVwZGF0ZV9wcmlvcml0aWVzKHN0cnVjdCBpOTE1X3By aW90cmVlICpwdCwgcHJpbykgewotCSAqCWxpc3RfZm9yX2VhY2hfZW50cnkoZGVwLCAmcHQtPnNp Z25hbGVyc19saXN0LCBzaWduYWxfbGluaykKKwkgKiBzdGF0aWMgdm9pZCB1cGRhdGVfcHJpb3Jp dGllcyhzdHJ1Y3QgaTkxNV9zY2hlZCAqc2NoZWQsIHByaW8pIHsKKwkgKglsaXN0X2Zvcl9lYWNo X2VudHJ5KGRlcCwgJnNjaGVkLT5zaWduYWxlcnNfbGlzdCwgc2lnbmFsX2xpbmspCiAJICoJCXVw ZGF0ZV9wcmlvcml0aWVzKGRlcC0+c2lnbmFsLCBwcmlvKQotCSAqCXF1ZXVlX3JlcXVlc3QocHQp OworCSAqCXF1ZXVlX3JlcXVlc3Qoc2NoZWQpOwogCSAqIH0KIAkgKiBidXQgdGhhdCBtYXkgaGF2 ZSB1bmxpbWl0ZWQgcmVjdXJzaW9uIGRlcHRoIGFuZCBzbyBydW5zIGEgdmVyeQogCSAqIHJlYWwg cmlzayBvZiBvdmVydW5uaW5nIHRoZSBrZXJuZWwgc3RhY2suIEluc3RlYWQsIHdlIGJ1aWxkCkBA IC0xMjExLDcgKzEyMTIsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc2NoZWR1bGUoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwgaW50IHByaW8pCiAJICogbGFzdCBlbGVtZW50IGluIHRo ZSBsaXN0IGlzIHRoZSByZXF1ZXN0IHdlIG11c3QgZXhlY3V0ZSBmaXJzdC4KIAkgKi8KIAlsaXN0 X2Zvcl9lYWNoX2VudHJ5KGRlcCwgJmRmcywgZGZzX2xpbmspIHsKLQkJc3RydWN0IGk5MTVfcHJp b3RyZWUgKnB0ID0gZGVwLT5zaWduYWxlcjsKKwkJc3RydWN0IGk5MTVfc2NoZWQgKnNjaGVkID0g ZGVwLT5zaWduYWxlcjsKIAogCQkvKgogCQkgKiBXaXRoaW4gYW4gZW5naW5lLCB0aGVyZSBjYW4g YmUgbm8gY3ljbGUsIGJ1dCB3ZSBtYXkKQEAgLTEyMTksMTMgKzEyMjAsMTMgQEAgc3RhdGljIHZv aWQgZXhlY2xpc3RzX3NjaGVkdWxlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsIGludCBw cmlvKQogCQkgKiAocmVkdW5kYW50IGRlcGVuZGVuY2llcyBhcmUgbm90IGVsaW1pbmF0ZWQpIGFu ZCBhY3Jvc3MKIAkJICogZW5naW5lcy4KIAkJICovCi0JCWxpc3RfZm9yX2VhY2hfZW50cnkocCwg JnB0LT5zaWduYWxlcnNfbGlzdCwgc2lnbmFsX2xpbmspIHsKKwkJbGlzdF9mb3JfZWFjaF9lbnRy eShwLCAmc2NoZWQtPnNpZ25hbGVyc19saXN0LCBzaWduYWxfbGluaykgewogCQkJR0VNX0JVR19P TihwID09IGRlcCk7IC8qIG5vIGN5Y2xlcyEgKi8KIAotCQkJaWYgKGk5MTVfcHJpb3RyZWVfc2ln bmFsZWQocC0+c2lnbmFsZXIpKQorCQkJaWYgKGk5MTVfc2NoZWRfc2lnbmFsZWQocC0+c2lnbmFs ZXIpKQogCQkJCWNvbnRpbnVlOwogCi0JCQlHRU1fQlVHX09OKHAtPnNpZ25hbGVyLT5wcmlvcml0 eSA8IHB0LT5wcmlvcml0eSk7CisJCQlHRU1fQlVHX09OKHAtPnNpZ25hbGVyLT5wcmlvcml0eSA8 IHNjaGVkLT5wcmlvcml0eSk7CiAJCQlpZiAocHJpbyA+IFJFQURfT05DRShwLT5zaWduYWxlci0+ cHJpb3JpdHkpKQogCQkJCWxpc3RfbW92ZV90YWlsKCZwLT5kZnNfbGluaywgJmRmcyk7CiAJCX0K QEAgLTEyMzcsOSArMTIzOCw5IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zY2hlZHVsZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LCBpbnQgcHJpbykKIAkgKiBleGVjbGlzdHNfc3VibWl0 X3JlcXVlc3QoKSksIHdlIGNhbiBzZXQgb3VyIG93biBwcmlvcml0eSBhbmQgc2tpcAogCSAqIGFj cXVpcmluZyB0aGUgZW5naW5lIGxvY2tzLgogCSAqLwotCWlmIChyZXF1ZXN0LT5wcmlvdHJlZS5w cmlvcml0eSA9PSBJOTE1X1BSSU9SSVRZX0lOVkFMSUQpIHsKLQkJR0VNX0JVR19PTighbGlzdF9l bXB0eSgmcmVxdWVzdC0+cHJpb3RyZWUubGluaykpOwotCQlyZXF1ZXN0LT5wcmlvdHJlZS5wcmlv cml0eSA9IHByaW87CisJaWYgKHJlcXVlc3QtPnNjaGVkLnByaW9yaXR5ID09IEk5MTVfUFJJT1JJ VFlfSU5WQUxJRCkgeworCQlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZyZXF1ZXN0LT5zY2hlZC5s aW5rKSk7CisJCXJlcXVlc3QtPnNjaGVkLnByaW9yaXR5ID0gcHJpbzsKIAkJaWYgKHN0YWNrLmRm c19saW5rLm5leHQgPT0gc3RhY2suZGZzX2xpbmsucHJldikKIAkJCXJldHVybjsKIAkJX19saXN0 X2RlbF9lbnRyeSgmc3RhY2suZGZzX2xpbmspOwpAQCAtMTI1MCwyMyArMTI1MSwyMyBAQCBzdGF0 aWMgdm9pZCBleGVjbGlzdHNfc2NoZWR1bGUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwg aW50IHByaW8pCiAKIAkvKiBGaWZvIGFuZCBkZXB0aC1maXJzdCByZXBsYWNlbWVudCBlbnN1cmUg b3VyIGRlcHMgZXhlY3V0ZSBiZWZvcmUgdXMgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmVf cmV2ZXJzZShkZXAsIHAsICZkZnMsIGRmc19saW5rKSB7Ci0JCXN0cnVjdCBpOTE1X3ByaW90cmVl ICpwdCA9IGRlcC0+c2lnbmFsZXI7CisJCXN0cnVjdCBpOTE1X3NjaGVkICpzY2hlZCA9IGRlcC0+ c2lnbmFsZXI7CiAKIAkJSU5JVF9MSVNUX0hFQUQoJmRlcC0+ZGZzX2xpbmspOwogCi0JCWVuZ2lu ZSA9IHB0X2xvY2tfZW5naW5lKHB0LCBlbmdpbmUpOworCQllbmdpbmUgPSBzY2hlZF9sb2NrX2Vu Z2luZShzY2hlZCwgZW5naW5lKTsKIAotCQlpZiAocHJpbyA8PSBwdC0+cHJpb3JpdHkpCisJCWlm IChwcmlvIDw9IHNjaGVkLT5wcmlvcml0eSkKIAkJCWNvbnRpbnVlOwogCi0JCXB0LT5wcmlvcml0 eSA9IHByaW87Ci0JCWlmICghbGlzdF9lbXB0eSgmcHQtPmxpbmspKSB7Ci0JCQlfX2xpc3RfZGVs X2VudHJ5KCZwdC0+bGluayk7Ci0JCQlxdWV1ZV9yZXF1ZXN0KGVuZ2luZSwgcHQsIHByaW8pOwor CQlzY2hlZC0+cHJpb3JpdHkgPSBwcmlvOworCQlpZiAoIWxpc3RfZW1wdHkoJnNjaGVkLT5saW5r KSkgeworCQkJX19saXN0X2RlbF9lbnRyeSgmc2NoZWQtPmxpbmspOworCQkJcXVldWVfcmVxdWVz dChlbmdpbmUsIHNjaGVkLCBwcmlvKTsKIAkJfQogCiAJCWlmIChwcmlvID4gZW5naW5lLT5leGVj bGlzdHMucXVldWVfcHJpb3JpdHkgJiYKLQkJICAgIGk5MTVfc3dfZmVuY2VfZG9uZSgmcHRfdG9f cmVxdWVzdChwdCktPnN1Ym1pdCkpCisJCSAgICBpOTE1X3N3X2ZlbmNlX2RvbmUoJnNjaGVkX3Rv X3JlcXVlc3Qoc2NoZWQpLT5zdWJtaXQpKQogCQkJX19zdWJtaXRfcXVldWUoZW5naW5lLCBwcmlv KTsKIAl9CiAKLS0gCjIuMTcuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==