From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 06/59] drm/i915: i915_add_request must not fail Date: Thu, 19 Mar 2015 12:30:11 +0000 Message-ID: <1426768264-16996-7-git-send-email-John.C.Harrison@Intel.com> References: <1426768264-16996-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9747C6EA05 for ; Thu, 19 Mar 2015 05:31:13 -0700 (PDT) In-Reply-To: <1426768264-16996-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBpOTE1 X2FkZF9yZXF1ZXN0KCkgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGtlZXAgdHJhY2sgb2Ygd29yayB0 aGF0IGhhcyBiZWVuCndyaXR0ZW4gdG8gdGhlIHJpbmcgYnVmZmVyLiBJdCBhZGRzIGVwaWxvZ3Vl IGNvbW1hbmRzIHRvIHRyYWNrIHByb2dyZXNzIChzZXFubwp1cGRhdGVzIGFuZCBzdWNoKSwgbW92 ZXMgdGhlIHJlcXVlc3Qgc3RydWN0dXJlIG9udG8gdGhlIHJpZ2h0IGxpc3QgYW5kIG90aGVyCnN1 Y2ggaG91c2Uga2VlcGluZyB0YXNrcy4gSG93ZXZlciwgdGhlIHdvcmsgaXRzZWxmIGhhcyBhbHJl YWR5IGJlZW4gd3JpdHRlbiB0bwp0aGUgcmluZyBhbmQgd2lsbCBnZXQgZXhlY3V0ZWQgd2hldGhl ciBvciBub3QgdGhlIGFkZCByZXF1ZXN0IGNhbGwgc3VjY2VlZHMuIFNvCm5vIG1hdHRlciB3aGF0 IGdvZXMgd3JvbmcsIHRoZXJlIGlzbid0IGEgd2hvbGUgbG90IG9mIHBvaW50IGluIGZhaWxpbmcg dGhlIGNhbGwuCgpBdCB0aGUgbW9tZW50LCB0aGlzIGlzIGZpbmUoaXNoKS4gSWYgdGhlIGFkZCBy ZXF1ZXN0IGRvZXMgYmFpbCBlYXJseSBvbiBhbmQgbm90CmRvIHRoZSBob3VzZWtlZXBpbmcsIHRo ZSByZXF1ZXN0IHdpbGwgc3RpbGwgZmxvYXQgYXJvdW5kIGluIHRoZQpyaW5nLT5vdXRzdGFuZGlu Z19sYXp5X3JlcXVlc3QgZmllbGQgYW5kIGJlIHBpY2tlZCB1cCBuZXh0IHRpbWUuIEl0IG1lYW5z Cm11bHRpcGxlIHBpZWNlcyBvZiB3b3JrIHdpbGwgYmUgdGFnZ2VkIGFzIHRoZSBzYW1lIHJlcXVl c3QgYW5kIGRyaXZlciBjYW4ndAphY3R1YWxseSB3YWl0IGZvciB0aGUgZmlyc3QgcGllY2Ugb2Yg d29yayB1bnRpbCBzb21ldGhpbmcgZWxzZSBoYXMgYmVlbgpzdWJtaXR0ZWQuIEJ1dCBpdCBhbGwg c29ydCBvZiBoYW5ncyB0b2dldGhlci4KClRoaXMgcGF0Y2ggc2VyaWVzIGlzIGFsbCBhYm91dCBy ZW1vdmluZyB0aGUgT0xSIGFuZCBndWFyYW50ZWVpbmcgdGhhdCBlYWNoIHBpZWNlCm9mIHdvcmsg Z2V0cyBpdHMgb3duIHBlcnNvbmFsIHJlcXVlc3QuIFRoYXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBu byBtb3JlCidob292ZXJpbmcgdXAgb2YgZm9yZ290dGVuIHJlcXVlc3RzJy4gSWYgdGhlIHJlcXVl c3QgZG9lcyBub3QgZ2V0IHRyYWNrZWQgdGhlbgppdCB3aWxsIGJlIGxlYWtlZC4gVGh1cyB0aGUg YWRkIHJlcXVlc3QgY2FsbCBfbXVzdF8gbm90IGZhaWwuIFRoZSBwcmV2aW91cyBwYXRjaApzaG91 bGQgaGF2ZSBhbHJlYWR5IGVuc3VyZWQgdGhhdCBpdCBfd2lsbF8gbm90IGZhaWwgYnkgcmVtb3Zp bmcgdGhlIHBvdGVudGlhbApmb3IgcnVubmluZyBvdXQgb2YgcmluZyBzcGFjZS4gVGhpcyBwYXRj aCBlbmZvcmNlcyB0aGUgcnVsZSBieSBhY3R1YWxseSByZW1vdmluZwp0aGUgZWFybHkgZXhpdCBw YXRocyBhbmQgdGhlIHJldHVybiBjb2RlLgoKTm90ZSB0aGF0IGlmIHNvbWV0aGluZyBkb2VzIG1h bmFnZSB0byBmYWlsIGFuZCB0aGUgZXBpbG9ndWUgY29tbWFuZHMgZG9uJ3QgZ2V0CndyaXR0ZW4g dG8gdGhlIHJpbmcsIHRoZSBkcml2ZXIgd2lsbCBzdGlsbCBoYW5nIHRvZ2V0aGVyLiBUaGUgcmVx dWVzdCB3aWxsIGJlCmFkZGVkIHRvIHRoZSB0cmFja2luZyBsaXN0cy4gQW5kIGFzIGluIHRoZSBv bGQgY2FzZSwgYW55IHN1YnNlcXVlbnQgd29yayB3aWxsCmdlbmVyYXRlIGEgbmV3IHNlcW5vIHdo aWNoIHdpbGwgc3VmZmljZSBmb3IgbWFya2luZyB0aGUgb2xkIG9uZSBhcyBjb21wbGV0ZS4KCkZv cjogVklaLTUxMTUKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29u QEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg ICAgICB8ICAgIDYgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAg ICAgICAgfCAgIDQ0ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICAgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9vdmVybGF5LmMgICAgICAgICB8ICAgMTAgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgICB8ICAgIDggKystLS0KIDcgZmlsZXMgY2hhbmdl ZCwgMzIgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKaW5kZXggZmU2NDQ2ZC4uN2IzNmQ0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0y NzQ4LDkgKzI3NDgsOSBAQCB2b2lkIGk5MTVfZ2VtX2luaXRfc3dpenpsaW5nKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwogdm9pZCBpOTE1X2dlbV9jbGVhbnVwX3JpbmdidWZmZXIoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7CiBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ3B1X2lkbGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7CiBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX3N1c3BlbmQoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Ci1pbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCi0JCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCi0JCSAgICAg ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqKTsKK3ZvaWQgX19pOTE1X2Fk ZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQlzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGUsCisJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqKTsKICNk ZWZpbmUgaTkxNV9hZGRfcmVxdWVzdChyaW5nKSBcCiAJX19pOTE1X2FkZF9yZXF1ZXN0KHJpbmcs IE5VTEwsIE5VTEwpCiBpbnQgX19pOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGZjMzgzZmMuLmNkZjFj OWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTE1OSwxNSArMTE1OSwxMiBAQCBpOTE1 X2dlbV9jaGVja193ZWRnZShzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yLAogaW50CiBpOTE1 X2dlbV9jaGVja19vbHIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7Ci0JaW50 IHJldDsKLQogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcmVxLT5yaW5nLT5kZXYtPnN0cnVj dF9tdXRleCkpOwogCi0JcmV0ID0gMDsKIAlpZiAocmVxID09IHJlcS0+cmluZy0+b3V0c3RhbmRp bmdfbGF6eV9yZXF1ZXN0KQotCQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJlcS0+cmluZyk7CisJ CWk5MTVfYWRkX3JlcXVlc3QocmVxLT5yaW5nKTsKIAotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7 CiB9CiAKIHN0YXRpYyB2b2lkIGZha2VfaXJxKHVuc2lnbmVkIGxvbmcgZGF0YSkKQEAgLTIzMjUs OSArMjMyMiwxNCBAQCBpOTE1X2dlbV9nZXRfc2Vxbm8oc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dTMyICpzZXFubykKIAlyZXR1cm4gMDsKIH0KIAotaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAotCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxl LAotCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKKy8qCisgKiBOQjog VGhpcyBmdW5jdGlvbiBpcyBub3QgYWxsb3dlZCB0byBmYWlsLiBEb2luZyBzbyB3b3VsZCBtZWFu IHRoZSB0aGUKKyAqIHJlcXVlc3QgaXMgbm90IGJlaW5nIHRyYWNrZWQgZm9yIGNvbXBsZXRpb24g YnV0IHRoZSB3b3JrIGl0c2VsZiBpcworICogZ29pbmcgdG8gaGFwcGVuIG9uIHRoZSBoYXJkd2Fy ZS4gVGhpcyB3b3VsZCBiZSBhIEJhZCBUaGluZyh0bSkuCisgKi8KK3ZvaWQgX19pOTE1X2FkZF9y ZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQlzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUsCisJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7CiAJc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0OwpAQCAtMjMzNyw3ICsyMzM5LDcgQEAg aW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCiAJ cmVxdWVzdCA9IHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdDsKIAlpZiAoV0FSTl9PTihy ZXF1ZXN0ID09IE5VTEwpKQotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0dXJuOwogCiAJaWYgKGk5 MTUuZW5hYmxlX2V4ZWNsaXN0cykgewogCQlyaW5nYnVmID0gcmVxdWVzdC0+Y3R4LT5lbmdpbmVb cmluZy0+aWRdLnJpbmdidWY7CkBAIC0yMzU5LDE1ICsyMzYxLDEyIEBAIGludCBfX2k5MTVfYWRk X3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkgKiBpcyB0aGF0IHRoZSBm bHVzaCBfbXVzdF8gaGFwcGVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0LCBubyBtYXR0ZXIKIAkg KiB3aGF0LgogCSAqLwotCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKKwlpZiAoaTkxNS5l bmFibGVfZXhlY2xpc3RzKQogCQlyZXQgPSBsb2dpY2FsX3JpbmdfZmx1c2hfYWxsX2NhY2hlcyhy aW5nYnVmLCByZXF1ZXN0LT5jdHgpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9IGVs c2UgeworCWVsc2UKIAkJcmV0ID0gaW50ZWxfcmluZ19mbHVzaF9hbGxfY2FjaGVzKHJpbmcpOwot CQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9CisJLyogTm90IGFsbG93ZWQgdG8gZmFpbCEg Ki8KKwlXQVJOX09OKHJldCk7CiAKIAkvKiBSZWNvcmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzdGFy dCBvZiB0aGUgcmVxdWVzdCBzbyB0aGF0CiAJICogc2hvdWxkIHdlIGRldGVjdCB0aGUgdXBkYXRl ZCBzZXFubyBwYXJ0LXdheSB0aHJvdWdoIHRoZQpAQCAtMjM3NiwxNSArMjM3NSwxMiBAQCBpbnQg X19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJICovCiAJ cmVxdWVzdC0+cG9zdGZpeCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmluZ2J1Zik7CiAKLQlpZiAo aTkxNS5lbmFibGVfZXhlY2xpc3RzKSB7CisJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKIAkJ cmV0ID0gcmluZy0+ZW1pdF9yZXF1ZXN0KHJpbmdidWYsIHJlcXVlc3QpOwotCQlpZiAocmV0KQot CQkJcmV0dXJuIHJldDsKLQl9IGVsc2UgeworCWVsc2UKIAkJcmV0ID0gcmluZy0+YWRkX3JlcXVl c3QocmluZyk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0KKwkvKiBOb3QgYWxsb3dl ZCB0byBmYWlsISAqLworCVdBUk5fT04ocmV0KTsKIAogCXJlcXVlc3QtPmhlYWQgPSByZXF1ZXN0 X3N0YXJ0OwogCXJlcXVlc3QtPnRhaWwgPSBpbnRlbF9yaW5nX2dldF90YWlsKHJpbmdidWYpOwpA QCAtMjQzNSw4ICsyNDMxLDYgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nLAogCiAJLyogU2FuaXR5IGNoZWNrIHRoYXQgdGhlIHJlc2VydmVkIHNp emUgd2FzIGxhcmdlIGVub3VnaC4gKi8KIAlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX2VuZChy aW5nYnVmKTsKLQotCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCAzOGUyMTc4Li4xYmIyMzdj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMDYz LDcgKzEwNjMsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCXJpbmctPmdwdV9jYWNoZXNfZGlydHkgPSB0cnVlOwogCiAJLyog QWRkIGEgYnJlYWRjcnVtYiBmb3IgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGJhdGNoIGJ1ZmZlciAq LwotCSh2b2lkKV9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBmaWxlLCBvYmopOworCV9faTkxNV9h ZGRfcmVxdWVzdChyaW5nLCBmaWxlLCBvYmopOwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCmluZGV4IDUyMTU0OGEuLmNlNDc4 OGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0 ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCkBA IC0xNzMsNyArMTczLDcgQEAgaW50IGk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAKIAlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShpOTE1X2dl bV9vYmpfdG9fZ2d0dChzby5vYmopLCByaW5nKTsKIAotCXJldCA9IF9faTkxNV9hZGRfcmVxdWVz dChyaW5nLCBOVUxMLCBzby5vYmopOworCV9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBOVUxMLCBz by5vYmopOwogCS8qIF9faTkxNV9hZGRfcmVxdWVzdCBtb3ZlcyBvYmplY3QgdG8gaW5hY3RpdmUg aWYgaXQgZmFpbHMgKi8KIG91dDoKIAlpOTE1X2dlbV9yZW5kZXJfc3RhdGVfZmluaSgmc28pOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBiZGJkY2FlLi44ZDQ4NzYxIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwpAQCAtMTM1Miw3ICsxMzUyLDcgQEAgc3RhdGljIGludCBpbnRlbF9s cl9jb250ZXh0X3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcs CiAKIAlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShpOTE1X2dlbV9vYmpfdG9fZ2d0dChzby5vYmop LCByaW5nKTsKIAotCXJldCA9IF9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBmaWxlLCBzby5vYmop OworCV9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBmaWxlLCBzby5vYmopOwogCS8qIGludGVsX2xv Z2ljYWxfcmluZ19hZGRfcmVxdWVzdCBtb3ZlcyBvYmplY3QgdG8gaW5hY3RpdmUgaWYgaXQKIAkg KiBmYWlscyAqLwogb3V0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf b3ZlcmxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCmluZGV4IDgy M2QxZDkuLjZhZjI1ODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKQEAgLTIx OSwxNyArMjE5LDE1IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qo c3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiAJQlVHX09OKG92ZXJsYXktPmxhc3RfZmxp cF9yZXEpOwogCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvdmVybGF5LT5sYXN0X2ZsaXBfcmVx LAogCQkJCQkgICAgIHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Ci0JcmV0ID0gaTkx NV9hZGRfcmVxdWVzdChyaW5nKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCWk5MTVfYWRk X3JlcXVlc3QocmluZyk7CiAKIAlvdmVybGF5LT5mbGlwX3RhaWwgPSB0YWlsOwogCXJldCA9IGk5 MTVfd2FpdF9yZXF1ZXN0KG92ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwogCWlmIChyZXQpCiAJCXJl dHVybiByZXQ7CiAJaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzKGRldik7Ci0KIAlpOTE1X2dlbV9y ZXF1ZXN0X2Fzc2lnbigmb3ZlcmxheS0+bGFzdF9mbGlwX3JlcSwgTlVMTCk7CisKIAlyZXR1cm4g MDsKIH0KIApAQCAtMjkxLDcgKzI4OSw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9jb250 aW51ZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKIAlXQVJOX09OKG92ZXJsYXktPmxh c3RfZmxpcF9yZXEpOwogCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvdmVybGF5LT5sYXN0X2Zs aXBfcmVxLAogCQkJCQkgICAgIHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Ci0JcmV0 dXJuIGk5MTVfYWRkX3JlcXVlc3QocmluZyk7CisJaTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKKwor CXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9vdmVybGF5X3JlbGVhc2Vfb2xkX3Zp ZF90YWlsKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDkwNzUwMDguLjFhN2VkOGIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIxNzIsMTQgKzIxNzIsMTAgQEAgc3RhdGlj IGludCBpbnRlbF93cmFwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp CiBpbnQgaW50ZWxfcmluZ19pZGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7CiAJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7Ci0JaW50IHJldDsKIAogCS8qIFdlIG5l ZWQgdG8gYWRkIGFueSByZXF1ZXN0cyByZXF1aXJlZCB0byBmbHVzaCB0aGUgb2JqZWN0cyBhbmQg cmluZyAqLwotCWlmIChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpIHsKLQkJcmV0ID0g aTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKLQkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0JfQor CWlmIChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpCisJCWk5MTVfYWRkX3JlcXVlc3Qo cmluZyk7CiAKIAkvKiBXYWl0IHVwb24gdGhlIGxhc3QgcmVxdWVzdCB0byBiZSBjb21wbGV0ZWQg Ki8KIAlpZiAobGlzdF9lbXB0eSgmcmluZy0+cmVxdWVzdF9saXN0KSkKLS0gCjEuNy45LjUKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==