From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id EA7376E29C for ; Mon, 9 Apr 2018 14:35:13 +0000 (UTC) From: Katarzyna Dec Date: Mon, 9 Apr 2018 16:34:49 +0200 Message-Id: <20180409143449.13845-5-katarzyna.dec@intel.com> In-Reply-To: <20180409143449.13845-1-katarzyna.dec@intel.com> References: <20180409143449.13845-1-katarzyna.dec@intel.com> Subject: [igt-dev] [PATCH i-g-t v3 4/4] lib: Adjust refactored gpu_fill library to our coding style List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: V2hpbGUgSSBhbSBtYWtpbmcgY2hhbmdlcyBpbiBncGdwdSBhbmQgbWVkaWEgZmlsbCBhcmVhIGxl dCdzCmFkanVzdCBjb2RlIHRvIG91ciBjb2Rpbmcgc3R5bGUuCgp2MjogcmViYXNlZCBvbiBzZXJp ZXMgbmV3IHZlcnNpb24gKHBhdGNoIGlzIG5vdyBsYXN0IGZyb20Kc2VyaWVzIHNvIGNoYW5nZSBz ZWVtcyBsYXJnZXIpCgpTaWduZWQtb2ZmLWJ5OiBLYXRhcnp5bmEgRGVjIDxrYXRhcnp5bmEuZGVj QGludGVsLmNvbT4KQ2M6IEx1a2FzeiBLYWxhbWFyeiA8bHVrYXN6LmthbGFtYXJ6QGludGVsLmNv bT4KQ2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRl bC5jb20+Ci0tLQogbGliL2dwZ3B1X2ZpbGwuYyAgICAgIHwgIDI0ICsrKysrKy0tLS0tLQogbGli L2dwZ3B1X2ZpbGwuaCAgICAgIHwgIDEyICsrKy0tLQogbGliL2dwdV9maWxsLmMgICAgICAgIHwg MTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBs aWIvZ3B1X2ZpbGwuaCAgICAgICAgfCAgNTEgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogbGli L21lZGlhX2ZpbGwuaCAgICAgIHwgIDIwICsrKysrLS0tLS0KIGxpYi9tZWRpYV9maWxsX2dlbjcu YyB8ICAgNyArKy0tCiBsaWIvbWVkaWFfZmlsbF9nZW44LmMgfCAgIDcgKystLQogbGliL21lZGlh X2ZpbGxfZ2VuOS5jIHwgICA3ICsrLS0KIDggZmlsZXMgY2hhbmdlZCwgMTIwIGluc2VydGlvbnMo KyksIDExMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvZ3BncHVfZmlsbC5jIGIvbGli L2dwZ3B1X2ZpbGwuYwppbmRleCA1YTc3ZWJkNC4uNzJhMTQ0NWEgMTAwNjQ0Ci0tLSBhL2xpYi9n cGdwdV9maWxsLmMKKysrIGIvbGliL2dwZ3B1X2ZpbGwuYwpAQCAtOTksOCArOTksOCBAQCBzdGF0 aWMgY29uc3QgdWludDMyX3QgZ2VuOV9ncGdwdV9rZXJuZWxbXVs0XSA9IHsKIHZvaWQKIGdlbjdf Z3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIAkJICAgIHN0 cnVjdCBpZ3RfYnVmICpkc3QsCi0JCSAgICB1bnNpZ25lZCB4LCB1bnNpZ25lZCB5LAotCQkgICAg dW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwKKwkJICAgIHVuc2lnbmVkIGludCB4LCB1 bnNpZ25lZCBpbnQgeSwKKwkJICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhl aWdodCwKIAkJICAgIHVpbnQ4X3QgY29sb3IpCiB7CiAJdWludDMyX3QgY3VyYmVfYnVmZmVyLCBp bnRlcmZhY2VfZGVzY3JpcHRvcjsKQEAgLTEyMCw4ICsxMjAsOCBAQCBnZW43X2dwZ3B1X2ZpbGxm dW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJY3VyYmVfYnVmZmVyID0gZ2Vu N19maWxsX2N1cmJlX2J1ZmZlcl9kYXRhKGJhdGNoLCBjb2xvcik7CiAKIAlpbnRlcmZhY2VfZGVz Y3JpcHRvciA9IGdlbjdfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihiYXRjaCwgZHN0LAotCQkJ CQkJCSAgICAgIGdlbjdfZ3BncHVfa2VybmVsLAotCQkJCQkJCSAgICAgIHNpemVvZihnZW43X2dw Z3B1X2tlcm5lbCkpOworCQkJCWdlbjdfZ3BncHVfa2VybmVsLCBzaXplb2YoZ2VuN19ncGdwdV9r ZXJuZWwpKTsKKwogCWlndF9hc3NlcnQoYmF0Y2gtPnB0ciA8ICZiYXRjaC0+YnVmZmVyWzQwOTVd KTsKIAogCWJhdGNoLT5wdHIgPSBiYXRjaC0+YnVmZmVyOwpAQCAtMTQ3LDggKzE0Nyw4IEBAIGdl bjdfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIHZvaWQK IGdlbjhfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIAkJ ICAgIHN0cnVjdCBpZ3RfYnVmICpkc3QsCi0JCSAgICB1bnNpZ25lZCB4LCB1bnNpZ25lZCB5LAot CQkgICAgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwKKwkJICAgIHVuc2lnbmVkIGlu dCB4LCB1bnNpZ25lZCBpbnQgeSwKKwkJICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQg aW50IGhlaWdodCwKIAkJICAgIHVpbnQ4X3QgY29sb3IpCiB7CiAJdWludDMyX3QgY3VyYmVfYnVm ZmVyLCBpbnRlcmZhY2VfZGVzY3JpcHRvcjsKQEAgLTE2OCw4ICsxNjgsOCBAQCBnZW44X2dwZ3B1 X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJY3VyYmVfYnVmZmVy ID0gZ2VuN19maWxsX2N1cmJlX2J1ZmZlcl9kYXRhKGJhdGNoLCBjb2xvcik7CiAKIAlpbnRlcmZh Y2VfZGVzY3JpcHRvciA9IGdlbjhfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihiYXRjaCwgZHN0 LAotCQkJCQkJCSAgICAgIGdlbjhfZ3BncHVfa2VybmVsLAotCQkJCQkJCSAgICAgIHNpemVvZihn ZW44X2dwZ3B1X2tlcm5lbCkpOworCQkJCWdlbjhfZ3BncHVfa2VybmVsLCBzaXplb2YoZ2VuOF9n cGdwdV9rZXJuZWwpKTsKKwogCWlndF9hc3NlcnQoYmF0Y2gtPnB0ciA8ICZiYXRjaC0+YnVmZmVy WzQwOTVdKTsKIAogCWJhdGNoLT5wdHIgPSBiYXRjaC0+YnVmZmVyOwpAQCAtMTk1LDggKzE5NSw4 IEBAIGdlbjhfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwK IHZvaWQKIGdlbjlfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRj aCwKIAkJICAgIHN0cnVjdCBpZ3RfYnVmICpkc3QsCi0JCSAgICB1bnNpZ25lZCB4LCB1bnNpZ25l ZCB5LAotCQkgICAgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwKKwkJICAgIHVuc2ln bmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKKwkJICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5z aWduZWQgaW50IGhlaWdodCwKIAkJICAgIHVpbnQ4X3QgY29sb3IpCiB7CiAJdWludDMyX3QgY3Vy YmVfYnVmZmVyLCBpbnRlcmZhY2VfZGVzY3JpcHRvcjsKQEAgLTIxNiw4ICsyMTYsOCBAQCBnZW45 X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJY3VyYmVf YnVmZmVyID0gZ2VuN19maWxsX2N1cmJlX2J1ZmZlcl9kYXRhKGJhdGNoLCBjb2xvcik7CiAKIAlp bnRlcmZhY2VfZGVzY3JpcHRvciA9IGdlbjhfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihiYXRj aCwgZHN0LAotCQkJCQkJCSAgICAgIGdlbjlfZ3BncHVfa2VybmVsLAotCQkJCQkJCSAgICAgIHNp emVvZihnZW45X2dwZ3B1X2tlcm5lbCkpOworCQkJCWdlbjlfZ3BncHVfa2VybmVsLCBzaXplb2Yo Z2VuOV9ncGdwdV9rZXJuZWwpKTsKKwogCWlndF9hc3NlcnQoYmF0Y2gtPnB0ciA8ICZiYXRjaC0+ YnVmZmVyWzQwOTVdKTsKIAogCWJhdGNoLT5wdHIgPSBiYXRjaC0+YnVmZmVyOwpkaWZmIC0tZ2l0 IGEvbGliL2dwZ3B1X2ZpbGwuaCBiL2xpYi9ncGdwdV9maWxsLmgKaW5kZXggN2I1YzgzMjIuLmYw ZDE4OGFlIDEwMDY0NAotLS0gYS9saWIvZ3BncHVfZmlsbC5oCisrKyBiL2xpYi9ncGdwdV9maWxs LmgKQEAgLTMwLDIyICszMCwyMiBAQAogdm9pZAogZ2VuN19ncGdwdV9maWxsZnVuYyhzdHJ1Y3Qg aW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogCQkgICAgc3RydWN0IGlndF9idWYgKmRzdCwKLQkJ ICAgIHVuc2lnbmVkIHgsIHVuc2lnbmVkIHksCi0JCSAgICB1bnNpZ25lZCB3aWR0aCwgdW5zaWdu ZWQgaGVpZ2h0LAorCQkgICAgdW5zaWduZWQgaW50IHgsIHVuc2lnbmVkIGludCB5LAorCQkgICAg dW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LAogCQkgICAgdWludDhfdCBj b2xvcik7CiAKIHZvaWQKIGdlbjhfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVm ZmVyICpiYXRjaCwKIAkJICAgIHN0cnVjdCBpZ3RfYnVmICpkc3QsCi0JCSAgICB1bnNpZ25lZCB4 LCB1bnNpZ25lZCB5LAotCQkgICAgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwKKwkJ ICAgIHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKKwkJICAgIHVuc2lnbmVkIGludCB3 aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwKIAkJICAgIHVpbnQ4X3QgY29sb3IpOwogCiB2b2lk CiBnZW45X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJ CSAgICBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LAotCQkgICAgdW5zaWduZWQgeCwgdW5zaWduZWQgeSwK LQkJICAgIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsCisJCSAgICB1bnNpZ25lZCBp bnQgeCwgdW5zaWduZWQgaW50IHksCisJCSAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVk IGludCBoZWlnaHQsCiAJCSAgICB1aW50OF90IGNvbG9yKTsKIAogI2VuZGlmIC8qIEdQR1BVX0ZJ TExfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL2dwdV9maWxsLmMgYi9saWIvZ3B1X2ZpbGwuYwppbmRl eCAzOWMxMDNmNi4uNDNjZmExNDIgMTAwNjQ0Ci0tLSBhL2xpYi9ncHVfZmlsbC5jCisrKyBiL2xp Yi9ncHVfZmlsbC5jCkBAIC0xMCw2ICsxMCw3IEBAIHVpbnQzMl90CiBiYXRjaF9hbGlnbihzdHJ1 Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCBhbGlnbikKIHsKIAl1aW50MzJf dCBvZmZzZXQgPSBiYXRjaF91c2VkKGJhdGNoKTsKKwogCW9mZnNldCA9IEFMSUdOKG9mZnNldCwg YWxpZ24pOwogCWJhdGNoLT5wdHIgPSBiYXRjaC0+YnVmZmVyICsgb2Zmc2V0OwogCXJldHVybiBv ZmZzZXQ7CkBAIC0xOSw2ICsyMCw3IEBAIHZvaWQgKgogYmF0Y2hfYWxsb2Moc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwgdWludDMyX3Qgc2l6ZSwgdWludDMyX3QgYWxpZ24pCiB7CiAJ dWludDMyX3Qgb2Zmc2V0ID0gYmF0Y2hfYWxpZ24oYmF0Y2gsIGFsaWduKTsKKwogCWJhdGNoLT5w dHIgKz0gc2l6ZTsKIAlyZXR1cm4gbWVtc2V0KGJhdGNoLT5idWZmZXIgKyBvZmZzZXQsIDAsIHNp emUpOwogfQpAQCAtMzAsOSArMzIsMTEgQEAgYmF0Y2hfb2Zmc2V0KHN0cnVjdCBpbnRlbF9iYXRj aGJ1ZmZlciAqYmF0Y2gsIHZvaWQgKnB0cikKIH0KIAogdWludDMyX3QKLWJhdGNoX2NvcHkoc3Ry dWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgY29uc3Qgdm9pZCAqcHRyLCB1aW50MzJfdCBz aXplLCB1aW50MzJfdCBhbGlnbikKK2JhdGNoX2NvcHkoc3RydWN0IGludGVsX2JhdGNoYnVmZmVy ICpiYXRjaCwgY29uc3Qgdm9pZCAqcHRyLCB1aW50MzJfdCBzaXplLAorCSAgIHVpbnQzMl90IGFs aWduKQogewotCXJldHVybiBiYXRjaF9vZmZzZXQoYmF0Y2gsIG1lbWNweShiYXRjaF9hbGxvYyhi YXRjaCwgc2l6ZSwgYWxpZ24pLCBwdHIsIHNpemUpKTsKKwlyZXR1cm4gYmF0Y2hfb2Zmc2V0KGJh dGNoLCBtZW1jcHkoYmF0Y2hfYWxsb2MoYmF0Y2gsIHNpemUsIGFsaWduKSwKKwkJCSAgICBwdHIs IHNpemUpKTsKIH0KIAogdm9pZApAQCAtNDMsMTMgKzQ3LDEzIEBAIGdlbjdfcmVuZGVyX2ZsdXNo KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHVpbnQzMl90IGJhdGNoX2VuZCkKIAly ZXQgPSBkcm1faW50ZWxfYm9fc3ViZGF0YShiYXRjaC0+Ym8sIDAsIDQwOTYsIGJhdGNoLT5idWZm ZXIpOwogCWlmIChyZXQgPT0gMCkKIAkJcmV0ID0gZHJtX2ludGVsX2JvX21yYl9leGVjKGJhdGNo LT5ibywgYmF0Y2hfZW5kLAotCQkJCQlOVUxMLCAwLCAwLCAwKTsKKwkJCQkJICAgIE5VTEwsIDAs IDAsIDApOwogCWlndF9hc3NlcnQocmV0ID09IDApOwogfQogCiB1aW50MzJfdAogZ2VuN19maWxs X2N1cmJlX2J1ZmZlcl9kYXRhKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0JCQl1 aW50OF90IGNvbG9yKQorCQkJICAgIHVpbnQ4X3QgY29sb3IpCiB7CiAJdWludDhfdCAqY3VyYmVf YnVmZmVyOwogCXVpbnQzMl90IG9mZnNldDsKQEAgLTYyLDEwICs2Niw4IEBAIGdlbjdfZmlsbF9j dXJiZV9idWZmZXJfZGF0YShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogfQogCiB1 aW50MzJfdAotZ2VuN19maWxsX3N1cmZhY2Vfc3RhdGUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVy ICpiYXRjaCwKLQkJCXN0cnVjdCBpZ3RfYnVmICpidWYsCi0JCQl1aW50MzJfdCBmb3JtYXQsCi0J CQlpbnQgaXNfZHN0KQorZ2VuN19maWxsX3N1cmZhY2Vfc3RhdGUoc3RydWN0IGludGVsX2JhdGNo YnVmZmVyICpiYXRjaCwgc3RydWN0IGlndF9idWYgKmJ1ZiwKKwkJCXVpbnQzMl90IGZvcm1hdCwg aW50IGlzX2RzdCkKIHsKIAlzdHJ1Y3QgZ2VuN19zdXJmYWNlX3N0YXRlICpzczsKIAl1aW50MzJf dCB3cml0ZV9kb21haW4sIHJlYWRfZG9tYWluLCBvZmZzZXQ7CkBAIC0xMTEsOCArMTEzLDcgQEAg Z2VuN19maWxsX3N1cmZhY2Vfc3RhdGUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwK IH0KIAogdWludDMyX3QKLWdlbjdfZmlsbF9iaW5kaW5nX3RhYmxlKHN0cnVjdCBpbnRlbF9iYXRj aGJ1ZmZlciAqYmF0Y2gsCi0JCQlzdHJ1Y3QgaWd0X2J1ZiAqZHN0KQorZ2VuN19maWxsX2JpbmRp bmdfdGFibGUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgc3RydWN0IGlndF9idWYg KmRzdCkKIHsKIAl1aW50MzJfdCAqYmluZGluZ190YWJsZSwgb2Zmc2V0OwogCkBAIC0xMjksOSAr MTMwLDggQEAgZ2VuN19maWxsX2JpbmRpbmdfdGFibGUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVy ICpiYXRjaCwKIH0KIAogdWludDMyX3QKLWdlbjdfZmlsbF9rZXJuZWwoc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwKLQkJY29uc3QgdWludDMyX3Qga2VybmVsW11bNF0sCi0JCXNpemVf dCBzaXplKQorZ2VuN19maWxsX2tlcm5lbChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNo LCBjb25zdCB1aW50MzJfdCBrZXJuZWxbXVs0XSwKKwkJIHNpemVfdCBzaXplKQogewogCXVpbnQz Ml90IG9mZnNldDsKIApAQCAtMTQxLDggKzE0MSw5IEBAIGdlbjdfZmlsbF9rZXJuZWwoc3RydWN0 IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIH0KIAogdWludDMyX3QKLWdlbjdfZmlsbF9pbnRl cmZhY2VfZGVzY3JpcHRvcihzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCBzdHJ1Y3Qg aWd0X2J1ZiAqZHN0LAotCQkJICAgICAgIGNvbnN0IHVpbnQzMl90IGtlcm5lbFtdWzRdLCBzaXpl X3Qgc2l6ZSkKK2dlbjdfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihzdHJ1Y3QgaW50ZWxfYmF0 Y2hidWZmZXIgKmJhdGNoLAorCQkJICAgICAgIHN0cnVjdCBpZ3RfYnVmICpkc3QsIGNvbnN0IHVp bnQzMl90IGtlcm5lbFtdWzRdLAorCQkJICAgICAgIHNpemVfdCBzaXplKQogewogCXN0cnVjdCBn ZW43X2ludGVyZmFjZV9kZXNjcmlwdG9yX2RhdGEgKmlkZDsKIAl1aW50MzJfdCBvZmZzZXQ7CkBA IC0xODAsMTYgKzE4MSwxOSBAQCBnZW43X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNzKHN0cnVjdCBp bnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCiAJT1VUX0JBVENIKDApOwogCiAJLyogc3VyZmFjZSAq LwotCU9VVF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VNX0RPTUFJTl9JTlNUUlVDVElPTiwgMCwg QkFTRV9BRERSRVNTX01PRElGWSk7CisJT1VUX1JFTE9DKGJhdGNoLT5ibywgSTkxNV9HRU1fRE9N QUlOX0lOU1RSVUNUSU9OLCAwLAorCQkgIEJBU0VfQUREUkVTU19NT0RJRlkpOwogCiAJLyogZHlu YW1pYyAqLwotCU9VVF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VNX0RPTUFJTl9JTlNUUlVDVElP TiwgMCwgQkFTRV9BRERSRVNTX01PRElGWSk7CisJT1VUX1JFTE9DKGJhdGNoLT5ibywgSTkxNV9H RU1fRE9NQUlOX0lOU1RSVUNUSU9OLCAwLAorCQkgIEJBU0VfQUREUkVTU19NT0RJRlkpOwogCiAJ LyogaW5kaXJlY3QgKi8KIAlPVVRfQkFUQ0goMCk7CiAKIAkvKiBpbnN0cnVjdGlvbiAqLwotCU9V VF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VNX0RPTUFJTl9JTlNUUlVDVElPTiwgMCwgQkFTRV9B RERSRVNTX01PRElGWSk7CisJT1VUX1JFTE9DKGJhdGNoLT5ibywgSTkxNV9HRU1fRE9NQUlOX0lO U1RSVUNUSU9OLCAwLAorCQkgIEJBU0VfQUREUkVTU19NT0RJRlkpOwogCiAJLyogZ2VuZXJhbC9k eW5hbWljL2luZGlyZWN0L2luc3RydWN0aW9uIGFjY2VzcyBCb3VuZCAqLwogCU9VVF9CQVRDSCgw KTsKQEAgLTIxNCw3ICsyMTgsNyBAQCBnZW43X2VtaXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9i YXRjaGJ1ZmZlciAqYmF0Y2gpCiAKIAkvKiB1cmIgZW50cnkgc2l6ZSAmIGN1cmJlIHNpemUgKi8K IAlPVVRfQkFUQ0goMiA8PCAxNiB8IAkvKiBpbiAyNTYgYml0cyB1bml0ICovCi0JCTIpOwkJLyog aW4gMjU2IGJpdHMgdW5pdCAqLworCQkgIDIpOwkJLyogaW4gMjU2IGJpdHMgdW5pdCAqLwogCiAJ Lyogc2NvcmVib2FyZCAqLwogCU9VVF9CQVRDSCgwKTsKQEAgLTI2OCwxNCArMjcyLDE2IEBAIGdl bjdfZW1pdF9pbnRlcmZhY2VfZGVzY3JpcHRvcl9sb2FkKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gsIHVpbnQzMl90IGluCiAJCU9VVF9CQVRDSChzaXplb2Yoc3RydWN0IGdlbjdfaW50 ZXJmYWNlX2Rlc2NyaXB0b3JfZGF0YSkpOwogCWVsc2UKIAkJT1VUX0JBVENIKHNpemVvZihzdHJ1 Y3QgZ2VuOF9pbnRlcmZhY2VfZGVzY3JpcHRvcl9kYXRhKSk7Ci0JLyogaW50ZXJmYWNlIGRlc2Ny aXB0b3IgYWRkcmVzcywgaXMgcmVsYXRpdmUgdG8gdGhlIGR5bmFtaWNzIGJhc2UgYWRkcmVzcyAq LworCS8qIGludGVyZmFjZSBkZXNjcmlwdG9yIGFkZHJlc3MsIGlzIHJlbGF0aXZlIHRvIHRoZSBk eW5hbWljcyBiYXNlCisJICogYWRkcmVzcworCSAqLwogCU9VVF9CQVRDSChpbnRlcmZhY2VfZGVz Y3JpcHRvcik7CiB9CiAKIHZvaWQKIGdlbjdfZW1pdF9tZWRpYV9vYmplY3RzKHN0cnVjdCBpbnRl bF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0JCQl1bnNpZ25lZCB4LCB1bnNpZ25lZCB5LAotCQkJdW5z aWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCkKKwkJCXVuc2lnbmVkIGludCB4LCB1bnNpZ25l ZCBpbnQgeSwKKwkJCXVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCkKIHsK IAlpbnQgaSwgajsKIApAQCAtMjk3LDcgKzMwMyw4IEBAIGdlbjdfZW1pdF9tZWRpYV9vYmplY3Rz KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJCQkvKiBpbmxpbmUgZGF0YSAoeG9m ZnNldCwgeW9mZnNldCkgKi8KIAkJCU9VVF9CQVRDSCh4ICsgaSAqIDE2KTsKIAkJCU9VVF9CQVRD SCh5ICsgaiAqIDE2KTsKLQkJCWlmIChBVF9MRUFTVF9HRU4oYmF0Y2gtPmRldmlkLCA4KSAmJiAh SVNfQ0hFUlJZVklFVyhiYXRjaC0+ZGV2aWQpKQorCQkJaWYgKEFUX0xFQVNUX0dFTihiYXRjaC0+ ZGV2aWQsIDgpICYmCisJCQkgICAgIUlTX0NIRVJSWVZJRVcoYmF0Y2gtPmRldmlkKSkKIAkJCQln ZW44X2VtaXRfbWVkaWFfc3RhdGVfZmx1c2goYmF0Y2gpOwogCQl9CiAJfQpAQCAtMzA1LDggKzMx Miw4IEBAIGdlbjdfZW1pdF9tZWRpYV9vYmplY3RzKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAq YmF0Y2gsCiAKIHZvaWQKIGdlbjdfZW1pdF9ncGdwdV93YWxrKHN0cnVjdCBpbnRlbF9iYXRjaGJ1 ZmZlciAqYmF0Y2gsCi0JCSAgICAgdW5zaWduZWQgeCwgdW5zaWduZWQgeSwKLQkJICAgICB1bnNp Z25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQorCQkgICAgIHVuc2lnbmVkIGludCB4LCB1bnNp Z25lZCBpbnQgeSwKKwkJICAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGludCBoZWln aHQpCiB7CiAJdWludDMyX3QgeF9kaW0sIHlfZGltLCB0bXAsIHJpZ2h0X21hc2s7CiAKQEAgLTM2 OCwxNCArMzc1LDEzIEBAIGdlbjhfcmVuZGVyX2ZsdXNoKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gsIHVpbnQzMl90IGJhdGNoX2VuZCkKIAlyZXQgPSBkcm1faW50ZWxfYm9fc3ViZGF0 YShiYXRjaC0+Ym8sIDAsIDQwOTYsIGJhdGNoLT5idWZmZXIpOwogCWlmIChyZXQgPT0gMCkKIAkJ cmV0ID0gZHJtX2ludGVsX2JvX21yYl9leGVjKGJhdGNoLT5ibywgYmF0Y2hfZW5kLAotCQkJCQlO VUxMLCAwLCAwLCAwKTsKKwkJCQkJICAgIE5VTEwsIDAsIDAsIDApOwogCWlndF9hc3NlcnQocmV0 ID09IDApOwogfQogCiAKIHVpbnQzMl90Ci1nZW44X2ZpbGxfY3VyYmVfYnVmZmVyX2RhdGEoc3Ry dWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKLQkJCXVpbnQ4X3QgY29sb3IpCitnZW44X2Zp bGxfY3VyYmVfYnVmZmVyX2RhdGEoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgdWlu dDhfdCBjb2xvcikKIHsKIAl1aW50OF90ICpjdXJiZV9idWZmZXI7CiAJdWludDMyX3Qgb2Zmc2V0 OwpAQCAtMzg4LDEwICszOTQsOCBAQCBnZW44X2ZpbGxfY3VyYmVfYnVmZmVyX2RhdGEoc3RydWN0 IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIH0KIAogdWludDMyX3QKLWdlbjhfZmlsbF9zdXJm YWNlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0JCQlzdHJ1Y3QgaWd0 X2J1ZiAqYnVmLAotCQkJdWludDMyX3QgZm9ybWF0LAotCQkJaW50IGlzX2RzdCkKK2dlbjhfZmls bF9zdXJmYWNlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHN0cnVjdCBp Z3RfYnVmICpidWYsCisJCQl1aW50MzJfdCBmb3JtYXQsIGludCBpc19kc3QpCiB7CiAJc3RydWN0 IGdlbjhfc3VyZmFjZV9zdGF0ZSAqc3M7CiAJdWludDMyX3Qgd3JpdGVfZG9tYWluLCByZWFkX2Rv bWFpbiwgb2Zmc2V0OwpAQCAtNDM5LDcgKzQ0Myw5IEBAIGdlbjhfZmlsbF9zdXJmYWNlX3N0YXRl KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiB9CiAKIHVpbnQzMl90Ci1nZW44X2Zp bGxfaW50ZXJmYWNlX2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwg c3RydWN0IGlndF9idWYgKmRzdCwgIGNvbnN0IHVpbnQzMl90IGtlcm5lbFtdWzRdLCBzaXplX3Qg c2l6ZSkKK2dlbjhfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoLAorCQkJICAgICAgIHN0cnVjdCBpZ3RfYnVmICpkc3QsIGNvbnN0IHVpbnQz Ml90IGtlcm5lbFtdWzRdLAorCQkJICAgICAgIHNpemVfdCBzaXplKQogewogCXN0cnVjdCBnZW44 X2ludGVyZmFjZV9kZXNjcmlwdG9yX2RhdGEgKmlkZDsKIAl1aW50MzJfdCBvZmZzZXQ7CkBAIC00 NTYsNyArNDYyLDcgQEAgZ2VuOF9maWxsX2ludGVyZmFjZV9kZXNjcmlwdG9yKHN0cnVjdCBpbnRl bF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHN0cnVjdCBpZ3RfYnVmICoKIAlpZGQtPmRlc2MyLnNpbmds ZV9wcm9ncmFtX2Zsb3cgPSAxOwogCWlkZC0+ZGVzYzIuZmxvYXRpbmdfcG9pbnRfbW9kZSA9IEdF TjhfRkxPQVRJTkdfUE9JTlRfSUVFRV83NTQ7CiAKLQlpZGQtPmRlc2MzLnNhbXBsZXJfY291bnQg PSAwOyAgICAgIC8qIDAgc2FtcGxlcnMgdXNlZCAqLworCWlkZC0+ZGVzYzMuc2FtcGxlcl9jb3Vu dCA9IDA7CS8qIDAgc2FtcGxlcnMgdXNlZCAqLwogCWlkZC0+ZGVzYzMuc2FtcGxlcl9zdGF0ZV9w b2ludGVyID0gMDsKIAogCWlkZC0+ZGVzYzQuYmluZGluZ190YWJsZV9lbnRyeV9jb3VudCA9IDA7 CkBAIC00ODYsOCArNDkyLDggQEAgZ2VuOF9lbWl0X3N0YXRlX2Jhc2VfYWRkcmVzcyhzdHJ1Y3Qg aW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQogCU9VVF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VN X0RPTUFJTl9TQU1QTEVSLCAwLCBCQVNFX0FERFJFU1NfTU9ESUZZKTsKIAogCS8qIGR5bmFtaWMg Ki8KLQlPVVRfUkVMT0MoYmF0Y2gtPmJvLCBJOTE1X0dFTV9ET01BSU5fUkVOREVSIHwgSTkxNV9H RU1fRE9NQUlOX0lOU1RSVUNUSU9OLAotCQkwLCBCQVNFX0FERFJFU1NfTU9ESUZZKTsKKwlPVVRf UkVMT0MoYmF0Y2gtPmJvLCBJOTE1X0dFTV9ET01BSU5fUkVOREVSIHwKKwkJICBJOTE1X0dFTV9E T01BSU5fSU5TVFJVQ1RJT04sIDAsIEJBU0VfQUREUkVTU19NT0RJRlkpOwogCiAJLyogaW5kaXJl Y3QgKi8KIAlPVVRfQkFUQ0goMCk7CkBAIC01MDIsNyArNTA4LDkgQEAgZ2VuOF9lbWl0X3N0YXRl X2Jhc2VfYWRkcmVzcyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQogCU9VVF9CQVRD SCgxIDw8IDEyIHwgMSk7CiAJLyogaW5kaXJlY3Qgb2JqZWN0IGJ1ZmZlciBzaXplICovCiAJT1VU X0JBVENIKDB4ZmZmZmYwMDAgfCAxKTsKLQkvKiBpbnRydWN0aW9uIGJ1ZmZlciBzaXplLCBtdXN0 IHNldCBtb2RpZnkgZW5hYmxlIGJpdCwgb3RoZXJ3aXNlIGl0IG1heSByZXN1bHQgaW4gR1BVIGhh bmcgKi8KKwkvKiBpbnN0cnVjdGlvbiBidWZmZXIgc2l6ZSwgbXVzdCBzZXQgbW9kaWZ5IGVuYWJs ZSBiaXQsIG90aGVyd2lzZSBpdCBtYXkKKwkgKiByZXN1bHQgaW4gR1BVIGhhbmcKKwkgKi8KIAlP VVRfQkFUQ0goMSA8PCAxMiB8IDEpOwogfQogCkBAIC01MTcsMTMgKzUyNSwxMyBAQCBnZW44X2Vt aXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCiAKIAkvKiBudW1i ZXIgb2YgdGhyZWFkcyAmIHVyYiBlbnRyaWVzICovCiAJT1VUX0JBVENIKDEgPDwgMTYgfAotCQky IDw8IDgpOworCQkgIDIgPDwgOCk7CiAKIAlPVVRfQkFUQ0goMCk7CiAKIAkvKiB1cmIgZW50cnkg c2l6ZSAmIGN1cmJlIHNpemUgKi8KIAlPVVRfQkFUQ0goMiA8PCAxNiB8Ci0JCTIpOworCQkgIDIp OwogCiAJLyogc2NvcmVib2FyZCAqLwogCU9VVF9CQVRDSCgwKTsKQEAgLTU2MSwxMSArNTY5LDEw IEBAIGdlbjhfZW1pdF9tZWRpYV9zdGF0ZV9mbHVzaChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIg KmJhdGNoKQogCU9VVF9CQVRDSCgwKTsKIH0KIAotCiB2b2lkCiBnZW44X2VtaXRfZ3BncHVfd2Fs ayhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAotCQkgICAgIHVuc2lnbmVkIHgsIHVu c2lnbmVkIHksCi0JCSAgICAgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCkKKwkJICAg ICB1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHksCisJCSAgICAgdW5zaWduZWQgaW50IHdp ZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0KQogewogCXVpbnQzMl90IHhfZGltLCB5X2RpbSwgdG1w LCByaWdodF9tYXNrOwogCkBAIC02MzgsMTUgKzY0NSwxNiBAQCBnZW45X2VtaXRfc3RhdGVfYmFz ZV9hZGRyZXNzKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCiAJT1VUX1JFTE9DKGJh dGNoLT5ibywgSTkxNV9HRU1fRE9NQUlOX1NBTVBMRVIsIDAsIEJBU0VfQUREUkVTU19NT0RJRlkp OwogCiAJLyogZHluYW1pYyAqLwotCU9VVF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VNX0RPTUFJ Tl9SRU5ERVIgfCBJOTE1X0dFTV9ET01BSU5fSU5TVFJVQ1RJT04sCi0JCTAsIEJBU0VfQUREUkVT U19NT0RJRlkpOworCU9VVF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VNX0RPTUFJTl9SRU5ERVIg fAorCQkgIEk5MTVfR0VNX0RPTUFJTl9JTlNUUlVDVElPTiwgMCwgQkFTRV9BRERSRVNTX01PRElG WSk7CiAKIAkvKiBpbmRpcmVjdCAqLwogCU9VVF9CQVRDSCgwKTsKIAlPVVRfQkFUQ0goMCk7CiAK IAkvKiBpbnN0cnVjdGlvbiAqLwotCU9VVF9SRUxPQyhiYXRjaC0+Ym8sIEk5MTVfR0VNX0RPTUFJ Tl9JTlNUUlVDVElPTiwgMCwgQkFTRV9BRERSRVNTX01PRElGWSk7CisJT1VUX1JFTE9DKGJhdGNo LT5ibywgSTkxNV9HRU1fRE9NQUlOX0lOU1RSVUNUSU9OLCAwLAorCQkgIEJBU0VfQUREUkVTU19N T0RJRlkpOwogCiAJLyogZ2VuZXJhbCBzdGF0ZSBidWZmZXIgc2l6ZSAqLwogCU9VVF9CQVRDSCgw eGZmZmZmMDAwIHwgMSk7CkBAIC02NTQsNyArNjYyLDkgQEAgZ2VuOV9lbWl0X3N0YXRlX2Jhc2Vf YWRkcmVzcyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQogCU9VVF9CQVRDSCgxIDw8 IDEyIHwgMSk7CiAJLyogaW5kaXJlY3Qgb2JqZWN0IGJ1ZmZlciBzaXplICovCiAJT1VUX0JBVENI KDB4ZmZmZmYwMDAgfCAxKTsKLQkvKiBpbnRydWN0aW9uIGJ1ZmZlciBzaXplLCBtdXN0IHNldCBt b2RpZnkgZW5hYmxlIGJpdCwgb3RoZXJ3aXNlIGl0IG1heSByZXN1bHQgaW4gR1BVIGhhbmcgKi8K KwkvKiBpbnRydWN0aW9uIGJ1ZmZlciBzaXplLCBtdXN0IHNldCBtb2RpZnkgZW5hYmxlIGJpdCwg b3RoZXJ3aXNlIGl0IG1heQorCSAqIHJlc3VsdCBpbiBHUFUgaGFuZworCSAqLwogCU9VVF9CQVRD SCgxIDw8IDEyIHwgMSk7CiAKIAkvKiBCaW5kbGVzcyBzdXJmYWNlIHN0YXRlIGJhc2UgYWRkcmVz cyAqLwpkaWZmIC0tZ2l0IGEvbGliL2dwdV9maWxsLmggYi9saWIvZ3B1X2ZpbGwuaAppbmRleCA5 MjAwZmU0Zi4uNTk4MjliZTQgMTAwNjQ0Ci0tLSBhL2xpYi9ncHVfZmlsbC5oCisrKyBiL2xpYi9n cHVfZmlsbC5oCkBAIC0xMCw2ICsxMCw4IEBACiAjaW5jbHVkZSAiaW50ZWxfY2hpcHNldC5oIgog I2luY2x1ZGUgPGFzc2VydC5oPgogCisjaW5jbHVkZSAiZ3B1X2ZpbGwuaCIKKwogdWludDMyX3QK IGJhdGNoX3VzZWQoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCk7CiAKQEAgLTIzLDMz ICsyNSwzMSBAQCB1aW50MzJfdAogYmF0Y2hfb2Zmc2V0KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gsIHZvaWQgKnB0cik7CiAKIHVpbnQzMl90Ci1iYXRjaF9jb3B5KHN0cnVjdCBpbnRl bF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIGNvbnN0IHZvaWQgKnB0ciwgdWludDMyX3Qgc2l6ZSwgdWlu dDMyX3QgYWxpZ24pOworYmF0Y2hfY29weShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNo LCBjb25zdCB2b2lkICpwdHIsIHVpbnQzMl90IHNpemUsCisJICAgdWludDMyX3QgYWxpZ24pOwog CiB2b2lkCiBnZW43X3JlbmRlcl9mbHVzaChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNo LCB1aW50MzJfdCBiYXRjaF9lbmQpOwogCiB1aW50MzJfdAogZ2VuN19maWxsX2N1cmJlX2J1ZmZl cl9kYXRhKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0JCQl1aW50OF90IGNvbG9y KTsKKwkJCSAgICB1aW50OF90IGNvbG9yKTsKIAogdWludDMyX3QKLWdlbjdfZmlsbF9zdXJmYWNl X3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0JCQlzdHJ1Y3QgaWd0X2J1 ZiAqYnVmLAotCQkJdWludDMyX3QgZm9ybWF0LAotCQkJaW50IGlzX2RzdCk7CitnZW43X2ZpbGxf c3VyZmFjZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCBzdHJ1Y3QgaWd0 X2J1ZiAqYnVmLAorCQkJdWludDMyX3QgZm9ybWF0LCBpbnQgaXNfZHN0KTsKIAogdWludDMyX3QK LWdlbjdfZmlsbF9iaW5kaW5nX3RhYmxlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gs Ci0JCQlzdHJ1Y3QgaWd0X2J1ZiAqZHN0KTsKK2dlbjdfZmlsbF9iaW5kaW5nX3RhYmxlKHN0cnVj dCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHN0cnVjdCBpZ3RfYnVmICpkc3QpOwogCiB1aW50 MzJfdAotZ2VuN19maWxsX2tlcm5lbChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAot CQljb25zdCB1aW50MzJfdCBrZXJuZWxbXVs0XSwKLQkJc2l6ZV90IHNpemUpOworZ2VuN19maWxs X2tlcm5lbChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCBjb25zdCB1aW50MzJfdCBr ZXJuZWxbXVs0XSwKKwkJIHNpemVfdCBzaXplKTsKIAogdWludDMyX3QKLWdlbjdfZmlsbF9pbnRl cmZhY2VfZGVzY3JpcHRvcihzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCBzdHJ1Y3Qg aWd0X2J1ZiAqZHN0LAotCQkJICAgICAgIGNvbnN0IHVpbnQzMl90IGtlcm5lbFtdWzRdLCBzaXpl X3Qgc2l6ZSk7CitnZW43X2ZpbGxfaW50ZXJmYWNlX2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwKKwkJCSAgICAgICBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LCBjb25zdCB1 aW50MzJfdCBrZXJuZWxbXVs0XSwKKwkJCSAgICAgICBzaXplX3Qgc2l6ZSk7CiAKIHZvaWQKIGdl bjdfZW1pdF9zdGF0ZV9iYXNlX2FkZHJlc3Moc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRj aCk7CkBAIC02OCwyOSArNjgsMjggQEAgZ2VuN19lbWl0X2ludGVyZmFjZV9kZXNjcmlwdG9yX2xv YWQoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgdWludDMyX3QgaW4KIAogdm9pZAog Z2VuN19lbWl0X21lZGlhX29iamVjdHMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwK LQkJCXVuc2lnbmVkIHgsIHVuc2lnbmVkIHksCi0JCQl1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQg aGVpZ2h0KTsKKwkJCXVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKKwkJCXVuc2lnbmVk IGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCk7CiAKIHZvaWQKIGdlbjdfZW1pdF9ncGdw dV93YWxrKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0JCSAgICAgdW5zaWduZWQg eCwgdW5zaWduZWQgeSwKLQkJICAgICB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KTsK KwkJICAgICB1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHksCisJCSAgICAgdW5zaWduZWQg aW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0KTsKIAogdm9pZAogZ2VuOF9yZW5kZXJfZmx1 c2goc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgdWludDMyX3QgYmF0Y2hfZW5kKTsK IAogdWludDMyX3QKLWdlbjhfZmlsbF9jdXJiZV9idWZmZXJfZGF0YShzdHJ1Y3QgaW50ZWxfYmF0 Y2hidWZmZXIgKmJhdGNoLAotCQkJdWludDhfdCBjb2xvcik7CitnZW44X2ZpbGxfY3VyYmVfYnVm ZmVyX2RhdGEoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgdWludDhfdCBjb2xvcik7 CiAKIHVpbnQzMl90Ci1nZW44X2ZpbGxfc3VyZmFjZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoLAotCQkJc3RydWN0IGlndF9idWYgKmJ1ZiwKLQkJCXVpbnQzMl90IGZvcm1h dCwKLQkJCWludCBpc19kc3QpOworZ2VuOF9maWxsX3N1cmZhY2Vfc3RhdGUoc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwgc3RydWN0IGlndF9idWYgKmJ1ZiwKKwkJCXVpbnQzMl90IGZv cm1hdCwgaW50IGlzX2RzdCk7CiAKIHVpbnQzMl90Ci1nZW44X2ZpbGxfaW50ZXJmYWNlX2Rlc2Ny aXB0b3Ioc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwgc3RydWN0IGlndF9idWYgKmRz dCwgIGNvbnN0IHVpbnQzMl90IGtlcm5lbFtdWzRdLCBzaXplX3Qgc2l6ZSk7CitnZW44X2ZpbGxf aW50ZXJmYWNlX2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKKwkJ CSAgICAgICBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LCBjb25zdCB1aW50MzJfdCBrZXJuZWxbXVs0XSwK KwkJCSAgICAgICBzaXplX3Qgc2l6ZSk7CiAKIHZvaWQKIGdlbjhfZW1pdF9zdGF0ZV9iYXNlX2Fk ZHJlc3Moc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCk7CkBAIC0xMDYsOCArMTA1LDgg QEAgZ2VuOF9lbWl0X21lZGlhX3N0YXRlX2ZsdXNoKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAq YmF0Y2gpOwogCiB2b2lkCiBnZW44X2VtaXRfZ3BncHVfd2FsayhzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoLAotCQkgICAgIHVuc2lnbmVkIHgsIHVuc2lnbmVkIHksCi0JCSAgICAgdW5z aWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCk7CisJCSAgICAgdW5zaWduZWQgaW50IHgsIHVu c2lnbmVkIGludCB5LAorCQkgICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhl aWdodCk7CiAKIHZvaWQKIGdlbjlfZW1pdF9zdGF0ZV9iYXNlX2FkZHJlc3Moc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCk7CmRpZmYgLS1naXQgYS9saWIvbWVkaWFfZmlsbC5oIGIvbGli L21lZGlhX2ZpbGwuaAppbmRleCAxNjFhZjhjZi4uZjZkYjczNGUgMTAwNjQ0Ci0tLSBhL2xpYi9t ZWRpYV9maWxsLmgKKysrIGIvbGliL21lZGlhX2ZpbGwuaApAQCAtNywyMiArNywyMiBAQAogdm9p ZAogZ2VuOF9tZWRpYV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAog CQlzdHJ1Y3QgaWd0X2J1ZiAqZHN0LAotCQl1bnNpZ25lZCB4LCB1bnNpZ25lZCB5LAotCQl1bnNp Z25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LAorCQl1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQg aW50IHksCisJCXVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwKIAkJdWlu dDhfdCBjb2xvcik7CiAKIHZvaWQKIGdlbjdfbWVkaWFfZmlsbGZ1bmMoc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwKLSAgICAgICAgICAgICAgICBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LAot ICAgICAgICAgICAgICAgIHVuc2lnbmVkIHgsIHVuc2lnbmVkIHksCi0gICAgICAgICAgICAgICAg dW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwKLSAgICAgICAgICAgICAgICB1aW50OF90 IGNvbG9yKTsKKwkJc3RydWN0IGlndF9idWYgKmRzdCwKKwkJdW5zaWduZWQgaW50IHgsIHVuc2ln bmVkIGludCB5LAorCQl1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGludCBoZWlnaHQsCisJ CXVpbnQ4X3QgY29sb3IpOwogCiB2b2lkCiBnZW45X21lZGlhX2ZpbGxmdW5jKHN0cnVjdCBpbnRl bF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCi0gICAgICAgICAgICAgICAgc3RydWN0IGlndF9idWYgKmRz dCwKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCB4LCB1bnNpZ25lZCB5LAotICAgICAgICAgICAg ICAgIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgdWlu dDhfdCBjb2xvcik7CisJCXN0cnVjdCBpZ3RfYnVmICpkc3QsCisJCXVuc2lnbmVkIGludCB4LCB1 bnNpZ25lZCBpbnQgeSwKKwkJdW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0 LAorCQl1aW50OF90IGNvbG9yKTsKIAogI2VuZGlmIC8qIFJFTkRFX01FRElBX0ZJTExfSCAqLwpk aWZmIC0tZ2l0IGEvbGliL21lZGlhX2ZpbGxfZ2VuNy5jIGIvbGliL21lZGlhX2ZpbGxfZ2VuNy5j CmluZGV4IGM5NzU1NWE2Li41YThjMzJmYiAxMDA2NDQKLS0tIGEvbGliL21lZGlhX2ZpbGxfZ2Vu Ny5jCisrKyBiL2xpYi9tZWRpYV9maWxsX2dlbjcuYwpAQCAtNDcsOCArNDcsOCBAQCBzdGF0aWMg Y29uc3QgdWludDMyX3QgbWVkaWFfa2VybmVsW11bNF0gPSB7CiB2b2lkCiBnZW43X21lZGlhX2Zp bGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJCXN0cnVjdCBpZ3RfYnVm ICpkc3QsCi0JCXVuc2lnbmVkIHgsIHVuc2lnbmVkIHksCi0JCXVuc2lnbmVkIHdpZHRoLCB1bnNp Z25lZCBoZWlnaHQsCisJCXVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKKwkJdW5zaWdu ZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LAogCQl1aW50OF90IGNvbG9yKQogewog CXVpbnQzMl90IGN1cmJlX2J1ZmZlciwgaW50ZXJmYWNlX2Rlc2NyaXB0b3I7CkBAIC02MSw4ICs2 MSw3IEBAIGdlbjdfbWVkaWFfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRj aCwKIAogCWN1cmJlX2J1ZmZlciA9IGdlbjdfZmlsbF9jdXJiZV9idWZmZXJfZGF0YShiYXRjaCwg Y29sb3IpOwogCWludGVyZmFjZV9kZXNjcmlwdG9yID0gZ2VuN19maWxsX2ludGVyZmFjZV9kZXNj cmlwdG9yKGJhdGNoLCBkc3QsCi0JCQkJCQkJICAgICAgbWVkaWFfa2VybmVsLAotCQkJCQkJCSAg ICAgIHNpemVvZihtZWRpYV9rZXJuZWwpKTsKKwkJCQkJbWVkaWFfa2VybmVsLCBzaXplb2YobWVk aWFfa2VybmVsKSk7CiAJaWd0X2Fzc2VydChiYXRjaC0+cHRyIDwgJmJhdGNoLT5idWZmZXJbNDA5 NV0pOwogCiAJLyogbWVkaWEgcGlwZWxpbmUgKi8KZGlmZiAtLWdpdCBhL2xpYi9tZWRpYV9maWxs X2dlbjguYyBiL2xpYi9tZWRpYV9maWxsX2dlbjguYwppbmRleCBlMzk4YzhlYS4uZWU5NDUxMGMg MTAwNjQ0Ci0tLSBhL2xpYi9tZWRpYV9maWxsX2dlbjguYworKysgYi9saWIvbWVkaWFfZmlsbF9n ZW44LmMKQEAgLTUwLDggKzUwLDggQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1lZGlhX2tlcm5l bFtdWzRdID0gewogdm9pZAogZ2VuOF9tZWRpYV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoLAogCQlzdHJ1Y3QgaWd0X2J1ZiAqZHN0LAotCQl1bnNpZ25lZCB4LCB1bnNp Z25lZCB5LAotCQl1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LAorCQl1bnNpZ25lZCBp bnQgeCwgdW5zaWduZWQgaW50IHksCisJCXVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50 IGhlaWdodCwKIAkJdWludDhfdCBjb2xvcikKIHsKIAl1aW50MzJfdCBjdXJiZV9idWZmZXIsIGlu dGVyZmFjZV9kZXNjcmlwdG9yOwpAQCAtNjMsNyArNjMsOCBAQCBnZW44X21lZGlhX2ZpbGxmdW5j KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJYmF0Y2gtPnB0ciA9ICZiYXRjaC0+ YnVmZmVyW0JBVENIX1NUQVRFX1NQTElUXTsKIAogCWN1cmJlX2J1ZmZlciA9IGdlbjhfZmlsbF9j dXJiZV9idWZmZXJfZGF0YShiYXRjaCwgY29sb3IpOwotCWludGVyZmFjZV9kZXNjcmlwdG9yID0g Z2VuOF9maWxsX2ludGVyZmFjZV9kZXNjcmlwdG9yKGJhdGNoLCBkc3QsIG1lZGlhX2tlcm5lbCwg c2l6ZW9mKG1lZGlhX2tlcm5lbCkpOworCWludGVyZmFjZV9kZXNjcmlwdG9yID0gZ2VuOF9maWxs X2ludGVyZmFjZV9kZXNjcmlwdG9yKGJhdGNoLCBkc3QsCisJCQkJCW1lZGlhX2tlcm5lbCwgc2l6 ZW9mKG1lZGlhX2tlcm5lbCkpOwogCWlndF9hc3NlcnQoYmF0Y2gtPnB0ciA8ICZiYXRjaC0+YnVm ZmVyWzQwOTVdKTsKIAogCS8qIG1lZGlhIHBpcGVsaW5lICovCmRpZmYgLS1naXQgYS9saWIvbWVk aWFfZmlsbF9nZW45LmMgYi9saWIvbWVkaWFfZmlsbF9nZW45LmMKaW5kZXggYTQ5MjQ2NmEuLmNi YzdhN2FjIDEwMDY0NAotLS0gYS9saWIvbWVkaWFfZmlsbF9nZW45LmMKKysrIGIvbGliL21lZGlh X2ZpbGxfZ2VuOS5jCkBAIC00Nyw4ICs0Nyw4IEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBtZWRp YV9rZXJuZWxbXVs0XSA9IHsKIHZvaWQKIGdlbjlfbWVkaWFfZmlsbGZ1bmMoc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwKIAkJc3RydWN0IGlndF9idWYgKmRzdCwKLQkJdW5zaWduZWQg eCwgdW5zaWduZWQgeSwKLQkJdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwKKwkJdW5z aWduZWQgaW50IHgsIHVuc2lnbmVkIGludCB5LAorCQl1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2ln bmVkIGludCBoZWlnaHQsCiAJCXVpbnQ4X3QgY29sb3IpCiB7CiAJdWludDMyX3QgY3VyYmVfYnVm ZmVyLCBpbnRlcmZhY2VfZGVzY3JpcHRvcjsKQEAgLTYwLDcgKzYwLDggQEAgZ2VuOV9tZWRpYV9m aWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogCWJhdGNoLT5wdHIgPSAm YmF0Y2gtPmJ1ZmZlcltCQVRDSF9TVEFURV9TUExJVF07CiAKIAljdXJiZV9idWZmZXIgPSBnZW44 X2ZpbGxfY3VyYmVfYnVmZmVyX2RhdGEoYmF0Y2gsIGNvbG9yKTsKLQlpbnRlcmZhY2VfZGVzY3Jp cHRvciA9IGdlbjhfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihiYXRjaCwgZHN0LCBtZWRpYV9r ZXJuZWwsIHNpemVvZihtZWRpYV9rZXJuZWwpKTsKKwlpbnRlcmZhY2VfZGVzY3JpcHRvciA9IGdl bjhfZmlsbF9pbnRlcmZhY2VfZGVzY3JpcHRvcihiYXRjaCwgZHN0LAorCQkJCQltZWRpYV9rZXJu ZWwsIHNpemVvZihtZWRpYV9rZXJuZWwpKTsKIAlhc3NlcnQoYmF0Y2gtPnB0ciA8ICZiYXRjaC0+ YnVmZmVyWzQwOTVdKTsKIAogCS8qIG1lZGlhIHBpcGVsaW5lICovCi0tIAoyLjE0LjMKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=