From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongwon Kim Subject: [RFC PATCH 47/60] hyper_dmabuf: fix issues with event-polling Date: Tue, 19 Dec 2017 11:30:03 -0800 Message-ID: <1513711816-2618-47-git-send-email-dongwon.kim@intel.com> References: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org, mateuszx.potrola@intel.com, dri-devel@lists.freedesktop.org, dongwon.kim@intel.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBmaXhlcyBzZXZlcmFsIGRlZmVjdHMgb24gZXZlbnQgaGFuZGxpbmcKaW5jbHVk aW5nOgoKMS4gSW1wb3J0ZWQgc2d0IGluZm8gYW5kIGV4cG9ydGVkIHNndCBpbmZvIG5vdyBoYXZl CiAgIGJ1ZmZlciBmb3IgcHJpdmF0ZSBkYXRhIChwcml2KSB3aXRoIHZhcmlhYmxlIHNpemUKCjIu IE5vdyB1c2VyIGlucHV0IHRvIGV4cG9ydF9yZW1vdGVfaW9jdGwgY29udGFpbiBzel9wcml2LAog ICB3aGljaCBzcGVjaWZpZXMgc2l6ZSBvZiBwcml2YXRlIGRhdGEgKGUuZy4gbWV0YSBkYXRhKQoK My4gSW5jcmVhc2VkIG1heCBzaXplIG9mIG9wZXJhbmRzIHRvIDY0ICogc2l6ZW9mKGludCkKICAg dG8gYWNjb21vZGF0ZSBtYXhpbXVtIHNpemUgb2YgcHJpdmF0ZSBkYXRhCgo0LiBJbml0aWFsaXpl IG11dGV4ZXMgYW5kIHNwaW5sb2NrCgo1LiBDaGFuZ2UgbWF4IGV2ZW50IHF1ZXVlIGRlcHRoIHRv IDMyIHRvIHByZXZlbnQgdXNlciBhcHAKICAgdG8gZGlzcGxheSB0b28gbXVjaCBvdXRkYXRlZCBm cmFtZXMuCgo2LiBGcmVlcyBvbGRlc3QgZXZlbnQgaWYgZXZlbnQgcXVldWUgaXMgZnVsbCB0byBw cmV2ZW50CiAgIG92ZXJmbG93LgoKU2lnbmVkLW9mZi1ieTogRG9uZ3dvbiBLaW0gPGRvbmd3b24u a2ltQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVm X2Rydi5jICAgICAgfCAyMyArKysrKystLS0KIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBl cl9kbWFidWZfZXZlbnQuYyAgICB8ICA4ICstLQogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5 cGVyX2RtYWJ1Zl9ldmVudC5oICAgIHwgIDIgKy0KIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9o eXBlcl9kbWFidWZfaW9jdGwuYyAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKystLQogZHJp dmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9tc2cuYyAgICAgIHwgNDIgKysrKysr KysrKysrKy0tLQogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9tc2cuaCAg ICAgIHwgIDIgKy0KIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfc2dsX3By b2MuYyB8ICAxICsKIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfc3RydWN0 LmggICB8ICA5ICsrKy0KIGluY2x1ZGUvdWFwaS94ZW4vaHlwZXJfZG1hYnVmLmggICAgICAgICAg ICAgICAgICB8ICA3ICsrLQogOSBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVy X2RtYWJ1Zl9kcnYuYyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2 LmMKaW5kZXggMDA1Njc3ZC4uODdlYTZjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vaHlwZXJf ZG1hYnVmL2h5cGVyX2RtYWJ1Zl9kcnYuYworKysgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYv aHlwZXJfZG1hYnVmX2Rydi5jCkBAIC03NCw5ICs3NCw2IEBAIGludCBoeXBlcl9kbWFidWZfcmVs ZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAloeXBlcl9k bWFidWZfZm9yZWFjaF9leHBvcnRlZChoeXBlcl9kbWFidWZfZW1lcmdlbmN5X3JlbGVhc2UsIGZp bHApOwogCi0JLyogY2xlYW4gdXAgZXZlbnQgcXVldWUgKi8KLQloeXBlcl9kbWFidWZfZXZlbnRz X3JlbGVhc2UoKTsKLQogCXJldHVybiAwOwogfQogCkBAIC05OCwxMiArOTUsMTggQEAgc3NpemVf dCBoeXBlcl9kbWFidWZfZXZlbnRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIg KmJ1ZmZlciwKIAlpbnQgcmV0OwogCiAJLyogb25seSByb290IGNhbiByZWFkIGV2ZW50cyAqLwot CWlmICghY2FwYWJsZShDQVBfREFDX09WRVJSSURFKSkKKwlpZiAoIWNhcGFibGUoQ0FQX0RBQ19P VkVSUklERSkpIHsKKwkJZGV2X2VycihoeXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZpY2UsCisJCQki T25seSByb290IGNhbiByZWFkIGV2ZW50c1xuIik7CiAJCXJldHVybiAtRUZBVUxUOworCX0KIAog CS8qIG1ha2Ugc3VyZSB1c2VyIGJ1ZmZlciBjYW4gYmUgd3JpdHRlbiAqLwotCWlmICghYWNjZXNz X29rKFZFUklGWV9XUklURSwgYnVmZmVyLCBjb3VudCkpCisJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZ X1dSSVRFLCBidWZmZXIsIGNvdW50KSkgeworCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRl LmRldmljZSwKKwkJCSJVc2VyIGJ1ZmZlciBjYW4ndCBiZSB3cml0dGVuLlxuIik7CiAJCXJldHVy biAtRUZBVUxUOworCX0KIAogCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmaHlwZXJf ZG1hYnVmX3ByaXZhdGUuZXZlbnRfcmVhZF9sb2NrKTsKIAlpZiAocmV0KQpAQCAtMTMyLDcgKzEz NSw3IEBAIHNzaXplX3QgaHlwZXJfZG1hYnVmX2V2ZW50X3JlYWQoc3RydWN0IGZpbGUgKmZpbHAs IGNoYXIgX191c2VyICpidWZmZXIsCiAJCQlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGUo aHlwZXJfZG1hYnVmX3ByaXZhdGUuZXZlbnRfd2FpdCwKIAkJCQkJCSAgICAgICAhbGlzdF9lbXB0 eSgmaHlwZXJfZG1hYnVmX3ByaXZhdGUuZXZlbnRfbGlzdCkpOwogCi0JCQlpZiAocmV0ID49IDAp CisJCQlpZiAocmV0ID09IDApCiAJCQkJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZo eXBlcl9kbWFidWZfcHJpdmF0ZS5ldmVudF9yZWFkX2xvY2spOwogCiAJCQlpZiAocmV0KQpAQCAt MTc0LDEzICsxNzcsMTQgQEAgc3NpemVfdCBoeXBlcl9kbWFidWZfZXZlbnRfcmVhZChzdHJ1Y3Qg ZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwKIAkJCX0KIAogCQkJcmV0ICs9IGUtPmV2 ZW50X2RhdGEuaGRyLnNpemU7CisJCQloeXBlcl9kbWFidWZfcHJpdmF0ZS5jdXJyX251bV9ldmVu dC0tOwogCQkJa2ZyZWUoZSk7CiAJCX0KIAl9CiAKIAltdXRleF91bmxvY2soJmh5cGVyX2RtYWJ1 Zl9wcml2YXRlLmV2ZW50X3JlYWRfbG9jayk7CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gcmV0Owog fQogCiBzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBoeXBlcl9kbWFidWZfZHJpdmVyX2Zv cHMgPQpAQCAtMjMzLDYgKzIzNyw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGh5cGVyX2RtYWJ1Zl9k cnZfaW5pdCh2b2lkKQogCXByaW50ayggS0VSTl9OT1RJQ0UgImh5cGVyX2RtYWJ1Zl9zdGFydGlu ZzogSW5pdGlhbGl6YXRpb24gc3RhcnRlZFxuIik7CiAKIAltdXRleF9pbml0KCZoeXBlcl9kbWFi dWZfcHJpdmF0ZS5sb2NrKTsKKwltdXRleF9pbml0KCZoeXBlcl9kbWFidWZfcHJpdmF0ZS5ldmVu dF9yZWFkX2xvY2spOworCXNwaW5fbG9ja19pbml0KCZoeXBlcl9kbWFidWZfcHJpdmF0ZS5ldmVu dF9sb2NrKTsKIAogCXJldCA9IHJlZ2lzdGVyX2RldmljZSgpOwogCWlmIChyZXQgPCAwKSB7CkBA IC0zMjksNiArMzM1LDkgQEAgc3RhdGljIHZvaWQgaHlwZXJfZG1hYnVmX2Rydl9leGl0KHZvaWQp CiAKIAloeXBlcl9kbWFidWZfcHJpdmF0ZS5leGl0ZWQgPSB0cnVlOwogCisJLyogY2xlYW4gdXAg ZXZlbnQgcXVldWUgKi8KKwloeXBlcl9kbWFidWZfZXZlbnRzX3JlbGVhc2UoKTsKKwogCW11dGV4 X3VubG9jaygmaHlwZXJfZG1hYnVmX3ByaXZhdGUubG9jayk7CiAKIAlkZXZfaW5mbyhoeXBlcl9k bWFidWZfcHJpdmF0ZS5kZXZpY2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFi dWYvaHlwZXJfZG1hYnVmX2V2ZW50LmMgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJf ZG1hYnVmX2V2ZW50LmMKaW5kZXggYmU3MGU1NC4uODk5OGE3ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9ldmVudC5jCisrKyBiL2RyaXZlcnMveGVu L2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZXZlbnQuYwpAQCAtNDksMTEgKzQ5LDEyIEBAIHN0 YXRpYyB2b2lkIGh5cGVyX2RtYWJ1Zl9zZW5kX2V2ZW50X2xvY2tlZChzdHJ1Y3QgaHlwZXJfZG1h YnVmX2V2ZW50ICplKQogCiAJLyogY2hlY2sgY3VycmVudCBudW1iZXIgb2YgZXZlbnQgdGhlbiBp ZiBpdCBoaXRzIHRoZSBtYXggbnVtIGFsbG93ZWQKIAkgKiB0aGVuIHJlbW92ZSB0aGUgb2xkZXN0 IGV2ZW50IGluIHRoZSBsaXN0ICovCi0JaWYgKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmN1cnJfbnVt X2V2ZW50ID4gTUFYX05VTUJFUl9PRl9FVkVOVCAtIDEpIHsKKwlpZiAoaHlwZXJfZG1hYnVmX3By aXZhdGUuY3Vycl9udW1fZXZlbnQgPiBNQVhfREVQVEhfRVZFTlRfUVVFVUUgLSAxKSB7CiAJCW9s ZGVzdCA9IGxpc3RfZmlyc3RfZW50cnkoJmh5cGVyX2RtYWJ1Zl9wcml2YXRlLmV2ZW50X2xpc3Qs CiAJCQkJc3RydWN0IGh5cGVyX2RtYWJ1Zl9ldmVudCwgbGluayk7CiAJCWxpc3RfZGVsKCZvbGRl c3QtPmxpbmspOwogCQloeXBlcl9kbWFidWZfcHJpdmF0ZS5jdXJyX251bV9ldmVudC0tOworCQlr ZnJlZShvbGRlc3QpOwogCX0KIAogCWxpc3RfYWRkX3RhaWwoJmUtPmxpbmssCkBAIC03NCw2ICs3 NSw3IEBAIHZvaWQgaHlwZXJfZG1hYnVmX2V2ZW50c19yZWxlYXNlKCkKIAlsaXN0X2Zvcl9lYWNo X2VudHJ5X3NhZmUoZSwgZXQsICZoeXBlcl9kbWFidWZfcHJpdmF0ZS5ldmVudF9saXN0LAogCQkJ CSBsaW5rKSB7CiAJCWxpc3RfZGVsKCZlLT5saW5rKTsKKwkJa2ZyZWUoZSk7CiAJCWh5cGVyX2Rt YWJ1Zl9wcml2YXRlLmN1cnJfbnVtX2V2ZW50LS07CiAJfQogCkBAIC0xMDQsOCArMTA2LDggQEAg aW50IGh5cGVyX2RtYWJ1Zl9pbXBvcnRfZXZlbnQoaHlwZXJfZG1hYnVmX2lkX3QgaGlkKQogCiAJ ZS0+ZXZlbnRfZGF0YS5oZHIuZXZlbnRfdHlwZSA9IEhZUEVSX0RNQUJVRl9ORVdfSU1QT1JUOwog CWUtPmV2ZW50X2RhdGEuaGRyLmhpZCA9IGhpZDsKLQllLT5ldmVudF9kYXRhLmRhdGEgPSAodm9p ZCopJmltcG9ydGVkX3NndF9pbmZvLT5wcml2WzBdOwotCWUtPmV2ZW50X2RhdGEuaGRyLnNpemUg PSAxMjg7CisJZS0+ZXZlbnRfZGF0YS5kYXRhID0gKHZvaWQqKWltcG9ydGVkX3NndF9pbmZvLT5w cml2OworCWUtPmV2ZW50X2RhdGEuaGRyLnNpemUgPSBpbXBvcnRlZF9zZ3RfaW5mby0+c3pfcHJp djsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZoeXBlcl9kbWFidWZfcHJpdmF0ZS5ldmVudF9sb2Nr LCBpcnFmbGFncyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBl cl9kbWFidWZfZXZlbnQuaCBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZf ZXZlbnQuaAppbmRleCA0NGM0ODU2Li41MGRiMDRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9o eXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2V2ZW50LmgKKysrIGIvZHJpdmVycy94ZW4vaHlwZXJf ZG1hYnVmL2h5cGVyX2RtYWJ1Zl9ldmVudC5oCkBAIC0yNSw3ICsyNSw3IEBACiAjaWZuZGVmIF9f SFlQRVJfRE1BQlVGX0VWRU5UX0hfXwogI2RlZmluZSBfX0hZUEVSX0RNQUJVRl9FVkVOVF9IX18K IAotI2RlZmluZSBNQVhfTlVNQkVSX09GX0VWRU5UIDEwMjQKKyNkZWZpbmUgTUFYX0RFUFRIX0VW RU5UX1FVRVVFIDMyCiAKIGVudW0gaHlwZXJfZG1hYnVmX2V2ZW50X3R5cGUgewogCUhZUEVSX0RN QUJVRl9ORVdfSU1QT1JUID0gMHgxMDAwMCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2h5cGVy X2RtYWJ1Zi9oeXBlcl9kbWFidWZfaW9jdGwuYyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9o eXBlcl9kbWFidWZfaW9jdGwuYwppbmRleCA4NWI3MGRiLi4wNmY5NWNhIDEwMDY0NAotLS0gYS9k cml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmMKKysrIGIvZHJpdmVy cy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9pb2N0bC5jCkBAIC04Nyw3ICs4Nyw3IEBA IHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX3NlbmRfZXhwb3J0X21zZyhzdHJ1Y3QgaHlwZXJfZG1h YnVmX3NndF9pbmZvICpzZ3RfaW5mbywKIHsKIAlzdHJ1Y3QgaHlwZXJfZG1hYnVmX2JhY2tlbmRf b3BzICpvcHMgPSBoeXBlcl9kbWFidWZfcHJpdmF0ZS5iYWNrZW5kX29wczsKIAlzdHJ1Y3QgaHlw ZXJfZG1hYnVmX3JlcSAqcmVxOwotCWludCBvcGVyYW5kc1s0MF0gPSB7MH07CisJaW50IG9wZXJh bmRzW01BWF9OVU1CRVJfT0ZfT1BFUkFORFNdID0gezB9OwogCWludCByZXQsIGk7CiAKIAkvKiBu b3cgY3JlYXRlIHJlcXVlc3QgZm9yIGltcG9ydGVyIHZpYSByaW5nICovCkBAIC0xMDgsOCArMTA4 LDEwIEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX3NlbmRfZXhwb3J0X21zZyhzdHJ1Y3QgaHlw ZXJfZG1hYnVmX3NndF9pbmZvICpzZ3RfaW5mbywKIAkJfQogCX0KIAotCS8qIGRyaXZlci9hcHBs aWNhdGlvbiBzcGVjaWZpYyBwcml2YXRlIGluZm8sIG1heCA0eDQgYnl0ZXMgKi8KLQltZW1jcHko Jm9wZXJhbmRzWzhdLCAmc2d0X2luZm8tPnByaXZbMF0sIHNpemVvZih1bnNpZ25lZCBpbnQpICog MzIpOworCW9wZXJhbmRzWzhdID0gc2d0X2luZm8tPnN6X3ByaXY7CisKKwkvKiBkcml2ZXIvYXBw bGljYXRpb24gc3BlY2lmaWMgcHJpdmF0ZSBpbmZvICovCisJbWVtY3B5KCZvcGVyYW5kc1s5XSwg c2d0X2luZm8tPnByaXYsIG9wZXJhbmRzWzhdKTsKIAogCXJlcSA9IGtjYWxsb2MoMSwgc2l6ZW9m KCpyZXEpLCBHRlBfS0VSTkVMKTsKIApAQCAtMTgxLDggKzE4MywzMiBAQCBzdGF0aWMgaW50IGh5 cGVyX2RtYWJ1Zl9leHBvcnRfcmVtb3RlX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB2b2lkICpk YXRhKQogCQkJCQlzZ3RfaW5mby0+dW5leHBvcnRfc2NoZWR1bGVkID0gMDsKIAkJCQl9CiAKKwkJ CQkvKiBpZiB0aGVyZSdzIGFueSBjaGFuZ2UgaW4gc2l6ZSBvZiBwcml2YXRlIGRhdGEuCisJCQkJ ICogd2UgcmVhbGxvY2F0ZSBzcGFjZSBmb3IgcHJpdmF0ZSBkYXRhIHdpdGggbmV3IHNpemUgKi8K KwkJCQlpZiAoZXhwb3J0X3JlbW90ZV9hdHRyLT5zel9wcml2ICE9IHNndF9pbmZvLT5zel9wcml2 KSB7CisJCQkJCWtmcmVlKHNndF9pbmZvLT5wcml2KTsKKworCQkJCQkvKiB0cnVuY2F0aW5nIHNp emUgKi8KKwkJCQkJaWYgKGV4cG9ydF9yZW1vdGVfYXR0ci0+c3pfcHJpdiA+IE1BWF9TSVpFX1BS SVZfREFUQSkgeworCQkJCQkJc2d0X2luZm8tPnN6X3ByaXYgPSBNQVhfU0laRV9QUklWX0RBVEE7 CisJCQkJCX0gZWxzZSB7CisJCQkJCQlzZ3RfaW5mby0+c3pfcHJpdiA9IGV4cG9ydF9yZW1vdGVf YXR0ci0+c3pfcHJpdjsKKwkJCQkJfQorCisJCQkJCXNndF9pbmZvLT5wcml2ID0ga2NhbGxvYygx LCBzZ3RfaW5mby0+c3pfcHJpdiwgR0ZQX0tFUk5FTCk7CisKKwkJCQkJaWYoIXNndF9pbmZvLT5w cml2KSB7CisJCQkJCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwKKwkJCQkJ CQkiQ2FuJ3QgcmVhbGxvY2F0ZSBwcml2IGJlY2F1c2UgdGhlcmUncyBubyBtb3JlIHNwYWNlIGxl ZnRcbiIpOworCQkJCQkJaHlwZXJfZG1hYnVmX3JlbW92ZV9leHBvcnRlZChzZ3RfaW5mby0+aGlk KTsKKwkJCQkJCWh5cGVyX2RtYWJ1Zl9jbGVhbnVwX3NndF9pbmZvKHNndF9pbmZvLCB0cnVlKTsK KwkJCQkJCWtmcmVlKHNndF9pbmZvKTsKKwkJCQkJCXJldHVybiAtRU5PTUVNOworCQkJCQl9CisJ CQkJfQorCiAJCQkJLyogdXBkYXRlIHByaXZhdGUgZGF0YSBpbiBzZ3RfaW5mbyB3aXRoIG5ldyBv bmVzICovCi0JCQkJbWVtY3B5KCZzZ3RfaW5mby0+cHJpdlswXSwgJmV4cG9ydF9yZW1vdGVfYXR0 ci0+cHJpdlswXSwgc2l6ZW9mKHVuc2lnbmVkIGludCkgKiAzMik7CisJCQkJY29weV9mcm9tX3Vz ZXIoc2d0X2luZm8tPnByaXYsIGV4cG9ydF9yZW1vdGVfYXR0ci0+cHJpdiwgc2d0X2luZm8tPnN6 X3ByaXYpOwogCiAJCQkJLyogc2VuZCBhbiBleHBvcnQgbXNnIGZvciB1cGRhdGluZyBwcml2IGlu IGltcG9ydGVyICovCiAJCQkJcmV0ID0gaHlwZXJfZG1hYnVmX3NlbmRfZXhwb3J0X21zZyhzZ3Rf aW5mbywgTlVMTCk7CkBAIC0yMjIsNiArMjQ4LDI2IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVm X2V4cG9ydF9yZW1vdGVfaW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgKmRhdGEpCiAJCWdv dG8gZmFpbF9zZ3RfaW5mb19jcmVhdGlvbjsKIAl9CiAKKwkvKiBwb3NzaWJsZSB0cnVuY2F0aW9u ICovCisJaWYgKGV4cG9ydF9yZW1vdGVfYXR0ci0+c3pfcHJpdiA+IE1BWF9TSVpFX1BSSVZfREFU QSkgeworCQlzZ3RfaW5mby0+c3pfcHJpdiA9IE1BWF9TSVpFX1BSSVZfREFUQTsKKwl9IGVsc2Ug eworCQlzZ3RfaW5mby0+c3pfcHJpdiA9IGV4cG9ydF9yZW1vdGVfYXR0ci0+c3pfcHJpdjsKKwl9 CisKKwkvKiBjcmVhdGluZyBidWZmZXIgZm9yIHByaXZhdGUgZGF0YSBvZiBidWZmZXIgKi8KKwlp ZihzZ3RfaW5mby0+c3pfcHJpdiAhPSAwKSB7CisJCXNndF9pbmZvLT5wcml2ID0ga2NhbGxvYygx LCBzZ3RfaW5mby0+c3pfcHJpdiwgR0ZQX0tFUk5FTCk7CisKKwkJaWYoIXNndF9pbmZvLT5wcml2 KSB7CisJCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwgIm5vIG1vcmUgc3Bh Y2UgbGVmdFxuIik7CisJCQlyZXQgPSAtRU5PTUVNOworCQkJZ290byBmYWlsX3ByaXZfY3JlYXRp b247CisJCX0KKwl9IGVsc2UgeworCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmlj ZSwgInNpemUgaXMgMFxuIik7CisJfQorCiAJc2d0X2luZm8tPmhpZCA9IGh5cGVyX2RtYWJ1Zl9n ZXRfaGlkKCk7CiAKIAkvKiBubyBtb3JlIGV4cG9ydGVkIGRtYWJ1ZiBhbGxvd2VkICovCkBAIC0y NzksNyArMzI1LDcgQEAgc3RhdGljIGludCBoeXBlcl9kbWFidWZfZXhwb3J0X3JlbW90ZV9pb2N0 bChzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCAqZGF0YSkKIAlJTklUX0xJU1RfSEVBRCgmc2d0X2lu Zm8tPnZhX3ZtYXBwZWQtPmxpc3QpOwogCiAJLyogY29weSBwcml2YXRlIGRhdGEgdG8gc2d0X2lu Zm8gKi8KLQltZW1jcHkoJnNndF9pbmZvLT5wcml2WzBdLCAmZXhwb3J0X3JlbW90ZV9hdHRyLT5w cml2WzBdLCBzaXplb2YodW5zaWduZWQgaW50KSAqIDMyKTsKKwljb3B5X2Zyb21fdXNlcihzZ3Rf aW5mby0+cHJpdiwgZXhwb3J0X3JlbW90ZV9hdHRyLT5wcml2LCBzZ3RfaW5mby0+c3pfcHJpdik7 CiAKIAlwYWdlX2luZm8gPSBoeXBlcl9kbWFidWZfZXh0X3BncyhzZ3QpOwogCWlmICghcGFnZV9p bmZvKSB7CkBAIC0zMjksNiArMzc1LDEwIEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX2V4cG9y dF9yZW1vdGVfaW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgKmRhdGEpCiAKIGZhaWxfbWFw X2FjdGl2ZV9hdHRhY2hlZDoKIAlrZnJlZShzZ3RfaW5mby0+YWN0aXZlX3NndHMpOworCWtmcmVl KHNndF9pbmZvLT5wcml2KTsKKworZmFpbF9wcml2X2NyZWF0aW9uOgorCWtmcmVlKHNndF9pbmZv KTsKIAogZmFpbF9tYXBfYWN0aXZlX3NndHM6CiBmYWlsX3NndF9pbmZvX2NyZWF0aW9uOgpAQCAt NTUzLDYgKzYwMywxMCBAQCBzdGF0aWMgdm9pZCBoeXBlcl9kbWFidWZfZGVsYXllZF91bmV4cG9y dChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCWh5cGVyX2RtYWJ1Zl9yZW1vdmVfZXhwb3J0 ZWQoc2d0X2luZm8tPmhpZCk7CiAJCS8qIHJlZ2lzdGVyIGh5cGVyX2RtYWJ1Zl9pZCB0byB0aGUg bGlzdCBmb3IgcmV1c2UgKi8KIAkJc3RvcmVfcmV1c2FibGVfaGlkKHNndF9pbmZvLT5oaWQpOwor CisJCWlmIChzZ3RfaW5mby0+c3pfcHJpdiA+IDAgJiYgIXNndF9pbmZvLT5wcml2KQorCQkJa2Zy ZWUoc2d0X2luZm8tPnByaXYpOworCiAJCWtmcmVlKHNndF9pbmZvKTsKIAl9CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX21zZy5jIGIvZHJpdmVy cy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9tc2cuYwppbmRleCAxNTJmOWUzLi5lYzM3 YzNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX21z Zy5jCisrKyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfbXNnLmMKQEAg LTY1LDEwICs2NSwxMSBAQCB2b2lkIGh5cGVyX2RtYWJ1Zl9jcmVhdGVfcmVxdWVzdChzdHJ1Y3Qg aHlwZXJfZG1hYnVmX3JlcSAqcmVxLAogCQkgKiBvcGVyYW5kczUgOiBvZmZzZXQgb2YgZGF0YSBp biB0aGUgZmlyc3QgcGFnZQogCQkgKiBvcGVyYW5kczYgOiBsZW5ndGggb2YgZGF0YSBpbiB0aGUg bGFzdCBwYWdlCiAJCSAqIG9wZXJhbmRzNyA6IHRvcC1sZXZlbCByZWZlcmVuY2UgbnVtYmVyIGZv ciBzaGFyZWQgcGFnZXMKLQkJICogb3BlcmFuZHM4fjM5IDogRHJpdmVyLXNwZWNpZmljIHByaXZh dGUgZGF0YSAoZS5nLiBncmFwaGljIGJ1ZmZlcidzIG1ldGEgaW5mbykKKwkJICogb3BlcmFuZHM4 IDogc2l6ZSBvZiBwcml2YXRlIGRhdGEgKGZyb20gb3BlcmFuZHM5KQorCQkgKiBvcGVyYW5kczkg fiA6IERyaXZlci1zcGVjaWZpYyBwcml2YXRlIGRhdGEgKGUuZy4gZ3JhcGhpYyBidWZmZXIncyBt ZXRhIGluZm8pCiAJCSAqLwogCi0JCW1lbWNweSgmcmVxLT5vcGVyYW5kc1swXSwgJm9wZXJhbmRz WzBdLCA0MCAqIHNpemVvZihpbnQpKTsKKwkJbWVtY3B5KCZyZXEtPm9wZXJhbmRzWzBdLCAmb3Bl cmFuZHNbMF0sIDkgKiBzaXplb2YoaW50KSArIG9wZXJhbmRzWzhdKTsKIAkJYnJlYWs7CiAKIAlj YXNlIEhZUEVSX0RNQUJVRl9OT1RJRllfVU5FWFBPUlQ6CkBAIC0xMzUsNyArMTM2LDggQEAgdm9p ZCBjbWRfcHJvY2Vzc193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJICogb3BlcmFu ZHM1IDogb2Zmc2V0IG9mIGRhdGEgaW4gdGhlIGZpcnN0IHBhZ2UKIAkJICogb3BlcmFuZHM2IDog bGVuZ3RoIG9mIGRhdGEgaW4gdGhlIGxhc3QgcGFnZQogCQkgKiBvcGVyYW5kczcgOiB0b3AtbGV2 ZWwgcmVmZXJlbmNlIG51bWJlciBmb3Igc2hhcmVkIHBhZ2VzCi0JCSAqIG9wZXJhbmRzOH4xMSA6 IERyaXZlci1zcGVjaWZpYyBwcml2YXRlIGRhdGEgKGUuZy4gZ3JhcGhpYyBidWZmZXIncyBtZXRh IGluZm8pCisJCSAqIG9wZXJhbmRzOCA6IHNpemUgb2YgcHJpdmF0ZSBkYXRhIChmcm9tIG9wZXJh bmRzOSkKKwkJICogb3BlcmFuZHM5IH4gOiBEcml2ZXItc3BlY2lmaWMgcHJpdmF0ZSBkYXRhIChl LmcuIGdyYXBoaWMgYnVmZmVyJ3MgbWV0YSBpbmZvKQogCQkgKi8KIAogCQkvKiBpZiBuZW50cyA9 PSAwLCBpdCBtZWFucyBpdCBpcyBhIG1lc3NhZ2Ugb25seSBmb3IgcHJpdiBzeW5jaHJvbml6YXRp b24KQEAgLTE1Miw4ICsxNTQsMjUgQEAgdm9pZCBjbWRfcHJvY2Vzc193b3JrKHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yaykKIAkJCQkJIkNhbid0IGZpbmQgaW1wb3J0ZWQgc2d0X2luZm8gZnJvbSBJ TVBPUlRfTElTVFxuIik7CiAJCQkJYnJlYWs7CiAJCQl9Ci0JCQkvKiB1cGRhdGluZyBwcmkgZGF0 YSAqLwotCQkJbWVtY3B5KCZpbXBvcnRlZF9zZ3RfaW5mby0+cHJpdlswXSwgJnJlcS0+b3BlcmFu ZHNbOF0sIDMyICogc2l6ZW9mKGludCkpOworCisJCQkvKiBpZiBzaXplIG9mIG5ldyBwcml2YXRl IGRhdGEgaXMgZGlmZmVyZW50LAorCQkJICogd2UgcmVhbGxvY2F0ZSBpdC4gKi8KKwkJCWlmIChp bXBvcnRlZF9zZ3RfaW5mby0+c3pfcHJpdiAhPSByZXEtPm9wZXJhbmRzWzhdKSB7CisJCQkJa2Zy ZWUoaW1wb3J0ZWRfc2d0X2luZm8tPnByaXYpOworCQkJCWltcG9ydGVkX3NndF9pbmZvLT5zel9w cml2ID0gcmVxLT5vcGVyYW5kc1s4XTsKKwkJCQlpbXBvcnRlZF9zZ3RfaW5mby0+cHJpdiA9IGtj YWxsb2MoMSwgcmVxLT5vcGVyYW5kc1s4XSwgR0ZQX0tFUk5FTCk7CisJCQkJaWYgKCFpbXBvcnRl ZF9zZ3RfaW5mby0+cHJpdikgeworCQkJCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRl dmljZSwKKwkJCQkJCSJGYWlsIHRvIGFsbG9jYXRlIHByaXZcbiIpOworCisJCQkJCS8qIHNldCBp dCBpbnZhbGlkICovCisJCQkJCWltcG9ydGVkX3NndF9pbmZvLT52YWxpZCA9IDA7CisJCQkJCWJy ZWFrOworCQkJCX0KKwkJCX0KKworCQkJLyogdXBkYXRpbmcgcHJpdiBkYXRhICovCisJCQltZW1j cHkoaW1wb3J0ZWRfc2d0X2luZm8tPnByaXYsICZyZXEtPm9wZXJhbmRzWzldLCByZXEtPm9wZXJh bmRzWzhdKTsKIAogI2lmZGVmIENPTkZJR19IWVBFUl9ETUFCVUZfRVZFTlRfR0VOCiAJCQkvKiBn ZW5lcmF0aW5nIGltcG9ydCBldmVudCAqLwpAQCAtMTcxLDYgKzE5MCwxNyBAQCB2b2lkIGNtZF9w cm9jZXNzX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQkJYnJlYWs7CiAJCX0KIAor CQlpbXBvcnRlZF9zZ3RfaW5mby0+c3pfcHJpdiA9IHJlcS0+b3BlcmFuZHNbOF07CisJCWltcG9y dGVkX3NndF9pbmZvLT5wcml2ID0ga2NhbGxvYygxLCByZXEtPm9wZXJhbmRzWzhdLCBHRlBfS0VS TkVMKTsKKworCQlpZiAoIWltcG9ydGVkX3NndF9pbmZvLT5wcml2KSB7CisJCQlkZXZfZXJyKGh5 cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwKKwkJCQkiRmFpbCB0byBhbGxvY2F0ZSBwcml2XG4i KTsKKworCQkJa2ZyZWUoaW1wb3J0ZWRfc2d0X2luZm8pOworCQkJYnJlYWs7CisJCX0KKwogCQlp bXBvcnRlZF9zZ3RfaW5mby0+aGlkLmlkID0gcmVxLT5vcGVyYW5kc1swXTsKIAogCQlmb3IgKGk9 MDsgaTwzOyBpKyspCkBAIC0xOTAsNyArMjIwLDcgQEAgdm9pZCBjbWRfcHJvY2Vzc193b3JrKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJZGV2X2RiZyhoeXBlcl9kbWFidWZfcHJpdmF0ZS5k ZXZpY2UsICJcdGxhc3QgbGVuICVkXG4iLCByZXEtPm9wZXJhbmRzWzZdKTsKIAkJZGV2X2RiZyho eXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZpY2UsICJcdGdyZWZpZCAlZFxuIiwgcmVxLT5vcGVyYW5k c1s3XSk7CiAKLQkJbWVtY3B5KCZpbXBvcnRlZF9zZ3RfaW5mby0+cHJpdlswXSwgJnJlcS0+b3Bl cmFuZHNbOF0sIDMyICogc2l6ZW9mKGludCkpOworCQltZW1jcHkoaW1wb3J0ZWRfc2d0X2luZm8t PnByaXYsICZyZXEtPm9wZXJhbmRzWzldLCByZXEtPm9wZXJhbmRzWzhdKTsKIAogCQlpbXBvcnRl ZF9zZ3RfaW5mby0+dmFsaWQgPSAxOwogCQloeXBlcl9kbWFidWZfcmVnaXN0ZXJfaW1wb3J0ZWQo aW1wb3J0ZWRfc2d0X2luZm8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVm L2h5cGVyX2RtYWJ1Zl9tc2cuaCBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFi dWZfbXNnLmgKaW5kZXggNzQ2NDI3My4uMGY2ZTc5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4v aHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9tc2cuaAorKysgYi9kcml2ZXJzL3hlbi9oeXBlcl9k bWFidWYvaHlwZXJfZG1hYnVmX21zZy5oCkBAIC0yNSw3ICsyNSw3IEBACiAjaWZuZGVmIF9fSFlQ RVJfRE1BQlVGX01TR19IX18KICNkZWZpbmUgX19IWVBFUl9ETUFCVUZfTVNHX0hfXwogCi0jZGVm aW5lIE1BWF9OVU1CRVJfT0ZfT1BFUkFORFMgNDAKKyNkZWZpbmUgTUFYX05VTUJFUl9PRl9PUEVS QU5EUyA2NAogCiBzdHJ1Y3QgaHlwZXJfZG1hYnVmX3JlcSB7CiAJdW5zaWduZWQgaW50IHJlcXVl c3RfaWQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVm X3NnbF9wcm9jLmMgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3NnbF9w cm9jLmMKaW5kZXggZGQxN2QyNi4uNjkxYTcxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vaHlw ZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9zZ2xfcHJvYy5jCisrKyBiL2RyaXZlcnMveGVuL2h5cGVy X2RtYWJ1Zi9oeXBlcl9kbWFidWZfc2dsX3Byb2MuYwpAQCAtMjU1LDYgKzI1NSw3IEBAIGludCBo eXBlcl9kbWFidWZfY2xlYW51cF9zZ3RfaW5mbyhzdHJ1Y3QgaHlwZXJfZG1hYnVmX3NndF9pbmZv ICpzZ3RfaW5mbywgaW50IGZvCiAJa2ZyZWUoc2d0X2luZm8tPmFjdGl2ZV9hdHRhY2hlZCk7CiAJ a2ZyZWUoc2d0X2luZm8tPnZhX2ttYXBwZWQpOwogCWtmcmVlKHNndF9pbmZvLT52YV92bWFwcGVk KTsKKwlrZnJlZShzZ3RfaW5mby0+cHJpdik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfc3RydWN0LmggYi9kcml2ZXJz L3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3N0cnVjdC5oCmluZGV4IGYwMWY1MzUuLjZm OTI5ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZf c3RydWN0LmgKKysrIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9zdHJ1 Y3QuaApAQCAtNTcsNiArNTcsNyBAQCBzdHJ1Y3QgaHlwZXJfZG1hYnVmX3BhZ2VzX2luZm8gewog ICAgICAgICBzdHJ1Y3QgcGFnZSAqKnBhZ2VzOyAvKiBwYWdlcyB0aGF0IGNvbnRhaW5zIHJlZmVy ZW5jZSBudW1iZXJzIG9mIHNoYXJlZCBwYWdlcyovCiB9OwogCisKIC8qIEJvdGggaW1wb3J0ZXIg YW5kIGV4cG9ydGVyIHVzZSB0aGlzIHN0cnVjdHVyZSB0byBwb2ludCB0byBzZyBsaXN0cwogICoK ICAqIEV4cG9ydGVyIHN0b3JlcyByZWZlcmVuY2VzIHRvIHNndCBpbiBhIGhhc2ggdGFibGUKQEAg LTkwLDcgKzkxLDkgQEAgc3RydWN0IGh5cGVyX2RtYWJ1Zl9zZ3RfaW5mbyB7CiAJICogdXNlcyBy ZWxlYXNlcyBoeXBlcl9kbWFidWYgZGV2aWNlCiAJICovCiAJc3RydWN0IGZpbGUgKmZpbHA7Ci0J aW50IHByaXZbMzJdOyAvKiBkZXZpY2Ugc3BlY2lmaWMgaW5mbyAoZS5nLiBpbWFnZSdzIG1ldGEg aW5mbz8pICovCisKKwlzaXplX3Qgc3pfcHJpdjsKKwljaGFyICpwcml2OyAvKiBkZXZpY2Ugc3Bl Y2lmaWMgaW5mbyAoZS5nLiBpbWFnZSdzIG1ldGEgaW5mbz8pICovCiB9OwogCiAvKiBJbXBvcnRl ciBzdG9yZSByZWZlcmVuY2VzIChiZWZvcmUgbWFwcGluZykgb24gc2hhcmVkIHBhZ2VzCkBAIC0x MTAsNyArMTEzLDkgQEAgc3RydWN0IGh5cGVyX2RtYWJ1Zl9pbXBvcnRlZF9zZ3RfaW5mbyB7CiAJ dm9pZCAqcmVmc19pbmZvOwogCWJvb2wgdmFsaWQ7CiAJaW50IG51bV9pbXBvcnRlcnM7Ci0JaW50 IHByaXZbMzJdOyAvKiBkZXZpY2Ugc3BlY2lmaWMgaW5mbyAoZS5nLiBpbWFnZSdzIG1ldGEgaW5m bz8pICovCisKKwlzaXplX3Qgc3pfcHJpdjsKKwljaGFyICpwcml2OyAvKiBkZXZpY2Ugc3BlY2lm aWMgaW5mbyAoZS5nLiBpbWFnZSdzIG1ldGEgaW5mbz8pICovCiB9OwogCiAjZW5kaWYgLyogX19I WVBFUl9ETUFCVUZfU1RSVUNUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL3hlbi9o eXBlcl9kbWFidWYuaCBiL2luY2x1ZGUvdWFwaS94ZW4vaHlwZXJfZG1hYnVmLmgKaW5kZXggM2E2 MTcyZS4uZGYwMWIxNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL3hlbi9oeXBlcl9kbWFidWYu aAorKysgYi9pbmNsdWRlL3VhcGkveGVuL2h5cGVyX2RtYWJ1Zi5oCkBAIC0yNSw2ICsyNSw4IEBA CiAjaWZuZGVmIF9fTElOVVhfUFVCTElDX0hZUEVSX0RNQUJVRl9IX18KICNkZWZpbmUgX19MSU5V WF9QVUJMSUNfSFlQRVJfRE1BQlVGX0hfXwogCisjZGVmaW5lIE1BWF9TSVpFX1BSSVZfREFUQSAx OTIKKwogdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgICBpbnQgaWQ7CiAgICAgICAgIGludCBybmdf a2V5WzNdOyAvKiAxMmJ5dGVzIGxvbmcgcmFuZG9tIG51bWJlciAqLwpAQCAtMzMsNyArMzUsNyBA QCB0eXBlZGVmIHN0cnVjdCB7CiBzdHJ1Y3QgaHlwZXJfZG1hYnVmX2V2ZW50X2hkciB7CiAJaW50 IGV2ZW50X3R5cGU7IC8qIG9uZSB0eXBlIG9ubHkgZm9yIG5vdyAtIG5ldyBpbXBvcnQgKi8KIAlo eXBlcl9kbWFidWZfaWRfdCBoaWQ7IC8qIGh5cGVyX2RtYWJ1Zl9pZCBvZiBzcGVjaWZpYyBoeXBl cl9kbWFidWYgKi8KLQlzaXplX3Qgc2l6ZTsgLyogc2l6ZSBvZiBkYXRhICovCisJaW50IHNpemU7 IC8qIHNpemUgb2YgZGF0YSAqLwogfTsKIAogc3RydWN0IGh5cGVyX2RtYWJ1Zl9ldmVudF9kYXRh IHsKQEAgLTY3LDcgKzY5LDggQEAgc3RydWN0IGlvY3RsX2h5cGVyX2RtYWJ1Zl9leHBvcnRfcmVt b3RlIHsKIAlpbnQgcmVtb3RlX2RvbWFpbjsKIAkvKiBleHBvcnRlZCBkbWEgYnVmIGlkICovCiAJ aHlwZXJfZG1hYnVmX2lkX3QgaGlkOwotCWludCBwcml2WzMyXTsKKwlpbnQgc3pfcHJpdjsKKwlj aGFyICpwcml2OwogfTsKIAogI2RlZmluZSBJT0NUTF9IWVBFUl9ETUFCVUZfRVhQT1JUX0ZEIFwK LS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==