From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 1/1] drm: add kernel doc for exported gem dmabuf_ops Date: Tue, 20 Feb 2018 17:23:26 +0100 Message-ID: <20180220162326.GY22199@phenom.ffwll.local> References: <1516311860-24949-1-git-send-email-Samuel.Li@amd.com> <20180130093245.GF25930@phenom.ffwll.local> <20180220151239.GV22199@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Li, Samuel" Cc: "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "Koenig, Christian" , Daniel Vetter T24gVHVlLCBGZWIgMjAsIDIwMTggYXQgMDM6NDY6NTFQTSArMDAwMCwgTGksIFNhbXVlbCB3cm90 ZToKPiA+IC4vZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jOjM0Mjogd2FybmluZzogRnVuY3Rp b24gcGFyYW1ldGVyIG9yCj4gPiBtZW1iZXIgJ2F0dGFjaCcgbm90IGRlc2NyaWJlZCBpbiAnZHJt X2dlbV91bm1hcF9kbWFfYnVmJwo+ID4gLi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmM6MzQy OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IKPiA+IG1lbWJlciAnc2d0JyBub3QgZGVz Y3JpYmVkIGluICdkcm1fZ2VtX3VubWFwX2RtYV9idWYnCj4gPiAuL2RyaXZlcnMvZ3B1L2RybS9k cm1fcHJpbWUuYzozNDI6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVtYmVy ICdkaXInIG5vdCBkZXNjcmliZWQgaW4gJ2RybV9nZW1fdW5tYXBfZG1hX2J1ZicKPiAuLi4KPiAK PiBBY3R1YWxseSBJIHRlc3RlZC4gVGhvc2UgcGFyYW1ldGVycyBhcmUgbGVmdCBvdXQgb24gcHVy cG9zZSBzaW5jZSB0aGV5IGFyZSBlbXB0eSBmdW5jdGlvbnMgc28gZmFyLgoKQ2FuIHlvdSBwbHMg YWRkIGR1bW15IGV4cGxhbmF0aW9ucz8gSSBrbm93IGl0J3Mgc29tZXdoYXQgc2lsbHksIGJ1dCB3 aGVuCnRoZXJlJ3MgbG90cyBvZiB3YXJuaW5ncyBpdCdzIG11Y2ggaGFyZGVyIHRvIHNwb3QgbmV3 IG9uZXMuIERvY3MgYXJlCnNvbWV0aW1lcyBqdXN0IHBsYWluIGJvcmluZyByb3RlIHdvcmsgOi0v CgpUaGFua3MsIERhbmllbAoKPiAKPiBSZWdhcmRzLAo+IFNhbXVlbCBMaQo+IAo+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IERhbmllbCBWZXR0ZXIgW21haWx0bzpkYW5p ZWwudmV0dGVyQGZmd2xsLmNoXSBPbiBCZWhhbGYgT2YgRGFuaWVsCj4gPiBWZXR0ZXIKPiA+IFNl bnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDIwLCAyMDE4IDEwOjEzIEFNCj4gPiBUbzogTGksIFNhbXVl bCA8U2FtdWVsLkxpQGFtZC5jb20+Cj4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xs LmNoPjsgS29lbmlnLCBDaHJpc3RpYW4KPiA+IDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBh bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZHJpLQo+ID4gZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDEvMV0gZHJtOiBhZGQga2VybmVs IGRvYyBmb3IgZXhwb3J0ZWQgZ2VtCj4gPiBkbWFidWZfb3BzCj4gPiAKPiA+IE9uIFR1ZSwgSmFu IDMwLCAyMDE4IGF0IDA0OjAxOjIzUE0gKzAwMDAsIExpLCBTYW11ZWwgd3JvdGU6Cj4gPiA+Cj4g PiA+IEFsZXggaGVscGVkIHB1c2ggdGhpcyBpbnRvIGRybS10aXAsCj4gPiA+IGh0dHBzOi8vY2dp dC5mcmVlZGVza3RvcC5vcmcvZHJtL2RybS0KPiA+IHRpcC9jb21taXQvZHJpdmVycy9ncHUvZHJt P2lkPWY3YQo+ID4gPiA3MWIwY2Y5ZTM2YzFiMGVkYmZlODljZTAyOGEwMTE2NGI4NjRkCj4gPiA+ Cj4gPiA+IFRoYW5rcywKPiA+ID4gU2FtdWVsIExpCj4gPiA+Cj4gPiA+Cj4gPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiBGcm9tOiBEYW5pZWwgVmV0dGVyIFttYWlsdG86 ZGFuaWVsLnZldHRlckBmZndsbC5jaF0gT24gQmVoYWxmIE9mCj4gPiA+ID4gRGFuaWVsIFZldHRl cgo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgMzAsIDIwMTggNDozMyBBTQo+ID4gPiA+ IFRvOiBLb2VuaWcsIENocmlzdGlhbiA8Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tPgo+ID4gPiA+ IENjOiBMaSwgU2FtdWVsIDxTYW11ZWwuTGlAYW1kLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnOwo+ID4gPiA+IGRyaS0gZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiAxLzFdIGRybTogYWRkIGtlcm5lbCBkb2MgZm9yIGV4 cG9ydGVkIGdlbQo+ID4gPiA+IGRtYWJ1Zl9vcHMKPiA+ID4gPgo+ID4gPiA+IE9uIEZyaSwgSmFu IDE5LCAyMDE4IGF0IDA5OjUxOjIwQU0gKzAxMDAsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4g PiA+ID4gPiBBbSAxOC4wMS4yMDE4IHVtIDIyOjQ0IHNjaHJpZWIgU2FtdWVsIExpOgo+ID4gPiA+ ID4gPiBTaWduZWQtb2ZmLWJ5OiBTYW11ZWwgTGkgPFNhbXVlbC5MaUBhbWQuY29tPgo+ID4gPiA+ ID4gPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K PiA+ID4gPgo+ID4gPiA+IFRoYW5rcyBmb3IgdXBkYXRpbmcgdGhlIGRvY3MuCj4gPiA+ID4gPgo+ ID4gPiA+ID4gUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdA YW1kLmNvbT4KPiA+ID4gPgo+ID4gPiA+IEknbSBhc3N1bWluZyB5b3UnbGwgYWxzIHB1c2ggdGhp cyBvbmUuCj4gPiAKPiA+IEkganVzdCBub3RpY2VkIHRoYXQgZmFpcmx5IG9idmlvdXNseSB0aGlz IHdhc24ndCB0ZXN0ZWQgd2hlbiB3cml0aW5nOgo+ID4gCj4gPiAuL2RyaXZlcnMvZ3B1L2RybS9k cm1fcHJpbWUuYzozNDI6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVtYmVy ICdhdHRhY2gnIG5vdCBkZXNjcmliZWQgaW4gJ2RybV9nZW1fdW5tYXBfZG1hX2J1ZicKPiA+IC4v ZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jOjM0Mjogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yCj4gPiBtZW1iZXIgJ3NndCcgbm90IGRlc2NyaWJlZCBpbiAnZHJtX2dlbV91bm1hcF9k bWFfYnVmJwo+ID4gLi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmM6MzQyOiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IKPiA+IG1lbWJlciAnZGlyJyBub3QgZGVzY3JpYmVkIGluICdk cm1fZ2VtX3VubWFwX2RtYV9idWYnCj4gPiAuL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYzo0 Mzg6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVtYmVyICdkbWFfYnVmJyBu b3QgZGVzY3JpYmVkIGluICdkcm1fZ2VtX2RtYWJ1Zl9rbWFwX2F0b21pYycKPiA+IC4vZHJpdmVy cy9ncHUvZHJtL2RybV9wcmltZS5jOjQzODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9y Cj4gPiBtZW1iZXIgJ3BhZ2VfbnVtJyBub3QgZGVzY3JpYmVkIGluICdkcm1fZ2VtX2RtYWJ1Zl9r bWFwX2F0b21pYycKPiA+IC4vZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jOjQ1MDogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yCj4gPiBtZW1iZXIgJ2RtYV9idWYnIG5vdCBkZXNjcmli ZWQgaW4gJ2RybV9nZW1fZG1hYnVmX2t1bm1hcF9hdG9taWMnCj4gPiAuL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fcHJpbWUuYzo0NTA6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVt YmVyICdwYWdlX251bScgbm90IGRlc2NyaWJlZCBpbiAnZHJtX2dlbV9kbWFidWZfa3VubWFwX2F0 b21pYycKPiA+IC4vZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jOjQ1MDogd2FybmluZzogRnVu Y3Rpb24gcGFyYW1ldGVyIG9yCj4gPiBtZW1iZXIgJ2FkZHInIG5vdCBkZXNjcmliZWQgaW4gJ2Ry bV9nZW1fZG1hYnVmX2t1bm1hcF9hdG9taWMnCj4gPiAuL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJp bWUuYzo0NjE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVtYmVyICdkbWFf YnVmJyBub3QgZGVzY3JpYmVkIGluICdkcm1fZ2VtX2RtYWJ1Zl9rbWFwJwo+ID4gLi9kcml2ZXJz L2dwdS9kcm0vZHJtX3ByaW1lLmM6NDYxOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IK PiA+IG1lbWJlciAncGFnZV9udW0nIG5vdCBkZXNjcmliZWQgaW4gJ2RybV9nZW1fZG1hYnVmX2tt YXAnCj4gPiAuL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYzo0NzM6IHdhcm5pbmc6IEZ1bmN0 aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVtYmVyICdkbWFfYnVmJyBub3QgZGVzY3JpYmVkIGluICdk cm1fZ2VtX2RtYWJ1Zl9rdW5tYXAnCj4gPiAuL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYzo0 NzM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvcgo+ID4gbWVtYmVyICdwYWdlX251bScg bm90IGRlc2NyaWJlZCBpbiAnZHJtX2dlbV9kbWFidWZfa3VubWFwJwo+ID4gLi9kcml2ZXJzL2dw dS9kcm0vZHJtX3ByaW1lLmM6NDczOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IKPiA+ IG1lbWJlciAnYWRkcicgbm90IGRlc2NyaWJlZCBpbiAnZHJtX2dlbV9kbWFidWZfa3VubWFwJwo+ ID4gCj4gPiBTYW11ZWwsIGNhbiB5b3UgcGxzIGJ1aWxkIGRvY3MgdXNpbmcKPiA+IAo+ID4gJCBt YWtlIGh0bWxkb2NzCj4gPiAKPiA+IGFuZCBmaXggdXAgdGhlIGZhbGxvdXQgYW5kIHN1Ym1pdCBh IHBhdGNoPwo+ID4gCj4gPiBUaGFua3MsIERhbmllbAo+ID4gCj4gPiA+ID4gLURhbmllbAo+ID4g PiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ID4gICBkcml2ZXJzL2dwdS9k cm0vZHJtX3ByaW1lLmMgfCA4OAo+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwo+ID4gPiA+ID4gPiAgIDEgZmlsZSBjaGFuZ2VkLCA4OCBpbnNlcnRp b25zKCspCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX3ByaW1lLmMKPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMg aW5kZXggY2EwOWNlNy4uZTgyYTk3NiAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9wcmltZS5jCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f cHJpbWUuYwo+ID4gPiA+ID4gPiBAQCAtNzMsNiArNzMsOSBAQAo+ID4gPiA+ID4gPiAgICAqIERy aXZlcnMgc2hvdWxkIGRldGVjdCB0aGlzIHNpdHVhdGlvbiBhbmQgcmV0dXJuIGJhY2sgdGhlIGdl bSBvYmplY3QKPiA+ID4gPiA+ID4gICAgKiBmcm9tIHRoZSBkbWEtYnVmIHByaXZhdGUuICBQcmlt ZSB3aWxsIGRvIHRoaXMgYXV0b21hdGljYWxseQo+ID4gPiA+ID4gPiBmb3IgZHJpdmVycwo+ID4g PiA+IHRoYXQKPiA+ID4gPiA+ID4gICAgKiB1c2UgdGhlIGRybV9nZW1fcHJpbWVfe2ltcG9ydCxl eHBvcnR9IGhlbHBlcnMuCj4gPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gPiArICogR0VNIHN0cnVj dCAmZG1hX2J1Zl9vcHMgc3ltYm9scyBhcmUgbm93IGV4cG9ydGVkLiBUaGV5IGNhbgo+ID4gPiA+ ID4gPiArIGJlIHJlc3VlZCBieQo+ID4gPiA+ID4gPiArICogZHJpdmVycyB3aGljaCBpbXBsZW1l bnQgR0VNIGludGVyZmFjZS4KPiA+ID4gPiA+ID4gICAgKi8KPiA+ID4gPiA+ID4gICBzdHJ1Y3Qg ZHJtX3ByaW1lX21lbWJlciB7Cj4gPiA+ID4gPiA+IEBAIC0xODAsNiArMTgzLDE4IEBAIHN0YXRp YyBpbnQKPiA+ID4gPiA+ID4gZHJtX3ByaW1lX2xvb2t1cF9idWZfaGFuZGxlKHN0cnVjdAo+ID4g PiA+IGRybV9wcmltZV9maWxlX3ByaXZhdGUgKnByaW1lX2ZwcmkKPiA+ID4gPiA+ID4gICAJcmV0 dXJuIC1FTk9FTlQ7Cj4gPiA+ID4gPiA+ICAgfQo+ID4gPiA+ID4gPiArLyoqCj4gPiA+ID4gPiA+ ICsgKiBkcm1fZ2VtX21hcF9hdHRhY2ggLSBkbWFfYnVmIGF0dGFjaCBpbXBsZW1lbnRhdGlvbiBm b3IgR0VNCj4gPiA+ID4gPiA+ICsgKiBAZG1hX2J1ZjogYnVmZmVyIHRvIGF0dGFjaCBkZXZpY2Ug dG8KPiA+ID4gPiA+ID4gKyAqIEB0YXJnZXRfZGV2OiBub3QgdXNlZAo+ID4gPiA+ID4gPiArICog QGF0dGFjaDogYnVmZmVyIGF0dGFjaG1lbnQgZGF0YQo+ID4gPiA+ID4gPiArICoKPiA+ID4gPiA+ ID4gKyAqIEFsbG9jYXRlcyAmZHJtX3ByaW1lX2F0dGFjaG1lbnQgYW5kIGNhbGxzCj4gPiA+ID4g PiA+ICsmZHJtX2RyaXZlci5nZW1fcHJpbWVfcGluIGZvcgo+ID4gPiA+ID4gPiArICogZGV2aWNl IHNwZWNpZmljIGF0dGFjaG1lbnQuIFRoaXMgY2FuIGJlIHVzZWQgYXMgdGhlCj4gPiA+ID4gPiA+ ICsmZG1hX2J1Zl9vcHMuYXR0YWNoCj4gPiA+ID4gPiA+ICsgKiBjYWxsYmFjay4KPiA+ID4gPiA+ ID4gKyAqCj4gPiA+ID4gPiA+ICsgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJy b3IgY29kZSBvbiBmYWlsdXJlLgo+ID4gPiA+ID4gPiArICovCj4gPiA+ID4gPiA+ICAgaW50IGRy bV9nZW1fbWFwX2F0dGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgc3RydWN0IGRldmljZQo+ ID4gPiA+ICp0YXJnZXRfZGV2LAo+ID4gPiA+ID4gPiAgIAkJICAgICAgIHN0cnVjdCBkbWFfYnVm X2F0dGFjaG1lbnQgKmF0dGFjaCkKPiA+ID4gPiA+ID4gICB7Cj4gPiA+ID4gPiA+IEBAIC0yMDEs NiArMjE2LDE0IEBAIGludCBkcm1fZ2VtX21hcF9hdHRhY2goc3RydWN0IGRtYV9idWYKPiA+ID4g PiAqZG1hX2J1Ziwgc3RydWN0IGRldmljZSAqdGFyZ2V0X2RldiwKPiA+ID4gPiA+ID4gICB9Cj4g PiA+ID4gPiA+ICAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX21hcF9hdHRhY2gpOwo+ID4gPiA+ID4g PiArLyoqCj4gPiA+ID4gPiA+ICsgKiBkcm1fZ2VtX21hcF9kZXRhY2ggLSBkbWFfYnVmIGRldGFj aCBpbXBsZW1lbnRhdGlvbiBmb3IKPiA+IEdFTQo+ID4gPiA+ID4gPiArICogQGRtYV9idWY6IGJ1 ZmZlciB0byBkZXRhY2ggZnJvbQo+ID4gPiA+ID4gPiArICogQGF0dGFjaDogYXR0YWNobWVudCB0 byBiZSBkZXRhY2hlZAo+ID4gPiA+ID4gPiArICoKPiA+ID4gPiA+ID4gKyAqIENsZWFucyB1cCAm ZG1hX2J1Zl9hdHRhY2htZW50LiBUaGlzIGNhbiBiZSB1c2VkIGFzIHRoZQo+ID4gPiA+ID4gPiAr JmRtYV9idWZfb3BzLmRldGFjaAo+ID4gPiA+ID4gPiArICogY2FsbGJhY2suCj4gPiA+ID4gPiA+ ICsgKi8KPiA+ID4gPiA+ID4gICB2b2lkIGRybV9nZW1fbWFwX2RldGFjaChzdHJ1Y3QgZG1hX2J1 ZiAqZG1hX2J1ZiwKPiA+ID4gPiA+ID4gICAJCQlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICph dHRhY2gpCj4gPiA+ID4gPiA+ICAgewo+ID4gPiA+ID4gPiBAQCAtMjU1LDYgKzI3OCwxOCBAQCB2 b2lkCj4gPiA+ID4gZHJtX3ByaW1lX3JlbW92ZV9idWZfaGFuZGxlX2xvY2tlZChzdHJ1Y3QgZHJt X3ByaW1lX2ZpbGVfcHJpdmF0ZQo+ID4gPiA+ICpwcmltZV9mcHIKPiA+ID4gPiA+ID4gICAJfQo+ ID4gPiA+ID4gPiAgIH0KPiA+ID4gPiA+ID4gKy8qKgo+ID4gPiA+ID4gPiArICogZHJtX2dlbV9t YXBfZG1hX2J1ZiAtIG1hcF9kbWFfYnVmIGltcGxlbWVudGF0aW9uIGZvcgo+ID4gR0VNCj4gPiA+ ID4gPiA+ICsgKiBAYXR0YWNoOiBhdHRhY2htZW50IHdob3NlIHNjYXR0ZXJsaXN0IGlzIHRvIGJl IHJldHVybmVkCj4gPiA+ID4gPiA+ICsgKiBAZGlyOiBkaXJlY3Rpb24gb2YgRE1BIHRyYW5zZmVy Cj4gPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gPiArICogQ2FsbHMgJmRybV9kcml2ZXIuZ2VtX3By aW1lX2dldF9zZ190YWJsZSBhbmQgdGhlbiBtYXBzIHRoZQo+ID4gPiA+ID4gPiArc2NhdHRlcmxp c3QuIFRoaXMKPiA+ID4gPiA+ID4gKyAqIGNhbiBiZSB1c2VkIGFzIHRoZSAmZG1hX2J1Zl9vcHMu bWFwX2RtYV9idWYgY2FsbGJhY2suCj4gPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gPiArICogUmV0 dXJucyBzZ190YWJsZSBjb250YWluaW5nIHRoZSBzY2F0dGVybGlzdCB0byBiZSByZXR1cm5lZDsK PiA+ID4gPiA+ID4gK3JldHVybnMgRVJSX1BUUgo+ID4gPiA+ID4gPiArICogb24gZXJyb3IuIE1h eSByZXR1cm4gLUVJTlRSIGlmIGl0IGlzIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsLgo+ID4gPiA+ ID4gPiArICovCj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gICBzdHJ1Y3Qgc2dfdGFibGUgKmRy bV9nZW1fbWFwX2RtYV9idWYoc3RydWN0Cj4gPiBkbWFfYnVmX2F0dGFjaG1lbnQKPiA+ID4gPiAq YXR0YWNoLAo+ID4gPiA+ID4gPiAgIAkJCQkgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRp cikKPiA+ID4gPiA+ID4gICB7Cj4gPiA+ID4gPiA+IEBAIC0yOTQsNiArMzI5LDEyIEBAIHN0cnVj dCBzZ190YWJsZQo+ID4gKmRybV9nZW1fbWFwX2RtYV9idWYoc3RydWN0Cj4gPiA+ID4gZG1hX2J1 Zl9hdHRhY2htZW50ICphdHRhY2gsCj4gPiA+ID4gPiA+ICAgfQo+ID4gPiA+ID4gPiAgIEVYUE9S VF9TWU1CT0woZHJtX2dlbV9tYXBfZG1hX2J1Zik7Cj4gPiA+ID4gPiA+ICsvKioKPiA+ID4gPiA+ ID4gKyAqIGRybV9nZW1fdW5tYXBfZG1hX2J1ZiAtIHVubWFwX2RtYV9idWYgaW1wbGVtZW50YXRp b24KPiA+IGZvcgo+ID4gPiA+IEdFTQo+ID4gPiA+ID4gPiArICoKPiA+ID4gPiA+ID4gKyAqIE5v dCBpbXBsZW1lbnRlZC4gVGhlIHVubWFwIGlzIGRvbmUgYXQKPiA+IGRybV9nZW1fbWFwX2RldGFj aCgpLgo+ID4gPiA+ID4gPiArVGhpcyBjYW4gYmUKPiA+ID4gPiA+ID4gKyAqIHVzZWQgYXMgdGhl ICZkbWFfYnVmX29wcy51bm1hcF9kbWFfYnVmIGNhbGxiYWNrLgo+ID4gPiA+ID4gPiArICovCj4g PiA+ID4gPiA+ICAgdm9pZCBkcm1fZ2VtX3VubWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0 YWNobWVudAo+ID4gKmF0dGFjaCwKPiA+ID4gPiA+ID4gICAJCQkgICBzdHJ1Y3Qgc2dfdGFibGUg KnNndCwKPiA+ID4gPiA+ID4gICAJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpIEBA IC0zNTEsNgo+ID4gKzM5MiwxNQo+ID4gPiA+IEBAIHZvaWQKPiA+ID4gPiA+ID4gZHJtX2dlbV9k bWFidWZfcmVsZWFzZShzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikKPiA+ID4gPiA+ID4gICB9Cj4g PiA+ID4gPiA+ICAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1Zl9yZWxlYXNlKTsKPiA+ID4g PiA+ID4gKy8qKgo+ID4gPiA+ID4gPiArICogZHJtX2dlbV9kbWFidWZfdm1hcCAtIGRtYV9idWYg dm1hcCBpbXBsZW1lbnRhdGlvbiBmb3IKPiA+IEdFTQo+ID4gPiA+ID4gPiArICogQGRtYV9idWY6 IGJ1ZmZlciB0byBiZSBtYXBwZWQKPiA+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsgKiBTZXRz IHVwIGEga2VybmVsIHZpcnR1YWwgbWFwcGluZy4gVGhpcyBjYW4gYmUgdXNlZCBhcyB0aGUKPiA+ ID4gPiA+ID4gKyZkbWFfYnVmX29wcy52bWFwCj4gPiA+ID4gPiA+ICsgKiBjYWxsYmFjay4KPiA+ ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsgKiBSZXR1cm5zIHRoZSBrZXJuZWwgdmlydHVhbCBh ZGRyZXNzLgo+ID4gPiA+ID4gPiArICovCj4gPiA+ID4gPiA+ICAgdm9pZCAqZHJtX2dlbV9kbWFi dWZfdm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikKPiA+ID4gPiA+ID4gICB7Cj4gPiA+ID4g PiA+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gZG1hX2J1Zi0+cHJpdjsgQEAgLTM2 MCw2Cj4gPiArNDEwLDE0Cj4gPiA+ID4gQEAKPiA+ID4gPiA+ID4gdm9pZCAqZHJtX2dlbV9kbWFi dWZfdm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikKPiA+ID4gPiA+ID4gICB9Cj4gPiA+ID4g PiA+ICAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1Zl92bWFwKTsKPiA+ID4gPiA+ID4gKy8q Kgo+ID4gPiA+ID4gPiArICogZHJtX2dlbV9kbWFidWZfdnVubWFwIC0gZG1hX2J1ZiB2dW5tYXAg aW1wbGVtZW50YXRpb24KPiA+IGZvcgo+ID4gPiA+IEdFTQo+ID4gPiA+ID4gPiArICogQGRtYV9i dWY6IGJ1ZmZlciB0byBiZSB1bm1hcHBlZAo+ID4gPiA+ID4gPiArICogQHZhZGRyOiB0aGUgdmly dHVhbCBhZGRyZXNzIG9mIHRoZSBidWZmZXIKPiA+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsg KiBSZWxlYXNlcyBhIGtlcm5lbCB2aXJ0dWFsIG1hcHBpbmcuIFRoaXMgY2FuIGJlIHVzZWQgYXMg dGhlCj4gPiA+ID4gPiA+ICsgKiAmZG1hX2J1Zl9vcHMudnVubWFwIGNhbGxiYWNrLgo+ID4gPiA+ ID4gPiArICovCj4gPiA+ID4gPiA+ICAgdm9pZCBkcm1fZ2VtX2RtYWJ1Zl92dW5tYXAoc3RydWN0 IGRtYV9idWYgKmRtYV9idWYsIHZvaWQKPiA+ID4gPiAqdmFkZHIpCj4gPiA+ID4gPiA+ICAgewo+ ID4gPiA+ID4gPiAgIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiA9IGRtYV9idWYtPnByaXY7 IEBAIC0zNjksNgo+ID4gKzQyNywxMQo+ID4gPiA+IEBACj4gPiA+ID4gPiA+IHZvaWQgZHJtX2dl bV9kbWFidWZfdnVubWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCB2b2lkCj4gPiAqdmFkZHIp Cj4gPiA+ID4gPiA+ICAgfQo+ID4gPiA+ID4gPiAgIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9kbWFi dWZfdnVubWFwKTsKPiA+ID4gPiA+ID4gKy8qKgo+ID4gPiA+ID4gPiArICogZHJtX2dlbV9kbWFi dWZfa21hcF9hdG9taWMgLSBtYXBfYXRvbWljIGltcGxlbWVudGF0aW9uCj4gPiBmb3IKPiA+ID4g PiBHRU0KPiA+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsgKiBOb3QgaW1wbGVtZW50ZWQuIFRo aXMgY2FuIGJlIHVzZWQgYXMgdGhlCj4gPiA+ID4gJmRtYV9idWZfb3BzLm1hcF9hdG9taWMgY2Fs bGJhY2suCj4gPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ID4gICB2b2lkICpkcm1fZ2VtX2RtYWJ1 Zl9rbWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPiA+ID4gPiA+ID4gICAJCQkJ IHVuc2lnbmVkIGxvbmcgcGFnZV9udW0pCj4gPiA+ID4gPiA+ICAgewo+ID4gPiA+ID4gPiBAQCAt Mzc2LDYgKzQzOSwxMSBAQCB2b2lkCj4gPiAqZHJtX2dlbV9kbWFidWZfa21hcF9hdG9taWMoc3Ry dWN0Cj4gPiA+ID4gZG1hX2J1ZiAqZG1hX2J1ZiwKPiA+ID4gPiA+ID4gICB9Cj4gPiA+ID4gPiA+ ICAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1Zl9rbWFwX2F0b21pYyk7Cj4gPiA+ID4gPiA+ ICsvKioKPiA+ID4gPiA+ID4gKyAqIGRybV9nZW1fZG1hYnVmX2t1bm1hcF9hdG9taWMgLSB1bm1h cF9hdG9taWMKPiA+ID4gPiBpbXBsZW1lbnRhdGlvbiBmb3IKPiA+ID4gPiA+ID4gK0dFTQo+ID4g PiA+ID4gPiArICoKPiA+ID4gPiA+ID4gKyAqIE5vdCBpbXBsZW1lbnRlZC4gVGhpcyBjYW4gYmUg dXNlZCBhcyB0aGUKPiA+ID4gPiAmZG1hX2J1Zl9vcHMudW5tYXBfYXRvbWljIGNhbGxiYWNrLgo+ ID4gPiA+ID4gPiArICovCj4gPiA+ID4gPiA+ICAgdm9pZCBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBf YXRvbWljKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ID4gPiA+ID4gPiAgIAkJCQkgIHVuc2ln bmVkIGxvbmcgcGFnZV9udW0sIHZvaWQKPiA+ICphZGRyKQo+ID4gPiA+ID4gPiAgIHsKPiA+ID4g PiA+ID4gQEAgLTM4MywxMiArNDUxLDIyIEBAIHZvaWQKPiA+IGRybV9nZW1fZG1hYnVmX2t1bm1h cF9hdG9taWMoc3RydWN0Cj4gPiA+ID4gZG1hX2J1ZiAqZG1hX2J1ZiwKPiA+ID4gPiA+ID4gICB9 Cj4gPiA+ID4gPiA+ICAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWlj KTsKPiA+ID4gPiA+ID4gKy8qKgo+ID4gPiA+ID4gPiArICogZHJtX2dlbV9kbWFidWZfa21hcCAt IG1hcCBpbXBsZW1lbnRhdGlvbiBmb3IgR0VNCj4gPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gPiAr ICogTm90IGltcGxlbWVudGVkLiBUaGlzIGNhbiBiZSB1c2VkIGFzIHRoZSAmZG1hX2J1Zl9vcHMu bWFwCj4gPiA+ID4gY2FsbGJhY2suCj4gPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ID4gICB2b2lk ICpkcm1fZ2VtX2RtYWJ1Zl9rbWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ID4gdW5zaWdu ZWQKPiA+ID4gPiBsb25nIHBhZ2VfbnVtKQo+ID4gPiA+ID4gPiAgIHsKPiA+ID4gPiA+ID4gICAJ cmV0dXJuIE5VTEw7Cj4gPiA+ID4gPiA+ICAgfQo+ID4gPiA+ID4gPiAgIEVYUE9SVF9TWU1CT0wo ZHJtX2dlbV9kbWFidWZfa21hcCk7Cj4gPiA+ID4gPiA+ICsvKioKPiA+ID4gPiA+ID4gKyAqIGRy bV9nZW1fZG1hYnVmX2t1bm1hcCAtIHVubWFwIGltcGxlbWVudGF0aW9uIGZvciBHRU0KPiA+ID4g PiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsgKiBOb3QgaW1wbGVtZW50ZWQuIFRoaXMgY2FuIGJlIHVz ZWQgYXMgdGhlICZkbWFfYnVmX29wcy51bm1hcAo+ID4gPiA+IGNhbGxiYWNrLgo+ID4gPiA+ID4g PiArICovCj4gPiA+ID4gPiA+ICAgdm9pZCBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXAoc3RydWN0IGRt YV9idWYgKmRtYV9idWYsCj4gPiB1bnNpZ25lZAo+ID4gPiA+IGxvbmcgcGFnZV9udW0sCj4gPiA+ ID4gPiA+ICAgCQkJICAgdm9pZCAqYWRkcikKPiA+ID4gPiA+ID4gICB7Cj4gPiA+ID4gPiA+IEBA IC0zOTYsNiArNDc0LDE2IEBAIHZvaWQgZHJtX2dlbV9kbWFidWZfa3VubWFwKHN0cnVjdAo+ID4g PiA+IGRtYV9idWYgKmRtYV9idWYsIHVuc2lnbmVkIGxvbmcgcGFnZV9udW0sCj4gPiA+ID4gPiA+ ICAgfQo+ID4gPiA+ID4gPiAgIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9kbWFidWZfa3VubWFwKTsK PiA+ID4gPiA+ID4gKy8qKgo+ID4gPiA+ID4gPiArICogZHJtX2dlbV9kbWFidWZfbW1hcCAtIGRt YV9idWYgbW1hcCBpbXBsZW1lbnRhdGlvbiBmb3IKPiA+ID4gPiBHRU0KPiA+ID4gPiA+ID4gKyAq IEBkbWFfYnVmOiBidWZmZXIgdG8gYmUgbWFwcGVkCj4gPiA+ID4gPiA+ICsgKiBAdm1hOiB2aXJ0 dWFsIGFkZHJlc3MgcmFuZ2UKPiA+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsgKiBQcm92aWRl cyBtZW1vcnkgbWFwcGluZyBmb3IgdGhlIGJ1ZmZlci4gVGhpcyBjYW4gYmUgdXNlZCBhcwo+ID4g PiA+ID4gPiArIHRoZQo+ID4gPiA+ID4gPiArICogJmRtYV9idWZfb3BzLm1tYXAgY2FsbGJhY2su Cj4gPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gPiArICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3Ig YSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gPiA+ID4gPiA+ICsgKi8KPiA+ID4g PiA+ID4gICBpbnQgZHJtX2dlbV9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwg c3RydWN0Cj4gPiA+ID4gdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPiA+ID4gPiA+ID4gICB7Cj4gPiA+ ID4gPiA+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gZG1hX2J1Zi0+cHJpdjsKPiA+ ID4gPiA+Cj4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4gPiA+ID4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gPiA+ID4gZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiA+ID4gPgo+ID4gPiA+IC0tCj4g PiA+ID4gRGFuaWVsIFZldHRlcgo+ID4gPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jw b3JhdGlvbiBodHRwOi8vYmxvZy5mZndsbC5jaAo+ID4gCj4gPiAtLQo+ID4gRGFuaWVsIFZldHRl cgo+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiBodHRwOi8vYmxv Zy5mZndsbC5jaAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENv cnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeAo=