From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 25/42] drm/i915: Use lockless object free Date: Tue, 11 Oct 2016 10:56:49 +0100 Message-ID: <8b30bbca-db42-abf8-f884-5cf7b1fa353f@Intel.com> References: <20161007094635.28319-1-chris@chris-wilson.co.uk> <20161007094635.28319-26-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id B5FD389DFE for ; Tue, 11 Oct 2016 09:56:51 +0000 (UTC) In-Reply-To: <20161007094635.28319-26-chris@chris-wilson.co.uk> 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 TmVlZHMgYSBkZXNjcmlwdGlvbj8KCk9uIDA3LzEwLzIwMTYgMTA6NDYsIENocmlzIFdpbHNvbiB3 cm90ZToKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8 ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAxMCAr LS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAy MCArKysrKysrKysrLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dGlsaW5nLmMgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJw dHIuYyB8ICA0ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAg ICB8ICA2ICsrKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jICAg IHwgIDQgKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgIHwg IDIgKy0KPiAgIDggZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25z KC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBmN2Q0OGY5Nzk5M2QuLjJlMjll ZWRkMjFiMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC0yNjA2LDcgKzI2MDYs NyBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0gewo+ICAgCS5zZXRfYnVzaWQg PSBkcm1fcGNpX3NldF9idXNpZCwKPiAgIAo+ICAgCS5nZW1fY2xvc2Vfb2JqZWN0ID0gaTkxNV9n ZW1fY2xvc2Vfb2JqZWN0LAo+IC0JLmdlbV9mcmVlX29iamVjdCA9IGk5MTVfZ2VtX2ZyZWVfb2Jq ZWN0LAo+ICsJLmdlbV9mcmVlX29iamVjdF91bmxvY2tlZCA9IGk5MTVfZ2VtX2ZyZWVfb2JqZWN0 LAo+ICAgCS5nZW1fdm1fb3BzID0gJmk5MTVfZ2VtX3ZtX29wcywKPiAgIAo+ICAgCS5wcmltZV9o YW5kbGVfdG9fZmQgPSBkcm1fZ2VtX3ByaW1lX2hhbmRsZV90b19mZCwKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCBlNzlhNWNiNzhiNWQuLjg5ZDNiNWExNjgyNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yMzk2LDE5ICsyMzk2LDEyIEBAIF9fYXR0cmlidXRlX18o KG5vbm51bGwpKQo+ICAgc3RhdGljIGlubGluZSB2b2lkCj4gICBpOTE1X2dlbV9vYmplY3RfcHV0 KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7Cj4gLQlkcm1fZ2VtX29iamVj dF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKPiArCV9fZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVu Y2UoJm9iai0+YmFzZSk7Cj4gICB9Cj4gICAKPiAgIF9fZGVwcmVjYXRlZAo+ICAgZXh0ZXJuIHZv aWQgZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Uoc3RydWN0IGRybV9nZW1fb2JqZWN0ICopOwo+ ICAgCj4gLV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQo+IC1zdGF0aWMgaW5saW5lIHZvaWQKPiAt aTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQo+IC17Cj4gLQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZCgmb2JqLT5i YXNlKTsKPiAtfQo+IC0KPiAgIF9fZGVwcmVjYXRlZAo+ICAgZXh0ZXJuIHZvaWQgZHJtX2dlbV9v YmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICopOwo+ICAg Cj4gQEAgLTI1MTAsNyArMjUwMyw2IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGk5MTVfdm1hICpp OTE1X3ZtYV9nZXQoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAKPiAgIHN0YXRpYyBpbmxpbmUg dm9pZCBpOTE1X3ZtYV9wdXQoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICB7Cj4gLQlsb2NrZGVw X2Fzc2VydF9oZWxkKCZ2bWEtPnZtLT5kZXYtPnN0cnVjdF9tdXRleCk7Cj4gICAJaTkxNV9nZW1f b2JqZWN0X3B1dCh2bWEtPm9iaik7Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK PiBpbmRleCA3Y2Q0OWRkMWQzZjguLjI4ZTEwNjRiYWFkNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwo+IEBAIC02MTYsNyArNjE2LDcgQEAgaTkxNV9nZW1fY3JlYXRlKHN0cnVjdCBkcm1f ZmlsZSAqZmlsZSwKPiAgIAo+ICAgCXJldCA9IGRybV9nZW1faGFuZGxlX2NyZWF0ZShmaWxlLCAm b2JqLT5iYXNlLCAmaGFuZGxlKTsKPiAgIAkvKiBkcm9wIHJlZmVyZW5jZSBmcm9tIGFsbG9jYXRl IC0gaGFuZGxlIGhvbGRzIGl0IG5vdyAqLwo+IC0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tl ZChvYmopOwo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAgCWlmIChyZXQpCj4gICAJ CXJldHVybiByZXQ7Cj4gICAKPiBAQCAtMTExNSw3ICsxMTE1LDcgQEAgaTkxNV9nZW1fcHJlYWRf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAo+ICAgCWk5MTVf Z2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwo+ICAgb3V0Ogo+IC0JaTkxNV9nZW1fb2JqZWN0 X3B1dF91bmxvY2tlZChvYmopOwo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAgCXJl dHVybiByZXQ7Cj4gICB9Cj4gICAKPiBAQCAtMTQ1MCw3ICsxNDUwLDcgQEAgaTkxNV9nZW1fcHdy aXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAKPiAgIAlp OTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKPiAgIGVycjoKPiAtCWk5MTVfZ2VtX29i amVjdF9wdXRfdW5sb2NrZWQob2JqKTsKPiArCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKPiAg IAlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gQEAgLTE1NjAsNyArMTU2MCw3IEBAIGk5MTVfZ2Vt X3NldF9kb21haW5faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAg IGVycl9wYWdlczoKPiAgIAlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKPiAgIGVy cl91bmxvY2tlZDoKPiAtCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKPiArCWk5 MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gQEAg LTE1OTEsNyArMTU5MSw3IEBAIGk5MTVfZ2VtX3N3X2ZpbmlzaF9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQl9Cj4gICAJfQo+ICAgCj4gLQlpOTE1X2dlbV9v YmplY3RfcHV0X3VubG9ja2VkKG9iaik7Cj4gKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4g ICAJcmV0dXJuIGVycjsKPiAgIH0KPiAgIAo+IEBAIC0xNjM3LDcgKzE2MzcsNyBAQCBpOTE1X2dl bV9tbWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJICog cGFnZXMgZnJvbS4KPiAgIAkgKi8KPiAgIAlpZiAoIW9iai0+YmFzZS5maWxwKSB7Cj4gLQkJaTkx NV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOwo+ICsJCWk5MTVfZ2VtX29iamVjdF9wdXQo b2JqKTsKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+ICAgCj4gQEAgLTE2NDksNyArMTY0 OSw3IEBAIGk5MTVfZ2VtX21tYXBfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKPiAgIAkJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWE7Cj4gICAKPiAgIAkJaWYgKGRv d25fd3JpdGVfa2lsbGFibGUoJm1tLT5tbWFwX3NlbSkpIHsKPiAtCQkJaTkxNV9nZW1fb2JqZWN0 X3B1dF91bmxvY2tlZChvYmopOwo+ICsJCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4gICAJ CQlyZXR1cm4gLUVJTlRSOwo+ICAgCQl9Cj4gICAJCXZtYSA9IGZpbmRfdm1hKG1tLCBhZGRyKTsK PiBAQCAtMTY2Myw3ICsxNjYzLDcgQEAgaTkxNV9nZW1fbW1hcF9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQkvKiBUaGlzIG1heSByYWNlLCBidXQgdGhhdCdz IG9rLCBpdCBvbmx5IGdldHMgc2V0ICovCj4gICAJCVdSSVRFX09OQ0Uob2JqLT5mcm9udGJ1ZmZl cl9nZ3R0X29yaWdpbiwgT1JJR0lOX0NQVSk7Cj4gICAJfQo+IC0JaTkxNV9nZW1fb2JqZWN0X3B1 dF91bmxvY2tlZChvYmopOwo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAgCWlmIChJ U19FUlIoKHZvaWQgKilhZGRyKSkKPiAgIAkJcmV0dXJuIGFkZHI7Cj4gICAKPiBAQCAtMjA3Myw3 ICsyMDczLDcgQEAgaTkxNV9nZW1fbW1hcF9ndHQoc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAg CWlmIChyZXQgPT0gMCkKPiAgIAkJKm9mZnNldCA9IGRybV92bWFfbm9kZV9vZmZzZXRfYWRkcigm b2JqLT5iYXNlLnZtYV9ub2RlKTsKPiAgIAo+IC0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tl ZChvYmopOwo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAgCXJldHVybiByZXQ7Cj4g ICB9Cj4gICAKPiBAQCAtMjg4MSw3ICsyODgxLDcgQEAgaTkxNV9nZW1fd2FpdF9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4g ICAJCQlhcmdzLT50aW1lb3V0X25zID0gMDsKPiAgIAl9Cj4gICAKPiAtCWk5MTVfZ2VtX29iamVj dF9wdXRfdW5sb2NrZWQob2JqKTsKPiArCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKPiAgIAly ZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3RpbGluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGlsaW5n LmMKPiBpbmRleCBlYzQ4ZTQwM2FkZmUuLmQ4ZmM0NzgyYjhkYiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3RpbGluZy5jCj4gQEAgLTIwMCw3ICsyMDAsNyBAQCBpOTE1X2dlbV9z ZXRfdGlsaW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAKPiAgIAlp ZiAoIWk5MTVfdGlsaW5nX29rKGRldiwKPiAgIAkJCSAgICBhcmdzLT5zdHJpZGUsIG9iai0+YmFz ZS5zaXplLCBhcmdzLT50aWxpbmdfbW9kZSkpIHsKPiAtCQlpOTE1X2dlbV9vYmplY3RfcHV0X3Vu bG9ja2VkKG9iaik7Cj4gKwkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAgCQlyZXR1cm4g LUVJTlZBTDsKPiAgIAl9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0 ci5jCj4gaW5kZXggMTM2YzQ5M2IxNWIyLi42ZjdhYzBlNzgzZWMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gQEAgLTU0Miw3ICs1NDIsNyBAQCBfX2k5MTVf Z2VtX3VzZXJwdHJfZ2V0X3BhZ2VzX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl93b3JrKQo+ ICAgCXJlbGVhc2VfcGFnZXMocHZlYywgcGlubmVkLCAwKTsKPiAgIAlkcm1fZnJlZV9sYXJnZShw dmVjKTsKPiAgIAo+IC0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOwo+ICsJaTkx NV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAgCXB1dF90YXNrX3N0cnVjdCh3b3JrLT50YXNrKTsK PiAgIAlrZnJlZSh3b3JrKTsKPiAgIH0KPiBAQCAtODAyLDcgKzgwMiw3IEBAIGk5MTVfZ2VtX3Vz ZXJwdHJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRy bV9maWxlICpmaWxlCj4gICAJCXJldCA9IGRybV9nZW1faGFuZGxlX2NyZWF0ZShmaWxlLCAmb2Jq LT5iYXNlLCAmaGFuZGxlKTsKPiAgIAo+ICAgCS8qIGRyb3AgcmVmZXJlbmNlIGZyb20gYWxsb2Nh dGUgLSBoYW5kbGUgaG9sZHMgaXQgbm93ICovCj4gLQlpOTE1X2dlbV9vYmplY3RfcHV0X3VubG9j a2VkKG9iaik7Cj4gKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4gICAJaWYgKHJldCkKPiAg IAkJcmV0dXJuIHJldDsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBp bmRleCA1ZWU3YmFiNmU1NjAuLjhiZWVjMGI2NTFjZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiBAQCAtMTEwMjYsNyArMTEwMjYsNyBAQCBpbnRlbF9mcmFtZWJ1ZmZl cl9jcmVhdGVfZm9yX21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAo+ICAgCWZiID0g aW50ZWxfZnJhbWVidWZmZXJfY3JlYXRlKGRldiwgJm1vZGVfY21kLCBvYmopOwo+ICAgCWlmIChJ U19FUlIoZmIpKQo+IC0JCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKPiArCQlp OTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4gICAKPiAgIAlyZXR1cm4gZmI7Cj4gICB9Cj4gQEAg LTEyMzMwLDcgKzEyMzMwLDcgQEAgY2xlYW51cDoKPiAgIAljcnRjLT5wcmltYXJ5LT5mYiA9IG9s ZF9mYjsKPiAgIAl1cGRhdGVfc3RhdGVfZmIoY3J0Yy0+cHJpbWFyeSk7Cj4gICAKPiAtCWk5MTVf Z2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKPiArCWk5MTVfZ2VtX29iamVjdF9wdXQob2Jq KTsKPiAgIAlkcm1fZnJhbWVidWZmZXJfdW5yZWZlcmVuY2Uod29yay0+b2xkX2ZiKTsKPiAgIAo+ ICAgCXNwaW5fbG9ja19pcnEoJmRldi0+ZXZlbnRfbG9jayk7Cj4gQEAgLTE1ODM3LDcgKzE1ODM3 LDcgQEAgaW50ZWxfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgIAo+ICAgCWZiID0gaW50ZWxfZnJhbWVidWZmZXJfY3JlYXRlKGRldiwgJm1vZGVfY21k LCBvYmopOwo+ICAgCWlmIChJU19FUlIoZmIpKQo+IC0JCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5s b2NrZWQob2JqKTsKPiArCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4gICAKPiAgIAlyZXR1 cm4gZmI7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+IGluZGV4IDdj MzkyNTQ3NzExZi4uNThkNWM1ZWVkNDg3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYwo+IEBAIC0xMjIyLDcgKzEyMjIsNyBAQCBpbnQgaW50ZWxfb3ZlcmxheV9wdXRfaW1h Z2VfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIG91dF91bmxv Y2s6Cj4gICAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gICAJZHJtX21vZGVz ZXRfdW5sb2NrX2FsbChkZXYpOwo+IC0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChuZXdf Ym8pOwo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChuZXdfYm8pOwo+ICAgb3V0X2ZyZWU6Cj4gICAJ a2ZyZWUocGFyYW1zKTsKPiAgIAo+IEBAIC0xNDY2LDcgKzE0NjYsNyBAQCB2b2lkIGludGVsX2Ns ZWFudXBfb3ZlcmxheShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJICog aGFyZHdhcmUgc2hvdWxkIGJlIG9mZiBhbHJlYWR5ICovCj4gICAJV0FSTl9PTihkZXZfcHJpdi0+ b3ZlcmxheS0+YWN0aXZlKTsKPiAgIAo+IC0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChk ZXZfcHJpdi0+b3ZlcmxheS0+cmVnX2JvKTsKPiArCWk5MTVfZ2VtX29iamVjdF9wdXQoZGV2X3By aXYtPm92ZXJsYXktPnJlZ19ibyk7Cj4gICAJa2ZyZWUoZGV2X3ByaXYtPm92ZXJsYXkpOwo+ICAg fQo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggN2YxNzQ4YTFlNjE0Li4yN2Zj NGM5YzhjZDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtNTg2NCw3ICs1ODY0 LDcgQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19jbGVhbnVwX3BjdHgoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCWlmIChXQVJOX09OKCFkZXZfcHJpdi0+dmx2X3BjdHgp KQo+ICAgCQlyZXR1cm47Cj4gICAKPiAtCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQoZGV2 X3ByaXYtPnZsdl9wY3R4KTsKPiArCWk5MTVfZ2VtX29iamVjdF9wdXQoZGV2X3ByaXYtPnZsdl9w Y3R4KTsKPiAgIAlkZXZfcHJpdi0+dmx2X3BjdHggPSBOVUxMOwo+ICAgfQo+ICAgCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK