From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/i915: Switch obj->mm.lock lockdep annotations on its head Date: Fri, 16 Aug 2019 20:23:36 +0200 Message-ID: <20190816182336.27305-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 78EA46E96D for ; Fri, 16 Aug 2019 18:23:44 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id z51so5891701edz.13 for ; Fri, 16 Aug 2019 11:23:44 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel Graphics Development Cc: Daniel Vetter , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGhlIHRyb3VibGUgd2l0aCBoYXZpbmcgYSBwbGFpbiBuZXN0aW5nIGZsYWcgZm9yIGxvY2tzIHdo aWNoIGRvIG5vdApuYXR1cmFsbHkgbmVzdCAodW5saWtlIGJsb2NrIGRldmljZXMgYW5kIHRoZWly IHBhcnRpdGlvbnMsIHdoaWNoIGlzCnRoZSBvcmlnaW5hbCBtb3RpdmF0aW9uIGZvciBuZXN0aW5n IGxldmVscykgaXMgdGhhdCBsb2NrZGVwIHdpbGwKbmV2ZXIgc3BvdCBhIHRydWUgZGVhZGxvY2sg aWYgeW91IHNjcmV3IHVwLgoKVGhpcyBwYXRjaCBpcyBhbiBhdHRlbXB0IGF0IHRyeWluZyBiZXR0 ZXIsIGJ5IGhpZ2hsaWdodGluZyBhIGJpdCBtb3JlCnRoZSBhY3R1YWwgbmF0dXJlIG9mIHRoZSBu ZXN0aW5nIHRoYXQncyBnb2luZyBvbi4gRXNzZW50aWFsbHkgd2UgaGF2ZQp0d28ga2luZHMgb2Yg b2JqZWN0czoKCi0gb2JqZWN0cyB3aXRob3V0IHBhZ2VzIGFsbG9jYXRlZCwgd2hpY2ggY2Fubm90 IGJlIG9uIGFueSBscnUgYW5kIGFyZQogIGhlbmNlIGluYWNjZXNzaWJsZSB0byB0aGUgc2hyaW5r ZXIuCgotIG9iamVjdHMgd2hpY2ggaGF2ZSBwYWdlcyBhbGxvY2F0ZWQsIHdoaWNoIGFyZSBvbiBh biBscnUsIGFuZCB3aGljaAogIHRoZSBzaHJpbmtlciBjYW4gZGVjaWRlIHRvIHRocm93IG91dC4K CkZvciB0aGUgZm9ybWVyIHR5cGUgb2Ygb2JqZWN0LCBtZW1vcnkgYWxsY29hdGlvbnMgd2hpbGUg aG9sZGluZwpvYmotPm1tLmxvY2sgYXJlIHBlcm1pc3NpYmxlLiBGb3IgdGhlIGxhdHRlciB0aGV5 IGFyZSBub3QuIEFuZApnZXQvcHV0X3BhZ2VzIHRyYW5zaXRpb25zIGJldHdlZW4gdGhlIHR3byB0 eXBlcyBvZiBvYmplY3RzLgoKVGhpcyBpcyBzdGlsbCBub3QgZW50aXJlbHkgZm9vbC1wcm9vZiBz aW5jZSB0aGUgcnVsZXMgbWlnaHQgY2hhbmNlLgpCdXQgYXMgbG9uZyBhcyB3ZSBydW4gc3VjaCBh IGNvZGUgZXZlciBhdCBydW50aW1lIGxvY2tkZXAgc2hvdWxkIGJlCmFibGUgdG8gb2JzZXJ2ZSB0 aGUgaW5jb25zaXN0ZW5jeSBhbmQgY29tcGxhaW4gKGxpa2Ugd2l0aCBhbnkgb3RoZXIKbG9ja2Rl cCBjbGFzcyB0aGF0IHdlJ3ZlIHNwbGl0IHVwIGluIG11bHRpcGxlIGNsYXNzZXMpLiBCdXQgdGhl cmUgYXJlCmEgZmV3IGNsZWFyIGJlbmVmaXRzOgoKLSBXZSBjYW4gZHJvcCB0aGUgbmVzdGluZyBm bGFnIHBhcmFtZXRlciBmcm9tCiAgX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzLCBiZWNhdXNl IHRoYXQgZnVuY3Rpb24gYnkgZGVmaW5pdGlvbiBpcwogIG5ldmVyIGdvaW5nIGFsbG9jYXRlIG1l bW9yeSwgYW5kIGNhbGxpbmcgaXQgb24gYW4gb2JqZWN0IHdoaWNoCiAgZG9lc24ndCBoYXZlIGl0 cyBwYWdlcyBhbGxvY2F0ZWQgd291bGQgYmUgYSBidWcuCgotIFdlIHN0cmljdGx5IGNhdGNoIG1v cmUgYnVncywgc2luY2UgdGhlcmUncyBub3Qgb25seSBvbmUgcGxhY2UgaW4gdGhlCiAgZW50aXJl IHRyZWUgd2hpY2ggaXMgYW5ub3RhdGVkIHdpdGggdGhlIHNwZWNpYWwgY2xhc3MuIEFsbCB0aGUK ICBvdGhlciBwbGFjZXMgdGhhdCBoYWQgZXhwbGljaXQgbG9ja2RlcCBuZXN0aW5nIGFubm90YXRp b25zIHdlJ3JlIG5vdwogIGdvaW5nIHRvIGxlYXZlIHVwIHRvIGxvY2tkZXAgYWdhaW4uCgotIFNw ZWNpZmljYWxseSB0aGlzIGNhdGNoZXMgc3R1ZmYgbGlrZSBjYWxsaW5nIGdldF9wYWdlcyBmcm9t CiAgcHV0X3BhZ2VzICh3aGljaCBpc24ndCByZWFsbHkgYSBnb29kIGlkZWEsIGlmIHdlIGNhbiBj YWxsIHB1dF9wYWdlcwogIHNvIGNvdWxkIHRoZSBzaHJpbmtlcikuIEkndmUgc2VlbiBwYXRjaGVz IGRvIGV4YWN0bHkgdGhhdC4KCk9mIGNvdXJzZSBJIGZ1bGx5IGV4cGVjdCBDSSB3aWxsIHNob3cg bWUgZm9yIHRoZSBmb29sIEkgYW0gd2l0aCB0aGlzCm9uZSBoZXJlIDotKQoKdjI6IFRoZXJlIGNh biBvbmx5IGJlIG9uZSAobG9ja2RlcCBvbmx5IGhhcyBhIGNhY2hlIGZvciB0aGUgZmlyc3QKc3Vi Y2xhc3MsIG5vdCBmb3IgZGVlcGVyIG9uZXMsIGFuZCB3ZSBkb24ndCB3YW50IHRvIG1ha2UgdGhl c2UgbG9ja3MKZXZlbiBzbG93ZXIpLiBTdGlsbCBzZXBhcmF0ZSBlbnVtcyBmb3IgYmV0dGVyIGRv Y3VtZW50YXRpb24uCgpSZWFsIGZpeDogZG9uIGZvcmdldCBhYm91dCBwaHlzIG9ianMgYW5kIHBp bl9tYXAoKSwgYW5kIGZpeCB0aGUKc2hyaW5rZXIgdG8gaGF2ZSB0aGUgcmlnaHQgYW5ub3RhdGlv bnMgLi4uIHNpbGx5IG1lLgoKdjM6IEZvcmdvdCB1c2VydHB0ciB0b28gLi4uCgp2NDogSW1wcm92 ZSBjb21tZW50IGZvciBwYWdlc19waW5fY291bnQsIGRyb3AgdGhlIElNUE9SVEFOVCBjb21tZW50 CmFuZCBpbnN0ZWFkIHByaW1lIGxvY2tkZXAgKENocmlzKS4KCkNjOiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6ICJUYW5nLCBDUSIgPGNxLnRhbmdAaW50ZWwuY29t PgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IEpvb25h cyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jICAgICAgIHwgMTMgKysrKysrKysrKysr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oICAgICAgIHwgMTYg KysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dF90eXBlcy5oIHwgIDYgKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGFnZXMuYyAgICAgICAgfCAgOSArKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9waHlzLmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fc2hyaW5rZXIuYyAgICAgfCAgNSArKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3VzZXJwdHIuYyAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgIHwgMTIgKysrKysrLS0tLS0tCiA4IGZpbGVz IGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYwppbmRleCAzOTI5YzNhNmIyODEuLmQwMTI1 OGIxNzVmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29i amVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYwpA QCAtMjIsNiArMjIsOCBAQAogICoKICAqLwogCisjaW5jbHVkZSA8bGludXgvc2NoZWQvbW0uaD4K KwogI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZnJvbnRidWZmZXIuaCIKICNpbmNsdWRlICJndC9p bnRlbF9ndC5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCkBAIC02MSw2ICs2MywxNSBAQCB2b2lk IGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiB7 CiAJbXV0ZXhfaW5pdCgmb2JqLT5tbS5sb2NrKTsKIAorCWlmIChJU19FTkFCTEVEKENPTkZJR19M T0NLREVQKSkgeworCQltdXRleF9sb2NrX25lc3RlZCgmb2JqLT5tbS5sb2NrLCBJOTE1X01NX0dF VF9QQUdFUyk7CisJCWZzX3JlY2xhaW1fYWNxdWlyZShHRlBfS0VSTkVMKTsKKwkJbWlnaHRfbG9j aygmb2JqLT5tbS5sb2NrKTsKKwkJZnNfcmVjbGFpbV9yZWxlYXNlKEdGUF9LRVJORUwpOworCQlt dXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7CisJfQorCisKIAlzcGluX2xvY2tfaW5pdCgmb2Jq LT52bWEubG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJm9iai0+dm1hLmxpc3QpOwogCkBAIC0xOTEs NyArMjAyLDcgQEAgc3RhdGljIHZvaWQgX19pOTE1X2dlbV9mcmVlX29iamVjdHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJm9iai0+bHV0 X2xpc3QpKTsKIAogCQlhdG9taWNfc2V0KCZvYmotPm1tLnBhZ2VzX3Bpbl9jb3VudCwgMCk7Ci0J CV9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmosIEk5MTVfTU1fTk9STUFMKTsKKwkJX19p OTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaik7CiAJCUdFTV9CVUdfT04oaTkxNV9nZW1fb2Jq ZWN0X2hhc19wYWdlcyhvYmopKTsKIAkJYml0bWFwX2ZyZWUob2JqLT5iaXRfMTcpOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggMzcxNGNmMjM0ZDY0 Li41Y2U1MTFjYTdmYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0LmgKQEAgLTI4MSwxMSArMjgxLDIxIEBAIGk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiBlbnVtIGk5MTVfbW1fc3ViY2xhc3Mg eyAvKiBsb2NrZGVwIHN1YmNsYXNzIGZvciBvYmotPm1tLmxvY2svc3RydWN0X211dGV4ICovCiAJ STkxNV9NTV9OT1JNQUwgPSAwLAotCUk5MTVfTU1fU0hSSU5LRVIgLyogY2FsbGVkICJyZWN1cnNp dmVseSIgZnJvbSBkaXJlY3QtcmVjbGFpbS1lc3F1ZSAqLworCS8qCisJICogT25seSB1c2VkIGJ5 IHN0cnVjdF9tdXRleCwgd2hlbiBjYWxsZWQgInJlY3Vyc2l2ZWx5IiBmcm9tCisJICogZGlyZWN0 LXJlY2xhaW0tZXNxdWUuIFNhZmUgYmVjYXVzZSB0aGVyZSBpcyBvbmx5IGV2ZXJ5IG9uZQorCSAq IHN0cnVjdF9tdXRleCBpbiB0aGUgZW50aXJlIHN5c3RlbS4gKi8KKwlJOTE1X01NX1NIUklOS0VS ID0gMSwKKwkvKgorCSAqIFVzZWQgZm9yIG9iai0+bW0ubG9jayB3aGVuIGFsbG9jYXRpbmcgcGFn ZXMuIFNhZmUgYmVjYXVzZSB0aGUgb2JqZWN0CisJICogaXNuJ3QgeWV0IG9uIGFueSBMUlUsIGFu ZCB0aGVyZWZvcmUgdGhlIHNocmlua2VyIGNhbid0IGRlYWRsb2NrIG9uCisJICogaXQuIEFzIHNv b24gYXMgdGhlIG9iamVjdCBoYXMgcGFnZXMsIG9iai0+bW0ubG9jayBuZXN0cyB3aXRoaW4KKwkg KiBmc19yZWNsYWltLgorCSAqLworCUk5MTVfTU1fR0VUX1BBR0VTID0gMSwKIH07CiAKLWludCBf X2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKLQkJCQllbnVtIGk5MTVfbW1fc3ViY2xhc3Mgc3ViY2xhc3MpOworaW50IF9faTkxNV9nZW1f b2JqZWN0X3B1dF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQg aTkxNV9nZW1fb2JqZWN0X3RydW5jYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop Owogdm9pZCBpOTE1X2dlbV9vYmplY3Rfd3JpdGViYWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fb2JqZWN0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0X3R5cGVzLmgKaW5kZXggZDQ3NGM2YWM0MTAwLi40MmQxMTRmMjdkMWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKQEAgLTE1Nyw3 ICsxNTcsMTEgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgewogCXVuc2lnbmVkIGludCBw aW5fZ2xvYmFsOwogCiAJc3RydWN0IHsKLQkJc3RydWN0IG11dGV4IGxvY2s7IC8qIHByb3RlY3Rz IHRoZSBwYWdlcyBhbmQgdGhlaXIgdXNlICovCisJCS8qCisJCSAqIFByb3RlY3RzIHRoZSBwYWdl cyBhbmQgdGhlaXIgdXNlLiBEbyBub3QgdXNlIGRpcmVjdGx5LCBidXQKKwkJICogaW5zdGVhZCBn byB0aHJvdWdoIHRoZSBwaW4vdW5waW4gaW50ZXJmYWNlcy4KKwkJICovCisJCXN0cnVjdCBtdXRl eCBsb2NrOwogCQlhdG9taWNfdCBwYWdlc19waW5fY291bnQ7CiAKIAkJc3RydWN0IHNnX3RhYmxl ICpwYWdlczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9w YWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKaW5kZXgg MThmMGNlMDEzNWMxLi4yMDI1MjZlODkxMGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9wYWdlcy5jCkBAIC0xMDEsNyArMTAxLDcgQEAgaW50IF9faTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCWludCBlcnI7 CiAKLQllcnIgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJm9iai0+bW0ubG9jayk7CisJZXJy ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlX25lc3RlZCgmb2JqLT5tbS5sb2NrLCBJOTE1X01N X0dFVF9QQUdFUyk7CiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIApAQCAtMTc5LDggKzE3OSw3 IEBAIF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCiAJcmV0dXJuIHBhZ2VzOwogfQogCi1pbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0 X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJZW51bSBpOTE1X21t X3N1YmNsYXNzIHN1YmNsYXNzKQoraW50IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBzZ190YWJsZSAqcGFnZXM7 CiAJaW50IGVycjsKQEAgLTE5MSw3ICsxOTAsNyBAQCBpbnQgX19pOTE1X2dlbV9vYmplY3RfcHV0 X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJR0VNX0JVR19PTihhdG9t aWNfcmVhZCgmb2JqLT5iaW5kX2NvdW50KSk7CiAKIAkvKiBNYXkgYmUgY2FsbGVkIGJ5IHNocmlu a2VyIGZyb20gd2l0aGluIGdldF9wYWdlcygpIChvbiBhbm90aGVyIGJvKSAqLwotCW11dGV4X2xv Y2tfbmVzdGVkKCZvYmotPm1tLmxvY2ssIHN1YmNsYXNzKTsKKwltdXRleF9sb2NrKCZvYmotPm1t LmxvY2spOwogCWlmICh1bmxpa2VseShhdG9taWNfcmVhZCgmb2JqLT5tbS5wYWdlc19waW5fY291 bnQpKSkgewogCQllcnIgPSAtRUJVU1k7CiAJCWdvdG8gdW5sb2NrOwpAQCAtMjg1LDcgKzI4NCw3 IEBAIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJaWYgKHVubGlrZWx5KCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdl KG9iaikpKQogCQlyZXR1cm4gRVJSX1BUUigtRU5YSU8pOwogCi0JZXJyID0gbXV0ZXhfbG9ja19p bnRlcnJ1cHRpYmxlKCZvYmotPm1tLmxvY2spOworCWVyciA9IG11dGV4X2xvY2tfaW50ZXJydXB0 aWJsZV9uZXN0ZWQoJm9iai0+bW0ubG9jaywgSTkxNV9NTV9HRVRfUEFHRVMpOwogCWlmIChlcnIp CiAJCXJldHVybiBFUlJfUFRSKGVycik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fcGh5cy5jCmluZGV4IDEwMmZkN2EyM2QzZC4uMjA5OTI1YmU4YTc2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKQEAgLTE1Niw3ICsxNTYsNyBAQCBpbnQgaTkx NV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos IGludCBhbGlnbikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JbXV0ZXhfbG9jaygmb2Jq LT5tbS5sb2NrKTsKKwltdXRleF9sb2NrX25lc3RlZCgmb2JqLT5tbS5sb2NrLCBJOTE1X01NX0dF VF9QQUdFUyk7CiAKIAlpZiAob2JqLT5tbS5tYWR2ICE9IEk5MTVfTUFEVl9XSUxMTkVFRCkgewog CQllcnIgPSAtRUZBVUxUOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3Nocmlua2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hy aW5rZXIuYwppbmRleCBlZGQyMWQxNGU2NGYuLjBiMGQ2ZTI3Yjk5NiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKQEAgLTk4LDcgKzk4LDcgQEAgc3Rh dGljIGJvb2wgdW5zYWZlX2Ryb3BfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKIAkJZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfVU5CSU5EX0FDVElWRTsKIAogCWlmIChpOTE1 X2dlbV9vYmplY3RfdW5iaW5kKG9iaiwgZmxhZ3MpID09IDApCi0JCV9faTkxNV9nZW1fb2JqZWN0 X3B1dF9wYWdlcyhvYmosIEk5MTVfTU1fU0hSSU5LRVIpOworCQlfX2k5MTVfZ2VtX29iamVjdF9w dXRfcGFnZXMob2JqKTsKIAogCXJldHVybiAhaTkxNV9nZW1fb2JqZWN0X2hhc19wYWdlcyhvYmop OwogfQpAQCAtMjU0LDggKzI1NCw3IEBAIGk5MTVfZ2VtX3NocmluayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwKIAogCQkJaWYgKHVuc2FmZV9kcm9wX3BhZ2VzKG9iaiwgc2hyaW5rKSkg ewogCQkJCS8qIE1heSBhcnJpdmUgZnJvbSBnZXRfcGFnZXMgb24gYW5vdGhlciBibyAqLwotCQkJ CW11dGV4X2xvY2tfbmVzdGVkKCZvYmotPm1tLmxvY2ssCi0JCQkJCQkgIEk5MTVfTU1fU0hSSU5L RVIpOworCQkJCW11dGV4X2xvY2soJm9iai0+bW0ubG9jayk7CiAJCQkJaWYgKCFpOTE1X2dlbV9v YmplY3RfaGFzX3BhZ2VzKG9iaikpIHsKIAkJCQkJdHJ5X3RvX3dyaXRlYmFjayhvYmosIHNocmlu ayk7CiAJCQkJCWNvdW50ICs9IG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQ7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3VzZXJwdHIuYwppbmRleCA3MGRjNTA2YTU0MjYu LmYzYjNiYzdjMzJjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdXNl cnB0ci5jCkBAIC0xNTgsNyArMTU4LDcgQEAgdXNlcnB0cl9tbl9pbnZhbGlkYXRlX3JhbmdlX3N0 YXJ0KHN0cnVjdCBtbXVfbm90aWZpZXIgKl9tbiwKIAkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Vu YmluZChvYmosCiAJCQkJCSAgICAgSTkxNV9HRU1fT0JKRUNUX1VOQklORF9BQ1RJVkUpOwogCQlp ZiAocmV0ID09IDApCi0JCQlyZXQgPSBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqLCBJ OTE1X01NX1NIUklOS0VSKTsKKwkJCXJldCA9IF9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhv YmopOwogCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJCWlmIChyZXQpCiAJCQlnb3RvIHVu bG9jazsKQEAgLTUxNCw3ICs1MTQsNyBAQCBfX2k5MTVfZ2VtX3VzZXJwdHJfZ2V0X3BhZ2VzX3dv cmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl93b3JrKQogCQl9CiAJfQogCi0JbXV0ZXhfbG9jaygm b2JqLT5tbS5sb2NrKTsKKwltdXRleF9sb2NrX25lc3RlZCgmb2JqLT5tbS5sb2NrLCBJOTE1X01N X0dFVF9QQUdFUyk7CiAJaWYgKG9iai0+dXNlcnB0ci53b3JrID09ICZ3b3JrLT53b3JrKSB7CiAJ CXN0cnVjdCBzZ190YWJsZSAqcGFnZXMgPSBFUlJfUFRSKHJldCk7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKaW5kZXggNmNiZDRhNjY4Yzlh Li5kZjU4NjAzNWMzM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxm dGVzdHMvaHVnZV9wYWdlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvaHVnZV9wYWdlcy5jCkBAIC01NjIsNyArNTYyLDcgQEAgc3RhdGljIGludCBpZ3RfbW9ja19w cGd0dF9taXNhbGlnbmVkX2RtYSh2b2lkICphcmcpCiAJCWk5MTVfdm1hX2Nsb3NlKHZtYSk7CiAK IAkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7Ci0JCV9faTkxNV9nZW1fb2JqZWN0 X3B1dF9wYWdlcyhvYmosIEk5MTVfTU1fTk9STUFMKTsKKwkJX19pOTE1X2dlbV9vYmplY3RfcHV0 X3BhZ2VzKG9iaik7CiAJCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAl9CiAKQEAgLTU5MCw3 ICs1OTAsNyBAQCBzdGF0aWMgdm9pZCBjbG9zZV9vYmplY3RfbGlzdChzdHJ1Y3QgbGlzdF9oZWFk ICpvYmplY3RzLAogCiAJCWxpc3RfZGVsKCZvYmotPnN0X2xpbmspOwogCQlpOTE1X2dlbV9vYmpl Y3RfdW5waW5fcGFnZXMob2JqKTsKLQkJX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaiwg STkxNV9NTV9OT1JNQUwpOworCQlfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqKTsKIAkJ aTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCX0KIH0KQEAgLTg2MCw3ICs4NjAsNyBAQCBzdGF0 aWMgaW50IGlndF9tb2NrX3BwZ3R0XzY0Syh2b2lkICphcmcpCiAJCQlpOTE1X3ZtYV9jbG9zZSh2 bWEpOwogCiAJCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKLQkJCV9faTkxNV9n ZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmosIEk5MTVfTU1fTk9STUFMKTsKKwkJCV9faTkxNV9nZW1f b2JqZWN0X3B1dF9wYWdlcyhvYmopOwogCQkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCQl9 CiAJfQpAQCAtMTI2OCw3ICsxMjY4LDcgQEAgc3RhdGljIGludCBpZ3RfcHBndHRfZXhoYXVzdF9o dWdlKHZvaWQgKmFyZykKIAkJCX0KIAogCQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9i aik7Ci0JCQlfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqLCBJOTE1X01NX05PUk1BTCk7 CisJCQlfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqKTsKIAkJCWk5MTVfZ2VtX29iamVj dF9wdXQob2JqKTsKIAkJfQogCX0KQEAgLTEzMzAsNyArMTMzMCw3IEBAIHN0YXRpYyBpbnQgaWd0 X3BwZ3R0X2ludGVybmFsX2h1Z2Uodm9pZCAqYXJnKQogCQl9CiAKIAkJaTkxNV9nZW1fb2JqZWN0 X3VucGluX3BhZ2VzKG9iaik7Ci0JCV9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmosIEk5 MTVfTU1fTk9STUFMKTsKKwkJX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaik7CiAJCWk5 MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAl9CiAKQEAgLTEzOTksNyArMTM5OSw3IEBAIHN0YXRp YyBpbnQgaWd0X3BwZ3R0X2dlbWZzX2h1Z2Uodm9pZCAqYXJnKQogCQl9CiAKIAkJaTkxNV9nZW1f b2JqZWN0X3VucGluX3BhZ2VzKG9iaik7Ci0JCV9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhv YmosIEk5MTVfTU1fTk9STUFMKTsKKwkJX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaik7 CiAJCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAl9CiAKLS0gCjIuMjMuMC5yYzEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==