From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 03/55] drm/i915: i915_add_request must not fail Date: Fri, 29 May 2015 17:43:24 +0100 Message-ID: <1432917856-12261-4-git-send-email-John.C.Harrison@Intel.com> References: <1432917856-12261-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 516166EDE9 for ; Fri, 29 May 2015 09:44:21 -0700 (PDT) In-Reply-To: <1432917856-12261-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 aWNoIHdpbGwgc3VmZmljZSBmb3IgbWFya2luZyB0aGUgb2xkIG9uZSBhcyBjb21wbGV0ZS4KCnYy OiBJbXByb3ZlZCBXQVJOaW5ncyAoVG9tYXMgRWxmIHJldmlldyByZXF1ZXN0KS4KCkZvcjogVkla LTUxMTUKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICB8 ICAgIDYgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAg fCAgIDQzICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMgICAgICAgICAgICAgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9vdmVybGF5LmMgICAgICAgICB8ICAgIDggKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYyAgICAgIHwgICAgOCArKy0tLQogNyBmaWxlcyBjaGFuZ2VkLCAzMSBp bnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCBlYmExODU3Li4xYmU0YTUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI4NjAsOSAr Mjg2MCw5IEBAIHZvaWQgaTkxNV9nZW1faW5pdF9zd2l6emxpbmcoc3RydWN0IGRybV9kZXZpY2Ug KmRldik7CiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfcmluZ2J1ZmZlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKIGludCBfX211c3RfY2hlY2sgaTkxNV9ncHVfaWRsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKIGludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fc3VzcGVuZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKLWludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywKLQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJICAgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmopOwordm9pZCBfX2k5MTVfYWRkX3JlcXVl c3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKKwkJCXN0cnVjdCBkcm1fZmlsZSAqZmls ZSwKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmopOwogI2RlZmluZSBp OTE1X2FkZF9yZXF1ZXN0KHJpbmcpIFwKIAlfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgTlVMTCwg TlVMTCkKIGludCBfX2k5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNmY1MTQxNi4uZGQzOWFhNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0xMTU1LDE1ICsxMTU1LDEyIEBAIGk5MTVfZ2VtX2No ZWNrX3dlZGdlKHN0cnVjdCBpOTE1X2dwdV9lcnJvciAqZXJyb3IsCiBpbnQKIGk5MTVfZ2VtX2No ZWNrX29scihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlpbnQgcmV0Owot CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyZXEtPnJpbmctPmRldi0+c3RydWN0X211dGV4 KSk7CiAKLQlyZXQgPSAwOwogCWlmIChyZXEgPT0gcmVxLT5yaW5nLT5vdXRzdGFuZGluZ19sYXp5 X3JlcXVlc3QpCi0JCXJldCA9IGk5MTVfYWRkX3JlcXVlc3QocmVxLT5yaW5nKTsKKwkJaTkxNV9h ZGRfcmVxdWVzdChyZXEtPnJpbmcpOwogCi0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAog c3RhdGljIHZvaWQgZmFrZV9pcnEodW5zaWduZWQgbG9uZyBkYXRhKQpAQCAtMjQ2Niw5ICsyNDYz LDE0IEBAIGk5MTVfZ2VtX2dldF9zZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgKnNl cW5vKQogCXJldHVybiAwOwogfQogCi1pbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcsCi0JCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCi0JCSAg ICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQorLyoKKyAqIE5COiBUaGlzIGZ1 bmN0aW9uIGlzIG5vdCBhbGxvd2VkIHRvIGZhaWwuIERvaW5nIHNvIHdvdWxkIG1lYW4gdGhlIHRo ZQorICogcmVxdWVzdCBpcyBub3QgYmVpbmcgdHJhY2tlZCBmb3IgY29tcGxldGlvbiBidXQgdGhl IHdvcmsgaXRzZWxmIGlzCisgKiBnb2luZyB0byBoYXBwZW4gb24gdGhlIGhhcmR3YXJlLiBUaGlz IHdvdWxkIGJlIGEgQmFkIFRoaW5nKHRtKS4KKyAqLwordm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKKwkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZSwK KwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Q7CkBAIC0yNDc4LDcgKzI0ODAsNyBAQCBpbnQgX19p OTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAKIAlyZXF1ZXN0 ID0gcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0OwogCWlmIChXQVJOX09OKHJlcXVlc3Qg PT0gTlVMTCkpCi0JCXJldHVybiAtRU5PTUVNOworCQlyZXR1cm47CiAKIAlpZiAoaTkxNS5lbmFi bGVfZXhlY2xpc3RzKSB7CiAJCXJpbmdidWYgPSByZXF1ZXN0LT5jdHgtPmVuZ2luZVtyaW5nLT5p ZF0ucmluZ2J1ZjsKQEAgLTI1MDAsMTUgKzI1MDIsMTIgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVz dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCSAqIGlzIHRoYXQgdGhlIGZsdXNoIF9t dXN0XyBoYXBwZW4gYmVmb3JlIHRoZSBuZXh0IHJlcXVlc3QsIG5vIG1hdHRlcgogCSAqIHdoYXQu CiAJICovCi0JaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykgeworCWlmIChpOTE1LmVuYWJsZV9l eGVjbGlzdHMpCiAJCXJldCA9IGxvZ2ljYWxfcmluZ19mbHVzaF9hbGxfY2FjaGVzKHJpbmdidWYs IHJlcXVlc3QtPmN0eCk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0gZWxzZSB7CisJ ZWxzZQogCQlyZXQgPSBpbnRlbF9yaW5nX2ZsdXNoX2FsbF9jYWNoZXMocmluZyk7Ci0JCWlmIChy ZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0KKwkvKiBOb3QgYWxsb3dlZCB0byBmYWlsISAqLworCVdB Uk4ocmV0LCAiKl9yaW5nX2ZsdXNoX2FsbF9jYWNoZXMgZmFpbGVkOiAlZCFcbiIsIHJldCk7CiAK IAkvKiBSZWNvcmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzdGFydCBvZiB0aGUgcmVxdWVzdCBzbyB0 aGF0CiAJICogc2hvdWxkIHdlIGRldGVjdCB0aGUgdXBkYXRlZCBzZXFubyBwYXJ0LXdheSB0aHJv dWdoIHRoZQpAQCAtMjUxNywxNyArMjUxNiwxNSBAQCBpbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJICovCiAJcmVxdWVzdC0+cG9zdGZpeCA9IGlu dGVsX3JpbmdfZ2V0X3RhaWwocmluZ2J1Zik7CiAKLQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3Rz KSB7CisJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKIAkJcmV0ID0gcmluZy0+ZW1pdF9yZXF1 ZXN0KHJpbmdidWYsIHJlcXVlc3QpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9IGVs c2UgeworCWVsc2UgewogCQlyZXQgPSByaW5nLT5hZGRfcmVxdWVzdChyaW5nKTsKLQkJaWYgKHJl dCkKLQkJCXJldHVybiByZXQ7CiAKIAkJcmVxdWVzdC0+dGFpbCA9IGludGVsX3JpbmdfZ2V0X3Rh aWwocmluZ2J1Zik7CiAJfQorCS8qIE5vdCBhbGxvd2VkIHRvIGZhaWwhICovCisJV0FSTihyZXQs ICJlbWl0fGFkZF9yZXF1ZXN0IGZhaWxlZDogJWQhXG4iLCByZXQpOwogCiAJcmVxdWVzdC0+aGVh ZCA9IHJlcXVlc3Rfc3RhcnQ7CiAKQEAgLTI1NzYsOCArMjU3Myw2IEBAIGludCBfX2k5MTVfYWRk X3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAogCS8qIFNhbml0eSBjaGVj ayB0aGF0IHRoZSByZXNlcnZlZCBzaXplIHdhcyBsYXJnZSBlbm91Z2guICovCiAJaW50ZWxfcmlu Z19yZXNlcnZlZF9zcGFjZV9lbmQocmluZ2J1Zik7Ci0KLQlyZXR1cm4gMDsKIH0KIAogc3RhdGlj IGJvb2wgaTkxNV9jb250ZXh0X2lzX2Jhbm5lZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXgg YmQwZTRiZC4uMmI0OGEzMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYwpAQCAtMTA2MSw3ICsxMDYxLDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVf Y29tbWFuZHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyaW5nLT5ncHVfY2FjaGVzX2RpcnR5 ID0gdHJ1ZTsKIAogCS8qIEFkZCBhIGJyZWFkY3J1bWIgZm9yIHRoZSBjb21wbGV0aW9uIG9mIHRo ZSBiYXRjaCBidWZmZXIgKi8KLQkodm9pZClfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgZmlsZSwg b2JqKTsKKwlfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgZmlsZSwgb2JqKTsKIH0KIAogc3RhdGlj IGludApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0 YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwppbmRl eCA1MjE1NDhhLi5jZTQ3ODhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZW5kZXJfc3RhdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9y ZW5kZXJfc3RhdGUuYwpAQCAtMTczLDcgKzE3Myw3IEBAIGludCBpOTE1X2dlbV9yZW5kZXJfc3Rh dGVfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCiAJaTkxNV92bWFfbW92ZV90 b19hY3RpdmUoaTkxNV9nZW1fb2JqX3RvX2dndHQoc28ub2JqKSwgcmluZyk7CiAKLQlyZXQgPSBf X2k5MTVfYWRkX3JlcXVlc3QocmluZywgTlVMTCwgc28ub2JqKTsKKwlfX2k5MTVfYWRkX3JlcXVl c3QocmluZywgTlVMTCwgc28ub2JqKTsKIAkvKiBfX2k5MTVfYWRkX3JlcXVlc3QgbW92ZXMgb2Jq ZWN0IHRvIGluYWN0aXZlIGlmIGl0IGZhaWxzICovCiBvdXQ6CiAJaTkxNV9nZW1fcmVuZGVyX3N0 YXRlX2ZpbmkoJnNvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZTYyZDM5Ni4uN2E3 NWZjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTEzNzMsNyArMTM3Myw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9yZW5kZXJfc3RhdGVfaW5pdChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nLAogCiAJaTkxNV92bWFfbW92ZV90b19hY3RpdmUoaTkxNV9nZW1fb2Jq X3RvX2dndHQoc28ub2JqKSwgcmluZyk7CiAKLQlyZXQgPSBfX2k5MTVfYWRkX3JlcXVlc3Qocmlu ZywgZmlsZSwgc28ub2JqKTsKKwlfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgZmlsZSwgc28ub2Jq KTsKIAkvKiBpbnRlbF9sb2dpY2FsX3JpbmdfYWRkX3JlcXVlc3QgbW92ZXMgb2JqZWN0IHRvIGlu YWN0aXZlIGlmIGl0CiAJICogZmFpbHMgKi8KIG91dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYwppbmRleCAyNWM4ZWM2Li5lNzUzNGI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf b3ZlcmxheS5jCkBAIC0yMjAsOSArMjIwLDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2Rv X3dhaXRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKIAlXQVJOX09OKG92 ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwogCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvdmVybGF5 LT5sYXN0X2ZsaXBfcmVxLAogCQkJCQkgICAgIHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVz dCk7Ci0JcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKLQlpZiAocmV0KQotCQlyZXR1cm4g cmV0OworCWk5MTVfYWRkX3JlcXVlc3QocmluZyk7CiAKIAlvdmVybGF5LT5mbGlwX3RhaWwgPSB0 YWlsOwogCXJldCA9IGk5MTVfd2FpdF9yZXF1ZXN0KG92ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwpA QCAtMjkxLDcgKzI4OSw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9jb250aW51ZShzdHJ1 Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKIAlXQVJOX09OKG92ZXJsYXktPmxhc3RfZmxpcF9y ZXEpOwogCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvdmVybGF5LT5sYXN0X2ZsaXBfcmVxLAog CQkJCQkgICAgIHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Ci0JcmV0dXJuIGk5MTVf YWRkX3JlcXVlc3QocmluZyk7CisJaTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKKworCXJldHVybiAw OwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9vdmVybGF5X3JlbGVhc2Vfb2xkX3ZpZF90YWlsKHN0 cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jCmluZGV4IDc0YzIyMjIuLjcwNjFiMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIxNTYsMTQgKzIxNTYsMTAgQEAgc3RhdGljIGludCBpbnRl bF93cmFwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiBpbnQgaW50 ZWxfcmluZ19pZGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7CiAJc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7Ci0JaW50IHJldDsKIAogCS8qIFdlIG5lZWQgdG8gYWRk IGFueSByZXF1ZXN0cyByZXF1aXJlZCB0byBmbHVzaCB0aGUgb2JqZWN0cyBhbmQgcmluZyAqLwot CWlmIChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpIHsKLQkJcmV0ID0gaTkxNV9hZGRf cmVxdWVzdChyaW5nKTsKLQkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0JfQorCWlmIChyaW5n LT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpCisJCWk5MTVfYWRkX3JlcXVlc3QocmluZyk7CiAK IAkvKiBXYWl0IHVwb24gdGhlIGxhc3QgcmVxdWVzdCB0byBiZSBjb21wbGV0ZWQgKi8KIAlpZiAo bGlzdF9lbXB0eSgmcmluZy0+cmVxdWVzdF9saXN0KSkKLS0gCjEuNy45LjUKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==