From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH v2] drm/vgem: Attach sw fences to exported vGEM dma-buf (ioctl) Date: Wed, 13 Jul 2016 21:46:47 +0100 Message-ID: <20160713204647.GS6157@nuc-i3427.alporthouse.com> References: <1468327581-9579-1-git-send-email-chris@chris-wilson.co.uk> <20160713202921.GE2565@joana> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160713202921.GE2565@joana> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Gustavo Padovan , dri-devel@lists.freedesktop.org, Daniel Vetter , intel-gfx@lists.freedesktop.org, Zach Reizner , Gustavo Padovan List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdWwgMTMsIDIwMTYgYXQgMDU6Mjk6MjFQTSAtMDMwMCwgR3VzdGF2byBQYWRvdmFu IHdyb3RlOgo+IDIwMTYtMDctMTIgQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+Ogo+IAo+ID4gdkdFTSBidWZmZXJzIGFyZSB1c2VmdWwgZm9yIHBhc3NpbmcgZGF0YSBiZXR3 ZWVuIHNvZnR3YXJlIGNsaWVudHMgYW5kCj4gPiBoYXJkd2FyZSByZW5kZXJzLiBCeSBhbGxvd2lu ZyB0aGUgdXNlciB0byBjcmVhdGUgYW5kIGF0dGFjaCBmZW5jZXMgdG8KPiA+IHRoZSBleHBvcnRl ZCB2R0VNIGJ1ZmZlcnMgKG9uIHRoZSBkbWEtYnVmKSwgdGhlIHVzZXIgY2FuIGltcGxlbWVudCBh Cj4gPiBkZWZlcnJlZCByZW5kZXJlciBhbmQgcXVldWUgaGFyZHdhcmUgb3BlcmF0aW9ucyBsaWtl IGZsaXBwaW5nIGFuZCB0aGVuCj4gPiBzaWduYWwgdGhlIGJ1ZmZlciByZWFkaW5lc3MgKGkuZS4g dGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gc2NoZWR1bGUKPiA+IG9wZXJhdGlvbnMgb3V0LW9mLW9y ZGVyLCBidXQgaGF2ZSB0aGVtIGNvbXBsZXRlIGluLW9yZGVyKS4KPiA+IAo+ID4gVGhpcyBhbHNv IG1ha2VzIGl0IG11Y2ggZWFzaWVyIHRvIHdyaXRlIHRpZ2h0bHkgY29udHJvbGxlZCB0ZXN0Y2Fz ZXMgZm9yCj4gPiBkbWEtYnVmIGZlbmNpbmcgYW5kIHNpZ25hbGluZyBiZXR3ZWVuIGhhcmR3YXJl IGRyaXZlcnMuCj4gPiAKPiA+IHYyOiBEb24ndCBwcmV0ZW5kIHRoZSBmZW5jZXMgZXhpc3QgaW4g YW4gb3JkZXJlZCB0aW1lbGluZSwgYnV0IGFsbG9jYXRlCj4gPiBhIHNlcGFyYXRlIGZlbmNlLWNv bnRleHQgZm9yIGVhY2ggZmVuY2Ugc28gdGhhdCB0aGUgZmVuY2VzIGFyZQo+ID4gdW5vcmRlcmVk Lgo+ID4gCj4gPiBUZXN0Y2FzZTogaWd0L3ZnZW1fYmFzaWMvZG1hYnVmLWZlbmNlCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiA+IENj OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiA+IENjOiBaYWNoIFJlaXpuZXIg PHphY2hyQGdvb2dsZS5jb20+Cj4gPiBDYzogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92 YW5AY29sbGFib3JhLmNvLnVrPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA ZmZ3bGwuY2g+Cj4gPiBBY2tlZC1ieTogWmFjaCBSZWl6bmVyIDx6YWNockBnb29nbGUuY29tPgo+ ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3ZnZW0vTWFrZWZpbGUgICAgIHwgICAyICstCj4g PiAgZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuYyAgIHwgIDM0ICsrKysrKysKPiA+ICBk cml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5oICAgfCAgMTYgKysrCj4gPiAgZHJpdmVycy9n cHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jIHwgMjA3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gPiAgaW5jbHVkZS91YXBpL2RybS92Z2VtX2RybS5oICAgICAgIHwgIDYy ICsrKysrKysrKysrKwo+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMzIwIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3ZnZW0v dmdlbV9mZW5jZS5jCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvdWFwaS9kcm0vdmdl bV9kcm0uaAo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0vTWFrZWZp bGUgYi9kcml2ZXJzL2dwdS9kcm0vdmdlbS9NYWtlZmlsZQo+ID4gaW5kZXggM2Y0YzdiODQyMDI4 Li5iZmNkZWExMzMwZTYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmdlbS9NYWtl ZmlsZQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vTWFrZWZpbGUKPiA+IEBAIC0xLDQg KzEsNCBAQAo+ID4gIGNjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCj4gPiAtdmdlbS15IDo9IHZn ZW1fZHJ2Lm8KPiA+ICt2Z2VtLXkgOj0gdmdlbV9kcnYubyB2Z2VtX2ZlbmNlLm8KPiA+ICAKPiA+ ICBvYmotJChDT05GSUdfRFJNX1ZHRU0pCSs9IHZnZW0ubwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Ry di5jCj4gPiBpbmRleCAyOWMyYWFiM2MxYTcuLmMxNWJhZmIwNjY2NSAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92Z2VtL3ZnZW1fZHJ2LmMKPiA+IEBAIC04Myw2ICs4MywzNCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHZtX29wZXJhdGlvbnNfc3RydWN0IHZnZW1fZ2VtX3ZtX29wcyA9IHsKPiA+ICAJLmNsb3Nl ID0gZHJtX2dlbV92bV9jbG9zZSwKPiA+ICB9Owo+ID4gIAo+ID4gK3N0YXRpYyBpbnQgdmdlbV9v cGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiA+ICt7 Cj4gPiArCXN0cnVjdCB2Z2VtX2ZpbGUgKnZmaWxlOwo+ID4gKwlpbnQgcmV0Owo+ID4gKwo+ID4g Kwl2ZmlsZSA9IGt6YWxsb2Moc2l6ZW9mKCp2ZmlsZSksIEdGUF9LRVJORUwpOwo+ID4gKwlpZiAo IXZmaWxlKQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gPiArCj4gPiArCWZpbGUtPmRyaXZlcl9w cml2ID0gdmZpbGU7Cj4gPiArCj4gPiArCXJldCA9IHZnZW1fZmVuY2Vfb3Blbih2ZmlsZSk7Cj4g PiArCWlmIChyZXQpIHsKPiA+ICsJCWtmcmVlKHZmaWxlKTsKPiA+ICsJCXJldHVybiByZXQ7Cj4g PiArCX0KPiA+ICsKPiA+ICsJcmV0dXJuIDA7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lk IHZnZW1fcHJlY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpm aWxlKQo+ID4gK3sKPiA+ICsJc3RydWN0IHZnZW1fZmlsZSAqdmZpbGUgPSBmaWxlLT5kcml2ZXJf cHJpdjsKPiA+ICsKPiA+ICsJdmdlbV9mZW5jZV9jbG9zZSh2ZmlsZSk7Cj4gPiArCWtmcmVlKHZm aWxlKTsKPiA+ICt9Cj4gPiArCj4gPiAgLyogaW9jdGxzICovCj4gPiAgCj4gPiAgc3RhdGljIHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqdmdlbV9nZW1fY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gPiBAQCAtMTY0LDYgKzE5Miw4IEBAIHVucmVmOgo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0 aWMgc3RydWN0IGRybV9pb2N0bF9kZXNjIHZnZW1faW9jdGxzW10gPSB7Cj4gPiArCURSTV9JT0NU TF9ERUZfRFJWKFZHRU1fRkVOQ0VfQVRUQUNILCB2Z2VtX2ZlbmNlX2F0dGFjaF9pb2N0bCwgRFJN X0FVVEh8RFJNX1JFTkRFUl9BTExPVyksCj4gPiArCURSTV9JT0NUTF9ERUZfRFJWKFZHRU1fRkVO Q0VfU0lHTkFMLCB2Z2VtX2ZlbmNlX3NpZ25hbF9pb2N0bCwgRFJNX0FVVEh8RFJNX1JFTkRFUl9B TExPVyksCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgaW50IHZnZW1fbW1hcChzdHJ1Y3QgZmls ZSAqZmlscCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCj4gPiBAQCAtMjcxLDkgKzMwMSwx MiBAQCBzdGF0aWMgaW50IHZnZW1fcHJpbWVfbW1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9i aiwKPiA+ICAKPiA+ICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgdmdlbV9kcml2ZXIgPSB7Cj4g PiAgCS5kcml2ZXJfZmVhdHVyZXMJCT0gRFJJVkVSX0dFTSB8IERSSVZFUl9QUklNRSwKPiA+ICsJ Lm9wZW4JCQkJPSB2Z2VtX29wZW4sCj4gPiArCS5wcmVjbG9zZQkJCT0gdmdlbV9wcmVjbG9zZSwK PiA+ICAJLmdlbV9mcmVlX29iamVjdF91bmxvY2tlZAk9IHZnZW1fZ2VtX2ZyZWVfb2JqZWN0LAo+ ID4gIAkuZ2VtX3ZtX29wcwkJCT0gJnZnZW1fZ2VtX3ZtX29wcywKPiA+ICAJLmlvY3RscwkJCQk9 IHZnZW1faW9jdGxzLAo+ID4gKwkubnVtX2lvY3RscyAJCQk9IEFSUkFZX1NJWkUodmdlbV9pb2N0 bHMpLAo+ID4gIAkuZm9wcwkJCQk9ICZ2Z2VtX2RyaXZlcl9mb3BzLAo+ID4gIAo+ID4gIAkuZHVt Yl9jcmVhdGUJCQk9IHZnZW1fZ2VtX2R1bWJfY3JlYXRlLAo+ID4gQEAgLTMyOCw1ICszNjEsNiBA QCBtb2R1bGVfaW5pdCh2Z2VtX2luaXQpOwo+ID4gIG1vZHVsZV9leGl0KHZnZW1fZXhpdCk7Cj4g PiAgCj4gPiAgTU9EVUxFX0FVVEhPUigiUmVkIEhhdCwgSW5jLiIpOwo+ID4gK01PRFVMRV9BVVRI T1IoIkludGVsIENvcnBvcmF0aW9uIik7Cj4gPiAgTU9EVUxFX0RFU0NSSVBUSU9OKERSSVZFUl9E RVNDKTsKPiA+ICBNT0RVTEVfTElDRU5TRSgiR1BMIGFuZCBhZGRpdGlvbmFsIHJpZ2h0cyIpOwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5oCj4gPiBpbmRleCA5ODhjYmFhZTc1ODguLjFmODc5OGFk MzI5YyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmgKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmgKPiA+IEBAIC0zMiw5ICszMiwy NSBAQAo+ID4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ID4gICNpbmNsdWRlIDxkcm0vZHJtX2dl bS5oPgo+ID4gIAo+ID4gKyNpbmNsdWRlIDx1YXBpL2RybS92Z2VtX2RybS5oPgo+ID4gKwo+ID4g K3N0cnVjdCB2Z2VtX2ZpbGUgewo+ID4gKwlzdHJ1Y3QgaWRyIGZlbmNlX2lkcjsKPiA+ICsJc3Ry dWN0IG11dGV4IGZlbmNlX211dGV4Owo+ID4gK307Cj4gPiArCj4gPiAgI2RlZmluZSB0b192Z2Vt X2JvKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX3ZnZW1fZ2VtX29iamVjdCwgYmFzZSkK PiA+ICBzdHJ1Y3QgZHJtX3ZnZW1fZ2VtX29iamVjdCB7Cj4gPiAgCXN0cnVjdCBkcm1fZ2VtX29i amVjdCBiYXNlOwo+ID4gIH07Cj4gPiAgCj4gPiAraW50IHZnZW1fZmVuY2Vfb3BlbihzdHJ1Y3Qg dmdlbV9maWxlICpmaWxlKTsKPiA+ICtpbnQgdmdlbV9mZW5jZV9hdHRhY2hfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiA+ICsJCQkgICAgdm9pZCAqZGF0YSwKPiA+ICsJCQkgICAgc3Ry dWN0IGRybV9maWxlICpmaWxlKTsKPiA+ICtpbnQgdmdlbV9mZW5jZV9zaWduYWxfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICsJCQkgICAgdm9pZCAqZGF0YSwKPiA+ICsJCQkgICAg c3RydWN0IGRybV9maWxlICpmaWxlKTsKPiA+ICt2b2lkIHZnZW1fZmVuY2VfY2xvc2Uoc3RydWN0 IHZnZW1fZmlsZSAqZmlsZSk7Cj4gPiArCj4gPiAgI2VuZGlmCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdl bV9mZW5jZS5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAw Li42MzA5NTMzMWM0NDYKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92Z2VtL3ZnZW1fZmVuY2UuYwo+ID4gQEAgLTAsMCArMSwyMDcgQEAKPiA+ICsvKgo+ID4gKyAq IENvcHlyaWdodCAyMDE2IEludGVsIENvcnBvcmF0aW9uCj4gPiArICoKPiA+ICsgKiBQZXJtaXNz aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh aW5pbmcgYQo+ID4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIikKPiA+ICsgKiB0byBkZWFsIGluIHRoZSBz b2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9u Cj4gPiArICogb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1Ygo+ID4gKyAqIGxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tCj4gPiArICogdGhl bSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zOgo+ID4gKyAqCj4gPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ID4gKyAqIHBh cmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUKPiA+ICsgKiBTb2Z0d2FyZS4KPiA+ICsgKgo+ID4gKyAqIFRIRSBTT0ZU V0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBF WFBSRVNTIE9SCj4gPiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVElCSUxJVFksCj4gPiArICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFM TAo+ID4gKyAqIFRIRSBBVVRIT1JTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTLCBP UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKPiA+ICsgKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB Q1QsIFRPUlQsIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KPiA+ICsg KiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO R1MgSU4gVEhFIFNPRlRXQVJFLgo+ID4gKyAqLwo+ID4gKwo+ID4gKyNpbmNsdWRlIDxsaW51eC9k bWEtYnVmLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3Jlc2VydmF0aW9uLmg+Cj4gPiArCj4gPiAr I2luY2x1ZGUgInZnZW1fZHJ2LmgiCj4gPiArCj4gPiArc3RydWN0IHZnZW1fZmVuY2Ugewo+ID4g KwlzdHJ1Y3QgZmVuY2UgYmFzZTsKPiA+ICsJc3RydWN0IHNwaW5sb2NrIGxvY2s7Cj4gPiArfTsK PiA+ICsKPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqdmdlbV9mZW5jZV9nZXRfZHJpdmVyX25hbWUo c3RydWN0IGZlbmNlICpmZW5jZSkKPiA+ICt7Cj4gPiArCXJldHVybiAidmdlbSI7Cj4gPiArfQo+ ID4gKwo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICp2Z2VtX2ZlbmNlX2dldF90aW1lbGluZV9uYW1l KHN0cnVjdCBmZW5jZSAqZmVuY2UpCj4gPiArewo+ID4gKwlyZXR1cm4gInVuYm91bmQiOwo+ID4g K30KPiA+ICsKPiA+ICtzdGF0aWMgYm9vbCB2Z2VtX2ZlbmNlX3NpZ25hbGVkKHN0cnVjdCBmZW5j ZSAqZmVuY2UpCj4gPiArewo+ID4gKwlyZXR1cm4gZmFsc2U7Cj4gCj4gV2l0aCBvbmUgZmVuY2Ug cGVyIGNvbnRleHQgeW91IGNhbiBhY3R1YWxseSByZXR1cm4gaWYgdGhlIGZlbmNlIHdhcwo+IHNp Z25hbGxlZCBvciBub3QuIE1heSBiZSB1c2VmdWwgZm9yIGRlYnVnLgoKVGhhdCdzIGFscmVhZHkg c3RvcmVkIGluc2lkZSB0aGUgZmVuY2UtPmZsYWdzIEZFTkNFX0ZMQUdfU0lHTkFMRURfQklULgpJ ZiBpdCBpdCBzZXQgKHdoaWNoIGl0IHdpbGwgYmUgYWZ0ZXIgd2UgYXJlIHNpZ25hbGVkKSwKZmVu Y2UtPm9wcy0+c2lnbmFsZWQoKSBpcyBub3QgY2FsbGVkLiBTbyB3ZSBrbm93IHRoYXQgaWYgdGhp cyBmdW5jdGlvbgppcyBldmVyIGNhbGxlZCwgdGhlIGZlbmNlIGlzIHVuc2lnbmFsZWQuCgo+ID4g K3N0YXRpYyBzdHJ1Y3QgZmVuY2UgKnZnZW1fZmVuY2VfY3JlYXRlKHN0cnVjdCB2Z2VtX2ZpbGUg KnZmaWxlKQo+ID4gK3sKPiA+ICsJc3RydWN0IHZnZW1fZmVuY2UgKmZlbmNlOwo+ID4gKwo+ID4g KwlmZW5jZSA9IGt6YWxsb2Moc2l6ZW9mKCpmZW5jZSksIEdGUF9LRVJORUwpOwo+ID4gKwlpZiAo IWZlbmNlKQo+ID4gKwkJcmV0dXJuIE5VTEw7Cj4gPiArCj4gPiArCXNwaW5fbG9ja19pbml0KCZm ZW5jZS0+bG9jayk7Cj4gPiArCWZlbmNlX2luaXQoJmZlbmNlLT5iYXNlLCAmdmdlbV9mZW5jZV9v cHMsICZmZW5jZS0+bG9jaywKPiA+ICsJCSAgIGZlbmNlX2NvbnRleHRfYWxsb2MoMSksIDApOwo+ IAo+IFVzdWFsbHkgMCB3b3VsZCBtZWFuIHRoYXQgdGhlIGZlbmNlIGlzIGFscmVhZHkgc2lnbmFs bGVkLCBzbyBJJ2QgYmV0dGVyCj4gc2V0IGl0IHRvIDEuCgpIbW0sIHllcywgd2UgY2FuIGltcHJv dmUgdGhlIGRlYnVnIG91dHB1dCB1c2luZyB0aGF0OgoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92Z2VtL3ZnZW1fZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZmVuY2Uu YwppbmRleCA2MzA5NTMzMWM0NDYuLmI3ZGExMTQxOWFkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1f ZmVuY2UuYwpAQCAtNTIsMTMgKzUyLDEzIEBAIHN0YXRpYyBib29sIHZnZW1fZmVuY2VfZW5hYmxl X3NpZ25hbGluZyhzdHJ1Y3QgZmVuY2UgKmZlbmNlKQogCiBzdGF0aWMgdm9pZCB2Z2VtX2ZlbmNl X3ZhbHVlX3N0cihzdHJ1Y3QgZmVuY2UgKmZlbmNlLCBjaGFyICpzdHIsIGludCBzaXplKQogewot ICAgICAgIHNucHJpbnRmKHN0ciwgc2l6ZSwgIiV1IiwgMCk7CisgICAgICAgc25wcmludGYoc3Ry LCBzaXplLCAiJXUiLCBmZW5jZS0+c2Vxbm8pOwogfQogCiBzdGF0aWMgdm9pZCB2Z2VtX2ZlbmNl X3RpbWVsaW5lX3ZhbHVlX3N0cihzdHJ1Y3QgZmVuY2UgKmZlbmNlLCBjaGFyICpzdHIsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaXplKQogewotICAgICAg IHNucHJpbnRmKHN0ciwgc2l6ZSwgIiV1IiwgMCk7CisgICAgICAgc25wcmludGYoc3RyLCBzaXpl LCAiJXUiLCBmZW5jZV9pc19zaWduYWxlZChmZW5jZSkgPyBmZW5jZS0+c2Vxbm8gOiAwKTsKIH0K IAogY29uc3Qgc3RydWN0IGZlbmNlX29wcyB2Z2VtX2ZlbmNlX29wcyA9IHsKQEAgLTgxLDcgKzgx LDcgQEAgc3RhdGljIHN0cnVjdCBmZW5jZSAqdmdlbV9mZW5jZV9jcmVhdGUoc3RydWN0IHZnZW1f ZmlsZSAqdmZpbGUpCiAKICAgICAgICBzcGluX2xvY2tfaW5pdCgmZmVuY2UtPmxvY2spOwogICAg ICAgIGZlbmNlX2luaXQoJmZlbmNlLT5iYXNlLCAmdmdlbV9mZW5jZV9vcHMsICZmZW5jZS0+bG9j aywKLSAgICAgICAgICAgICAgICAgIGZlbmNlX2NvbnRleHRfYWxsb2MoMSksIDApOworICAgICAg ICAgICAgICAgICAgZmVuY2VfY29udGV4dF9hbGxvYygxKSwgMSk7CiAKICAgICAgICByZXR1cm4g JmZlbmNlLT5iYXNlOwoKLUNocmlzCgotLSAKQ2hyaXMgV2lsc29uLCBJbnRlbCBPcGVuIFNvdXJj ZSBUZWNobm9sb2d5IENlbnRyZQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK