From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [CI] drm/i915: Use a ctor for TYPESAFE_BY_RCU i915_request Date: Fri, 22 Nov 2019 09:24:56 +0000 Message-ID: References: <20191122070238.576748-1-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 029B56E25F for ; Fri, 22 Nov 2019 09:24:58 +0000 (UTC) In-Reply-To: <20191122070238.576748-1-chris@chris-wilson.co.uk> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDIyLzExLzIwMTkgMDc6MDIsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBcyB3ZSBzdGFydCBw ZWVraW5nIGludG8gcmVxdWVzdHMgZm9yIGxvbmdlciBhbmQgbG9uZ2VyLCBlLmcuCj4gaW5jb3Jw b3JhdGluZyB1c2Ugb2Ygc3BpbmxvY2tzIHdoZW4gb25seSBwcm90ZWN0ZWQgYnkgYW4KPiByY3Vf cmVhZF9sb2NrKCksIHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpbiBob3cgd2UgcmVzZXQgdGhlIHJl cXVlc3Qgd2hlbgo+IHJlY3ljbGluZyBhbmQgbmVlZCB0byBwcmVzZXJ2ZSBhbnkgYmFycmllcnMg dGhhdCBtYXkgc3RpbGwgYmUgaW4gdXNlIGFzCj4gdGhlIHJlcXVlc3QgaXMgcmVzZXQgZm9yIHJl dXNlLgo+IAo+IFF1b3RpbmcgTGludXMgVG9ydmFsZHM6Cj4gCj4+IElmIHRoZXJlIGlzIHJlZmNv dW50aW5nIGdvaW5nIG9uIHRoZW4gd2h5IHVzZSBTTEFCX1RZUEVTQUZFX0JZX1JDVT8KPiAKPiAg ICAuLiBiZWNhdXNlIHRoZSBvYmplY3QgY2FuIGJlIGFjY2Vzc2VkIChieSBSQ1UpIGFmdGVyIHRo ZSByZWZjb3VudCBoYXMKPiAgICBnb25lIGRvd24gdG8gemVybywgYW5kIHRoZSB0aGluZyBoYXMg YmVlbiByZWxlYXNlZC4KPiAKPiAgICBUaGF0J3MgdGhlIHdob2xlIGFuZCBvbmx5IHBvaW50IG9m IFNMQUJfVFlQRVNBRkVfQllfUkNVLgo+IAo+ICAgIFRoYXQgZmxhZyBiYXNpY2FsbHkgc2F5czoK PiAKPiAgICAiSSBtYXkgZW5kIHVwIGFjY2Vzc2luZyB0aGlzIG9iamVjdCAqYWZ0ZXIqIGl0IGhh cyBiZWVuIGZyZWUnZCwKPiAgICBiZWNhdXNlIHRoZXJlIG1heSBiZSBSQ1UgbG9va3VwcyBpbiBm bGlnaHQiCj4gCj4gICAgVGhpcyBoYXMgbm90aGluZyB0byBkbyB3aXRoIGNvbnN0cnVjdG9ycy4g SXQncyBvayBpZiB0aGUgb2JqZWN0IGdldHMKPiAgICByZXVzZWQgYXMgYW4gb2JqZWN0IG9mIHRo ZSBzYW1lIHR5cGUgYW5kIGRvZXMgKm5vdCogZ2V0Cj4gICAgcmUtaW5pdGlhbGl6ZWQsIGJlY2F1 c2Ugd2UncmUgcGVyZmVjdGx5IGZpbmUgc2VlaW5nIG9sZCBzdGFsZSBkYXRhLgo+IAo+ICAgIFdo YXQgaXQgZ3VhcmFudGVlcyBpcyB0aGF0IHRoZSBzbGFiIGlzbid0IHNoYXJlZCB3aXRoIGFueSBv dGhlciBraW5kCj4gICAgb2Ygb2JqZWN0LCBfYW5kXyB0aGF0IHRoZSB1bmRlcmx5aW5nIHBhZ2Vz IGFyZSBmcmVlJ2QgYWZ0ZXIgYW4gUkNVCj4gICAgcXVpZXNjZW50IHBlcmlvZCAoc28gdGhlIHBh Z2VzIGFyZW4ndCBzaGFyZWQgd2l0aCBhbm90aGVyIGtpbmQgb2YKPiAgICBvYmplY3QgZWl0aGVy IGR1cmluZyBhbiBSQ1Ugd2FsaykuCj4gCj4gICAgQW5kIGl0IGRvZXNuJ3QgbmVjZXNzYXJpbHkg aGF2ZSB0byBoYXZlIGEgY29uc3RydWN0b3IsIGJlY2F1c2UgdGhlCj4gICAgdGhpbmcgdGhhdCBh IFJDVSB3YWxrIHdpbGwgY2FyZSBhYm91dCBpcwo+IAo+ICAgICAgKGEpIGd1YXJhbnRlZWQgdG8g YmUgYW4gb2JqZWN0IHRoYXQgKmhhcyogYmVlbiBvbiBzb21lIFJDVSBsaXN0IChzbwo+ICAgICAg aXQncyBub3QgYSAibmV3IiBvYmplY3QpCj4gCj4gICAgICAoYikgdGhlIFJDVSB3YWxrIG5lZWRz IHRvIGhhdmUgbG9naWMgdG8gdmVyaWZ5IHRoYXQgaXQncyBzdGlsbCB0aGUKPiAgICAgICpzYW1l KiBvYmplY3QgYW5kIGhhc24ndCBiZWVuIHJlLXVzZWQgYXMgc29tZXRoaW5nIGVsc2UuCj4gCj4g ICAgSW4gY29udHJhc3QsIGEgU0xBQl9UWVBFU0FGRV9CWV9SQ1UgbWVtb3J5IGdldHMgZnJlZSdk IGFuZCByZS11c2VkCj4gICAgaW1tZWRpYXRlbHksIGJ1dCBiZWNhdXNlIGl0IGdldHMgcmV1c2Vk IGFzIHRoZSBzYW1lIGtpbmQgb2Ygb2JqZWN0LAo+ICAgIHRoZSBSQ1Ugd2Fsa2VyIGNhbiAia25v dyIgd2hhdCBwYXJ0cyBoYXZlIG1lYW5pbmcgZm9yIHJlLXVzZSwgaW4gYSB3YXkKPiAgICBpdCBj b3VpZG4ndCBpZiB0aGUgcmUtdXNlIHdhcyByYW5kb20uCj4gCj4gICAgVGhhdCBzYWlkLCBpdCAq aXMqIHN1YnRsZSwgYW5kIHBlb3BsZSBzaG91bGQgYmUgY2FyZWZ1bC4KPiAKPj4gU28gdGhlIHJl LXVzZSBtaWdodCBpbml0aWFsaXplIHRoZSBmaWVsZHMgbGF6aWx5LCBub3QgbmVjZXNzYXJpbHkg dXNpbmcgYSBjdG9yLgo+IAo+ICAgIElmIHlvdSBoYXZlIGEgd2VsbC1kZWZpbmVkIHJlZmNvdW50 LCBhbmQgdXNlICJhdG9taWNfaW5jX25vdF96ZXJvKCkiCj4gICAgdG8gZ3VhcmQgdGhlIHNwZWN1 bGF0aXZlIFJDVSBhY2Nlc3Mgc2VjdGlvbiwgYW5kIHVzZQo+ICAgICJhdG9taWNfZGVjX2FuZF90 ZXN0KCkiIGluIHRoZSBmcmVlaW5nIHNlY3Rpb24sIHRoZW4geW91IHNob3VsZCBiZQo+ICAgIHNh ZmUgd3J0IG5ldyBhbGxvY2F0aW9ucy4KPiAKPiAgICBJZiB5b3UgaGF2ZSBhIGNvbXBsZXRlbHkg bmV3IGFsbG9jYXRpb24gdGhhdCBoYXMgInJhbmRvbSBzdGFsZQo+ICAgIGNvbnRlbnQiLCB5b3Ug a25vdyB0aGF0IGl0IGNhbm5vdCBiZSBvbiB0aGUgUkNVIGxpc3QsIHNvIHRoZXJlIGlzIG5vCj4g ICAgc3BlY3VsYXRpdmUgYWNjZXNzIHRoYXQgY2FuIGV2ZXIgc2VlIHRoYXQgcmFuZG9tIGNvbnRl bnQuCj4gCj4gICAgU28gdGhlIG9ubHkgY2FzZSB5b3UgbmVlZCB0byB3b3JyeSBhYm91dCBpcyBh IHJlLXVzZSBhbGxvY2F0aW9uLCBhbmQKPiAgICB5b3Uga25vdyB0aGF0IHRoZSByZWZjb3VudCB3 aWxsIHN0YXJ0IG91dCBhcyB6ZXJvIGV2ZW4gaWYgeW91IGRvbid0Cj4gICAgaGF2ZSBhIGNvbnN0 cnVjdG9yLgo+IAo+ICAgIFNvIHlvdSBjYW4gdGhpbmsgb2YgdGhlIHJlZmNvdW50IGl0c2VsZiBh cyBhbHdheXMgaGF2aW5nIGEgemVybwo+ICAgIGNvbnN0cnVjdG9yLCAqQlVUKiB5b3UgbmVlZCB0 byBiZSBjYXJlZnVsIHdpdGggb3JkZXJpbmcuCj4gCj4gICAgSW4gcGFydGljdWxhciwgd2hvZXZl ciBkb2VzIHRoZSBhbGxvY2F0aW9uIG5lZWRzIHRvIHRoZW4gc2V0IHRoZQo+ICAgIHJlZmNvdW50 IHRvIGEgbm9uLXplcm8gdmFsdWUgKmFmdGVyKiBpdCBoYXMgaW5pdGlhbGl6ZWQgYWxsIHRoZSBv dGhlcgo+ICAgIGZpZWxkcy4gQW5kIGluIHBhcnRpY3VsYXIsIGl0IG5lZWRzIHRvIG1ha2Ugc3Vy ZSB0aGF0IGl0IHVzZXMgdGhlCj4gICAgcHJvcGVyIG1lbW9yeSBvcmRlcmluZyB0byBkbyBzby4K PiAKPiAgICBOT1RFISBPbmUgdGhpbmcgdG8gYmUgdmVyeSB3b3JyaWVkIGFib3V0IGlzIHRoYXQg cmUtaW5pdGlhbGl6aW5nCj4gICAgd2hhdGV2ZXIgUkNVIGxpc3RzIG1lYW5zIHRoYXQgbm93IHRo ZSBSQ1Ugd2Fsa2VyIG1heSBiZSB3YWxraW5nIG9uIHRoZQo+ICAgIHdyb25nIGxpc3Qgc28gdGhl IHdhbGtlciBtYXkgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB0aGlzIHBhcnRpY3VsYXIKPiAgICBl bnRyeSwgYnV0IGl0IG1heSBtaXNzIHdhbGtpbmcgKm90aGVyKiBlbnRyaWVzLiBTbyB0aGVuIHlv dSBjYW4gZ2V0Cj4gICAgc3B1cmlvdXMgbG9va3VwIGZhaWx1cmVzLCBiZWNhdXNlIHRoZSBSQ1Ug d2Fsa2VyIG5ldmVyIHdhbGtlZCBhbGwgdGhlCj4gICAgd2F5IHRvIHRoZSBlbmQgb2YgdGhlIHJp Z2h0IGxpc3QuIFRoYXQgZW5kcyB1cCBiZWluZyBhIG11Y2ggbW9yZQo+ICAgIHN1YnRsZSBidWcu Cj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpOb3cg dGhhdCB5b3UgbWFkZSB0aGUgY29tbWl0IG1lc3NhZ2Ugc28gcHJldHR5IEkgaGF2ZSBub3QgY2hv aWNlIGJ1dCB0bzoKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgoKU2VyaW91c2x5LCBJIHRoaW5rIGl0IGxvb2tzIGZpbmUuIEFtIEkgbWlzc2lu ZyBzb21ldGhpbmc/IENvdWxkIGJlIEkgCmd1ZXNzLiBBbnl0aGluZyBtb3JlIGNvdWxkIGJlIGRv bmUgZm9yIGluc3RhbmNlIGluIHN3X2ZlbmNlX3JlaW5pdCAKY2hlY2tpbmcgdGhlIHdxIGhlYWQ/ CgpSZWdhcmRzLAoKVHZydGtvCgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmMgICB8IDQ5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyB8ICA2ICsrKysKPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc2NoZWR1bGVyLmggfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3N3X2ZlbmNlLmMgIHwgIDggKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3dfZmVuY2UuaCAgfCAgMiArKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCsp LCAxNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwo+IGlu ZGV4IDAwMDExZjk1MzNiNi4uYTU1OGY2NDE4NmZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZXF1ZXN0LmMKPiBAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfY2FwdHVy ZV9saXN0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCj4gICB7Cj4gICAJc3RydWN0IGk5 MTVfY2FwdHVyZV9saXN0ICpjYXB0dXJlOwo+ICAgCj4gLQljYXB0dXJlID0gcmVxdWVzdC0+Y2Fw dHVyZV9saXN0Owo+ICsJY2FwdHVyZSA9IGZldGNoX2FuZF96ZXJvKCZyZXF1ZXN0LT5jYXB0dXJl X2xpc3QpOwo+ICAgCXdoaWxlIChjYXB0dXJlKSB7Cj4gICAJCXN0cnVjdCBpOTE1X2NhcHR1cmVf bGlzdCAqbmV4dCA9IGNhcHR1cmUtPm5leHQ7Cj4gICAKPiBAQCAtMjE0LDcgKzIxNCw3IEBAIHN0 YXRpYyB2b2lkIHJlbW92ZV9mcm9tX2VuZ2luZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAg IAkJc3Bpbl9sb2NrKCZlbmdpbmUtPmFjdGl2ZS5sb2NrKTsKPiAgIAkJbG9ja2VkID0gZW5naW5l Owo+ICAgCX0KPiAtCWxpc3RfZGVsKCZycS0+c2NoZWQubGluayk7Cj4gKwlsaXN0X2RlbF9pbml0 KCZycS0+c2NoZWQubGluayk7Cj4gICAJc3Bpbl91bmxvY2tfaXJxKCZsb2NrZWQtPmFjdGl2ZS5s b2NrKTsKPiAgIH0KPiAgIAo+IEBAIC01ODYsNiArNTg2LDIxIEBAIHJlcXVlc3RfYWxsb2Nfc2xv dyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBnZnBfdCBnZnApCj4gICAJcmV0dXJuIGttZW1f Y2FjaGVfYWxsb2MoZ2xvYmFsLnNsYWJfcmVxdWVzdHMsIGdmcCk7Cj4gICB9Cj4gICAKPiArc3Rh dGljIHZvaWQgX19pOTE1X3JlcXVlc3RfY3Rvcih2b2lkICphcmcpCj4gK3sKPiArCXN0cnVjdCBp OTE1X3JlcXVlc3QgKnJxID0gYXJnOwo+ICsKPiArCXNwaW5fbG9ja19pbml0KCZycS0+bG9jayk7 Cj4gKwlpOTE1X3NjaGVkX25vZGVfaW5pdCgmcnEtPnNjaGVkKTsKPiArCWk5MTVfc3dfZmVuY2Vf aW5pdCgmcnEtPnN1Ym1pdCwgc3VibWl0X25vdGlmeSk7Cj4gKwlpOTE1X3N3X2ZlbmNlX2luaXQo JnJxLT5zZW1hcGhvcmUsIHNlbWFwaG9yZV9ub3RpZnkpOwo+ICsKPiArCXJxLT5maWxlX3ByaXYg PSBOVUxMOwo+ICsJcnEtPmNhcHR1cmVfbGlzdCA9IE5VTEw7Cj4gKwo+ICsJSU5JVF9MSVNUX0hF QUQoJnJxLT5leGVjdXRlX2NiKTsKPiArfQo+ICsKPiAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKgo+ ICAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3Qg Z2ZwKQo+ICAgewo+IEBAIC02NDgsNiArNjYzLDcgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQo+ICAgCXJxLT5lbmdpbmUgPSBjZS0+ ZW5naW5lOwo+ICAgCXJxLT5yaW5nID0gY2UtPnJpbmc7Cj4gICAJcnEtPmV4ZWN1dGlvbl9tYXNr ID0gY2UtPmVuZ2luZS0+bWFzazsKPiArCXJxLT5mbGFncyA9IDA7Cj4gICAKPiAgIAlyY3VfYXNz aWduX3BvaW50ZXIocnEtPnRpbWVsaW5lLCB0bCk7Cj4gICAJcnEtPmh3c3Bfc2Vxbm8gPSB0bC0+ aHdzcF9zZXFubzsKPiBAQCAtNjU1LDIzICs2NzEsMjAgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRl KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQo+ICAgCj4gICAJcnEtPnJjdXN0 YXRlID0gZ2V0X3N0YXRlX3N5bmNocm9uaXplX3JjdSgpOyAvKiBhY3RzIGFzIHNtcF9tYigpICov Cj4gICAKPiAtCXNwaW5fbG9ja19pbml0KCZycS0+bG9jayk7Cj4gICAJZG1hX2ZlbmNlX2luaXQo JnJxLT5mZW5jZSwgJmk5MTVfZmVuY2Vfb3BzLCAmcnEtPmxvY2ssCj4gICAJCSAgICAgICB0bC0+ ZmVuY2VfY29udGV4dCwgc2Vxbm8pOwo+ICAgCj4gICAJLyogV2UgYnVtcCB0aGUgcmVmIGZvciB0 aGUgZmVuY2UgY2hhaW4gKi8KPiAtCWk5MTVfc3dfZmVuY2VfaW5pdCgmaTkxNV9yZXF1ZXN0X2dl dChycSktPnN1Ym1pdCwgc3VibWl0X25vdGlmeSk7Cj4gLQlpOTE1X3N3X2ZlbmNlX2luaXQoJmk5 MTVfcmVxdWVzdF9nZXQocnEpLT5zZW1hcGhvcmUsIHNlbWFwaG9yZV9ub3RpZnkpOwo+ICsJaTkx NV9zd19mZW5jZV9yZWluaXQoJmk5MTVfcmVxdWVzdF9nZXQocnEpLT5zdWJtaXQpOwo+ICsJaTkx NV9zd19mZW5jZV9yZWluaXQoJmk5MTVfcmVxdWVzdF9nZXQocnEpLT5zZW1hcGhvcmUpOwo+ICAg Cj4gLQlpOTE1X3NjaGVkX25vZGVfaW5pdCgmcnEtPnNjaGVkKTsKPiArCWk5MTVfc2NoZWRfbm9k ZV9yZWluaXQoJnJxLT5zY2hlZCk7Cj4gICAKPiAtCS8qIE5vIHphbGxvYywgbXVzdCBjbGVhciB3 aGF0IHdlIG5lZWQgYnkgaGFuZCAqLwo+IC0JcnEtPmZpbGVfcHJpdiA9IE5VTEw7Cj4gKwkvKiBO byB6YWxsb2MsIGV2ZXJ5dGhpbmcgbXVzdCBiZSBjbGVhcmVkIGFmdGVyIHVzZSAqLwo+ICAgCXJx LT5iYXRjaCA9IE5VTEw7Cj4gLQlycS0+Y2FwdHVyZV9saXN0ID0gTlVMTDsKPiAtCXJxLT5mbGFn cyA9IDA7Cj4gLQo+IC0JSU5JVF9MSVNUX0hFQUQoJnJxLT5leGVjdXRlX2NiKTsKPiArCUdFTV9C VUdfT04ocnEtPmZpbGVfcHJpdik7Cj4gKwlHRU1fQlVHX09OKHJxLT5jYXB0dXJlX2xpc3QpOwo+ ICsJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmcnEtPmV4ZWN1dGVfY2IpKTsKPiAgIAo+ICAgCS8q Cj4gICAJICogUmVzZXJ2ZSBzcGFjZSBpbiB0aGUgcmluZyBidWZmZXIgZm9yIGFsbCB0aGUgY29t bWFuZHMgcmVxdWlyZWQgdG8KPiBAQCAtMTUzMywxMCArMTU0NiwxNCBAQCBzdGF0aWMgc3RydWN0 IGk5MTVfZ2xvYmFsX3JlcXVlc3QgZ2xvYmFsID0geyB7Cj4gICAKPiAgIGludCBfX2luaXQgaTkx NV9nbG9iYWxfcmVxdWVzdF9pbml0KHZvaWQpCj4gICB7Cj4gLQlnbG9iYWwuc2xhYl9yZXF1ZXN0 cyA9IEtNRU1fQ0FDSEUoaTkxNV9yZXF1ZXN0LAo+IC0JCQkJCSAgU0xBQl9IV0NBQ0hFX0FMSUdO IHwKPiAtCQkJCQkgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UIHwKPiAtCQkJCQkgIFNMQUJfVFlQRVNB RkVfQllfUkNVKTsKPiArCWdsb2JhbC5zbGFiX3JlcXVlc3RzID0KPiArCQlrbWVtX2NhY2hlX2Ny ZWF0ZSgiaTkxNV9yZXF1ZXN0IiwKPiArCQkJCSAgc2l6ZW9mKHN0cnVjdCBpOTE1X3JlcXVlc3Qp LAo+ICsJCQkJICBfX2FsaWdub2ZfXyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0KSwKPiArCQkJCSAgU0xB Ql9IV0NBQ0hFX0FMSUdOIHwKPiArCQkJCSAgU0xBQl9SRUNMQUlNX0FDQ09VTlQgfAo+ICsJCQkJ ICBTTEFCX1RZUEVTQUZFX0JZX1JDVSwKPiArCQkJCSAgX19pOTE1X3JlcXVlc3RfY3Rvcik7Cj4g ICAJaWYgKCFnbG9iYWwuc2xhYl9yZXF1ZXN0cykKPiAgIAkJcmV0dXJuIC1FTk9NRU07Cj4gICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKPiBpbmRleCAxOTQyNDY1NDhjNGQu LmE1YTZkYmU2YTUzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYwo+ IEBAIC0zODcsNiArMzg3LDEwIEBAIHZvaWQgaTkxNV9zY2hlZF9ub2RlX2luaXQoc3RydWN0IGk5 MTVfc2NoZWRfbm9kZSAqbm9kZSkKPiAgIAlJTklUX0xJU1RfSEVBRCgmbm9kZS0+c2lnbmFsZXJz X2xpc3QpOwo+ICAgCUlOSVRfTElTVF9IRUFEKCZub2RlLT53YWl0ZXJzX2xpc3QpOwo+ICAgCUlO SVRfTElTVF9IRUFEKCZub2RlLT5saW5rKTsKPiArfQo+ICsKPiArdm9pZCBpOTE1X3NjaGVkX25v ZGVfcmVpbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpCj4gK3sKPiAgIAlub2RlLT5h dHRyLnByaW9yaXR5ID0gSTkxNV9QUklPUklUWV9JTlZBTElEOwo+ICAgCW5vZGUtPnNlbWFwaG9y ZXMgPSAwOwo+ICAgCW5vZGUtPmZsYWdzID0gMDsKPiBAQCAtNDgxLDYgKzQ4NSw3IEBAIHZvaWQg aTkxNV9zY2hlZF9ub2RlX2Zpbmkoc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSkKPiAgIAkJ aWYgKGRlcC0+ZmxhZ3MgJiBJOTE1X0RFUEVOREVOQ1lfQUxMT0MpCj4gICAJCQlpOTE1X2RlcGVu ZGVuY3lfZnJlZShkZXApOwo+ICAgCX0KPiArCUlOSVRfTElTVF9IRUFEKCZub2RlLT5zaWduYWxl cnNfbGlzdCk7Cj4gICAKPiAgIAkvKiBSZW1vdmUgb3Vyc2VsdmVzIGZyb20gZXZlcnlvbmUgd2hv IGRlcGVuZHMgdXBvbiB1cyAqLwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShkZXAsIHRt cCwgJm5vZGUtPndhaXRlcnNfbGlzdCwgd2FpdF9saW5rKSB7Cj4gQEAgLTQ5MSw2ICs0OTYsNyBA QCB2b2lkIGk5MTVfc2NoZWRfbm9kZV9maW5pKHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUp Cj4gICAJCWlmIChkZXAtPmZsYWdzICYgSTkxNV9ERVBFTkRFTkNZX0FMTE9DKQo+ICAgCQkJaTkx NV9kZXBlbmRlbmN5X2ZyZWUoZGVwKTsKPiAgIAl9Cj4gKwlJTklUX0xJU1RfSEVBRCgmbm9kZS0+ d2FpdGVyc19saXN0KTsKPiAgIAo+ICAgCXNwaW5fdW5sb2NrX2lycSgmc2NoZWR1bGVfbG9jayk7 Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVy LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCj4gaW5kZXggMDdkMjQz YWNmNTUzLi5kMWRjNGVmZWY3N2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zY2hlZHVsZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmgKPiBAQCAtMjYsNiArMjYsNyBAQAo+ICAgCQkJCQkgc2NoZWQubGluaykKPiAgIAo+ICAg dm9pZCBpOTE1X3NjaGVkX25vZGVfaW5pdChzdHJ1Y3QgaTkxNV9zY2hlZF9ub2RlICpub2RlKTsK PiArdm9pZCBpOTE1X3NjaGVkX25vZGVfcmVpbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5v ZGUpOwo+ICAgCj4gICBib29sIF9faTkxNV9zY2hlZF9ub2RlX2FkZF9kZXBlbmRlbmN5KHN0cnVj dCBpOTE1X3NjaGVkX25vZGUgKm5vZGUsCj4gICAJCQkJICAgICAgc3RydWN0IGk5MTVfc2NoZWRf bm9kZSAqc2lnbmFsLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3 X2ZlbmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3X2ZlbmNlLmMKPiBpbmRleCA2 YTg4ZGIyOTEyNTIuLmVhY2M2YzVjZTBmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3N3X2ZlbmNlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3 X2ZlbmNlLmMKPiBAQCAtMjI3LDYgKzIyNywxNCBAQCB2b2lkIF9faTkxNV9zd19mZW5jZV9pbml0 KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSwKPiAgIAlmZW5jZS0+ZmxhZ3MgPSAodW5zaWdu ZWQgbG9uZylmbjsKPiAgIH0KPiAgIAo+ICt2b2lkIGk5MTVfc3dfZmVuY2VfcmVpbml0KHN0cnVj dCBpOTE1X3N3X2ZlbmNlICpmZW5jZSkKPiArewo+ICsJZGVidWdfZmVuY2VfaW5pdChmZW5jZSk7 Cj4gKwo+ICsJYXRvbWljX3NldCgmZmVuY2UtPnBlbmRpbmcsIDEpOwo+ICsJZmVuY2UtPmVycm9y ID0gMDsKPiArfQo+ICsKPiAgIHZvaWQgaTkxNV9zd19mZW5jZV9jb21taXQoc3RydWN0IGk5MTVf c3dfZmVuY2UgKmZlbmNlKQo+ICAgewo+ICAgCWRlYnVnX2ZlbmNlX2FjdGl2YXRlKGZlbmNlKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5oCj4gaW5kZXggYWI3ZDU4YmQwYjlkLi4x ZTkwZDlhNTFiZDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19m ZW5jZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5oCj4gQEAg LTU0LDYgKzU0LDggQEAgZG8gewkJCQkJCQkJXAo+ICAgCV9faTkxNV9zd19mZW5jZV9pbml0KChm ZW5jZSksIChmbiksIE5VTEwsIE5VTEwpCj4gICAjZW5kaWYKPiAgIAo+ICt2b2lkIGk5MTVfc3df ZmVuY2VfcmVpbml0KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSk7Cj4gKwo+ICAgI2lmZGVm IENPTkZJR19EUk1fSTkxNV9TV19GRU5DRV9ERUJVR19PQkpFQ1RTCj4gICB2b2lkIGk5MTVfc3df ZmVuY2VfZmluaShzdHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UpOwo+ICAgI2Vsc2UKPiAKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C4DF3C432C0 for ; Fri, 22 Nov 2019 09:25:00 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9FAAA20714 for ; Fri, 22 Nov 2019 09:25:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9FAAA20714 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 476FF6F50A; Fri, 22 Nov 2019 09:25:00 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 029B56E25F for ; Fri, 22 Nov 2019 09:24:58 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Nov 2019 01:24:58 -0800 X-IronPort-AV: E=Sophos;i="5.69,229,1571727600"; d="scan'208";a="201457197" Received: from aburk3x-mobl1.ger.corp.intel.com (HELO [10.252.19.231]) ([10.252.19.231]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/AES256-SHA; 22 Nov 2019 01:24:57 -0800 To: Chris Wilson , intel-gfx@lists.freedesktop.org References: <20191122070238.576748-1-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Organization: Intel Corporation UK Plc Message-ID: Date: Fri, 22 Nov 2019 09:24:56 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191122070238.576748-1-chris@chris-wilson.co.uk> Content-Language: en-US Subject: Re: [Intel-gfx] [CI] drm/i915: Use a ctor for TYPESAFE_BY_RCU i915_request X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191122092456.z1yQ_rGB-lVR63MuR1tksChIg23lgOnExUOrGDVkJyE@z> Ck9uIDIyLzExLzIwMTkgMDc6MDIsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBcyB3ZSBzdGFydCBw ZWVraW5nIGludG8gcmVxdWVzdHMgZm9yIGxvbmdlciBhbmQgbG9uZ2VyLCBlLmcuCj4gaW5jb3Jw b3JhdGluZyB1c2Ugb2Ygc3BpbmxvY2tzIHdoZW4gb25seSBwcm90ZWN0ZWQgYnkgYW4KPiByY3Vf cmVhZF9sb2NrKCksIHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpbiBob3cgd2UgcmVzZXQgdGhlIHJl cXVlc3Qgd2hlbgo+IHJlY3ljbGluZyBhbmQgbmVlZCB0byBwcmVzZXJ2ZSBhbnkgYmFycmllcnMg dGhhdCBtYXkgc3RpbGwgYmUgaW4gdXNlIGFzCj4gdGhlIHJlcXVlc3QgaXMgcmVzZXQgZm9yIHJl dXNlLgo+IAo+IFF1b3RpbmcgTGludXMgVG9ydmFsZHM6Cj4gCj4+IElmIHRoZXJlIGlzIHJlZmNv dW50aW5nIGdvaW5nIG9uIHRoZW4gd2h5IHVzZSBTTEFCX1RZUEVTQUZFX0JZX1JDVT8KPiAKPiAg ICAuLiBiZWNhdXNlIHRoZSBvYmplY3QgY2FuIGJlIGFjY2Vzc2VkIChieSBSQ1UpIGFmdGVyIHRo ZSByZWZjb3VudCBoYXMKPiAgICBnb25lIGRvd24gdG8gemVybywgYW5kIHRoZSB0aGluZyBoYXMg YmVlbiByZWxlYXNlZC4KPiAKPiAgICBUaGF0J3MgdGhlIHdob2xlIGFuZCBvbmx5IHBvaW50IG9m IFNMQUJfVFlQRVNBRkVfQllfUkNVLgo+IAo+ICAgIFRoYXQgZmxhZyBiYXNpY2FsbHkgc2F5czoK PiAKPiAgICAiSSBtYXkgZW5kIHVwIGFjY2Vzc2luZyB0aGlzIG9iamVjdCAqYWZ0ZXIqIGl0IGhh cyBiZWVuIGZyZWUnZCwKPiAgICBiZWNhdXNlIHRoZXJlIG1heSBiZSBSQ1UgbG9va3VwcyBpbiBm bGlnaHQiCj4gCj4gICAgVGhpcyBoYXMgbm90aGluZyB0byBkbyB3aXRoIGNvbnN0cnVjdG9ycy4g SXQncyBvayBpZiB0aGUgb2JqZWN0IGdldHMKPiAgICByZXVzZWQgYXMgYW4gb2JqZWN0IG9mIHRo ZSBzYW1lIHR5cGUgYW5kIGRvZXMgKm5vdCogZ2V0Cj4gICAgcmUtaW5pdGlhbGl6ZWQsIGJlY2F1 c2Ugd2UncmUgcGVyZmVjdGx5IGZpbmUgc2VlaW5nIG9sZCBzdGFsZSBkYXRhLgo+IAo+ICAgIFdo YXQgaXQgZ3VhcmFudGVlcyBpcyB0aGF0IHRoZSBzbGFiIGlzbid0IHNoYXJlZCB3aXRoIGFueSBv dGhlciBraW5kCj4gICAgb2Ygb2JqZWN0LCBfYW5kXyB0aGF0IHRoZSB1bmRlcmx5aW5nIHBhZ2Vz IGFyZSBmcmVlJ2QgYWZ0ZXIgYW4gUkNVCj4gICAgcXVpZXNjZW50IHBlcmlvZCAoc28gdGhlIHBh Z2VzIGFyZW4ndCBzaGFyZWQgd2l0aCBhbm90aGVyIGtpbmQgb2YKPiAgICBvYmplY3QgZWl0aGVy IGR1cmluZyBhbiBSQ1Ugd2FsaykuCj4gCj4gICAgQW5kIGl0IGRvZXNuJ3QgbmVjZXNzYXJpbHkg aGF2ZSB0byBoYXZlIGEgY29uc3RydWN0b3IsIGJlY2F1c2UgdGhlCj4gICAgdGhpbmcgdGhhdCBh IFJDVSB3YWxrIHdpbGwgY2FyZSBhYm91dCBpcwo+IAo+ICAgICAgKGEpIGd1YXJhbnRlZWQgdG8g YmUgYW4gb2JqZWN0IHRoYXQgKmhhcyogYmVlbiBvbiBzb21lIFJDVSBsaXN0IChzbwo+ICAgICAg aXQncyBub3QgYSAibmV3IiBvYmplY3QpCj4gCj4gICAgICAoYikgdGhlIFJDVSB3YWxrIG5lZWRz IHRvIGhhdmUgbG9naWMgdG8gdmVyaWZ5IHRoYXQgaXQncyBzdGlsbCB0aGUKPiAgICAgICpzYW1l KiBvYmplY3QgYW5kIGhhc24ndCBiZWVuIHJlLXVzZWQgYXMgc29tZXRoaW5nIGVsc2UuCj4gCj4g ICAgSW4gY29udHJhc3QsIGEgU0xBQl9UWVBFU0FGRV9CWV9SQ1UgbWVtb3J5IGdldHMgZnJlZSdk IGFuZCByZS11c2VkCj4gICAgaW1tZWRpYXRlbHksIGJ1dCBiZWNhdXNlIGl0IGdldHMgcmV1c2Vk IGFzIHRoZSBzYW1lIGtpbmQgb2Ygb2JqZWN0LAo+ICAgIHRoZSBSQ1Ugd2Fsa2VyIGNhbiAia25v dyIgd2hhdCBwYXJ0cyBoYXZlIG1lYW5pbmcgZm9yIHJlLXVzZSwgaW4gYSB3YXkKPiAgICBpdCBj b3VpZG4ndCBpZiB0aGUgcmUtdXNlIHdhcyByYW5kb20uCj4gCj4gICAgVGhhdCBzYWlkLCBpdCAq aXMqIHN1YnRsZSwgYW5kIHBlb3BsZSBzaG91bGQgYmUgY2FyZWZ1bC4KPiAKPj4gU28gdGhlIHJl LXVzZSBtaWdodCBpbml0aWFsaXplIHRoZSBmaWVsZHMgbGF6aWx5LCBub3QgbmVjZXNzYXJpbHkg dXNpbmcgYSBjdG9yLgo+IAo+ICAgIElmIHlvdSBoYXZlIGEgd2VsbC1kZWZpbmVkIHJlZmNvdW50 LCBhbmQgdXNlICJhdG9taWNfaW5jX25vdF96ZXJvKCkiCj4gICAgdG8gZ3VhcmQgdGhlIHNwZWN1 bGF0aXZlIFJDVSBhY2Nlc3Mgc2VjdGlvbiwgYW5kIHVzZQo+ICAgICJhdG9taWNfZGVjX2FuZF90 ZXN0KCkiIGluIHRoZSBmcmVlaW5nIHNlY3Rpb24sIHRoZW4geW91IHNob3VsZCBiZQo+ICAgIHNh ZmUgd3J0IG5ldyBhbGxvY2F0aW9ucy4KPiAKPiAgICBJZiB5b3UgaGF2ZSBhIGNvbXBsZXRlbHkg bmV3IGFsbG9jYXRpb24gdGhhdCBoYXMgInJhbmRvbSBzdGFsZQo+ICAgIGNvbnRlbnQiLCB5b3Ug a25vdyB0aGF0IGl0IGNhbm5vdCBiZSBvbiB0aGUgUkNVIGxpc3QsIHNvIHRoZXJlIGlzIG5vCj4g ICAgc3BlY3VsYXRpdmUgYWNjZXNzIHRoYXQgY2FuIGV2ZXIgc2VlIHRoYXQgcmFuZG9tIGNvbnRl bnQuCj4gCj4gICAgU28gdGhlIG9ubHkgY2FzZSB5b3UgbmVlZCB0byB3b3JyeSBhYm91dCBpcyBh IHJlLXVzZSBhbGxvY2F0aW9uLCBhbmQKPiAgICB5b3Uga25vdyB0aGF0IHRoZSByZWZjb3VudCB3 aWxsIHN0YXJ0IG91dCBhcyB6ZXJvIGV2ZW4gaWYgeW91IGRvbid0Cj4gICAgaGF2ZSBhIGNvbnN0 cnVjdG9yLgo+IAo+ICAgIFNvIHlvdSBjYW4gdGhpbmsgb2YgdGhlIHJlZmNvdW50IGl0c2VsZiBh cyBhbHdheXMgaGF2aW5nIGEgemVybwo+ICAgIGNvbnN0cnVjdG9yLCAqQlVUKiB5b3UgbmVlZCB0 byBiZSBjYXJlZnVsIHdpdGggb3JkZXJpbmcuCj4gCj4gICAgSW4gcGFydGljdWxhciwgd2hvZXZl ciBkb2VzIHRoZSBhbGxvY2F0aW9uIG5lZWRzIHRvIHRoZW4gc2V0IHRoZQo+ICAgIHJlZmNvdW50 IHRvIGEgbm9uLXplcm8gdmFsdWUgKmFmdGVyKiBpdCBoYXMgaW5pdGlhbGl6ZWQgYWxsIHRoZSBv dGhlcgo+ICAgIGZpZWxkcy4gQW5kIGluIHBhcnRpY3VsYXIsIGl0IG5lZWRzIHRvIG1ha2Ugc3Vy ZSB0aGF0IGl0IHVzZXMgdGhlCj4gICAgcHJvcGVyIG1lbW9yeSBvcmRlcmluZyB0byBkbyBzby4K PiAKPiAgICBOT1RFISBPbmUgdGhpbmcgdG8gYmUgdmVyeSB3b3JyaWVkIGFib3V0IGlzIHRoYXQg cmUtaW5pdGlhbGl6aW5nCj4gICAgd2hhdGV2ZXIgUkNVIGxpc3RzIG1lYW5zIHRoYXQgbm93IHRo ZSBSQ1Ugd2Fsa2VyIG1heSBiZSB3YWxraW5nIG9uIHRoZQo+ICAgIHdyb25nIGxpc3Qgc28gdGhl IHdhbGtlciBtYXkgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB0aGlzIHBhcnRpY3VsYXIKPiAgICBl bnRyeSwgYnV0IGl0IG1heSBtaXNzIHdhbGtpbmcgKm90aGVyKiBlbnRyaWVzLiBTbyB0aGVuIHlv dSBjYW4gZ2V0Cj4gICAgc3B1cmlvdXMgbG9va3VwIGZhaWx1cmVzLCBiZWNhdXNlIHRoZSBSQ1Ug d2Fsa2VyIG5ldmVyIHdhbGtlZCBhbGwgdGhlCj4gICAgd2F5IHRvIHRoZSBlbmQgb2YgdGhlIHJp Z2h0IGxpc3QuIFRoYXQgZW5kcyB1cCBiZWluZyBhIG11Y2ggbW9yZQo+ICAgIHN1YnRsZSBidWcu Cj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpOb3cg dGhhdCB5b3UgbWFkZSB0aGUgY29tbWl0IG1lc3NhZ2Ugc28gcHJldHR5IEkgaGF2ZSBub3QgY2hv aWNlIGJ1dCB0bzoKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgoKU2VyaW91c2x5LCBJIHRoaW5rIGl0IGxvb2tzIGZpbmUuIEFtIEkgbWlzc2lu ZyBzb21ldGhpbmc/IENvdWxkIGJlIEkgCmd1ZXNzLiBBbnl0aGluZyBtb3JlIGNvdWxkIGJlIGRv bmUgZm9yIGluc3RhbmNlIGluIHN3X2ZlbmNlX3JlaW5pdCAKY2hlY2tpbmcgdGhlIHdxIGhlYWQ/ CgpSZWdhcmRzLAoKVHZydGtvCgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmMgICB8IDQ5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyB8ICA2ICsrKysKPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc2NoZWR1bGVyLmggfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3N3X2ZlbmNlLmMgIHwgIDggKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3dfZmVuY2UuaCAgfCAgMiArKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCsp LCAxNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwo+IGlu ZGV4IDAwMDExZjk1MzNiNi4uYTU1OGY2NDE4NmZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZXF1ZXN0LmMKPiBAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfY2FwdHVy ZV9saXN0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCj4gICB7Cj4gICAJc3RydWN0IGk5 MTVfY2FwdHVyZV9saXN0ICpjYXB0dXJlOwo+ICAgCj4gLQljYXB0dXJlID0gcmVxdWVzdC0+Y2Fw dHVyZV9saXN0Owo+ICsJY2FwdHVyZSA9IGZldGNoX2FuZF96ZXJvKCZyZXF1ZXN0LT5jYXB0dXJl X2xpc3QpOwo+ICAgCXdoaWxlIChjYXB0dXJlKSB7Cj4gICAJCXN0cnVjdCBpOTE1X2NhcHR1cmVf bGlzdCAqbmV4dCA9IGNhcHR1cmUtPm5leHQ7Cj4gICAKPiBAQCAtMjE0LDcgKzIxNCw3IEBAIHN0 YXRpYyB2b2lkIHJlbW92ZV9mcm9tX2VuZ2luZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAg IAkJc3Bpbl9sb2NrKCZlbmdpbmUtPmFjdGl2ZS5sb2NrKTsKPiAgIAkJbG9ja2VkID0gZW5naW5l Owo+ICAgCX0KPiAtCWxpc3RfZGVsKCZycS0+c2NoZWQubGluayk7Cj4gKwlsaXN0X2RlbF9pbml0 KCZycS0+c2NoZWQubGluayk7Cj4gICAJc3Bpbl91bmxvY2tfaXJxKCZsb2NrZWQtPmFjdGl2ZS5s b2NrKTsKPiAgIH0KPiAgIAo+IEBAIC01ODYsNiArNTg2LDIxIEBAIHJlcXVlc3RfYWxsb2Nfc2xv dyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBnZnBfdCBnZnApCj4gICAJcmV0dXJuIGttZW1f Y2FjaGVfYWxsb2MoZ2xvYmFsLnNsYWJfcmVxdWVzdHMsIGdmcCk7Cj4gICB9Cj4gICAKPiArc3Rh dGljIHZvaWQgX19pOTE1X3JlcXVlc3RfY3Rvcih2b2lkICphcmcpCj4gK3sKPiArCXN0cnVjdCBp OTE1X3JlcXVlc3QgKnJxID0gYXJnOwo+ICsKPiArCXNwaW5fbG9ja19pbml0KCZycS0+bG9jayk7 Cj4gKwlpOTE1X3NjaGVkX25vZGVfaW5pdCgmcnEtPnNjaGVkKTsKPiArCWk5MTVfc3dfZmVuY2Vf aW5pdCgmcnEtPnN1Ym1pdCwgc3VibWl0X25vdGlmeSk7Cj4gKwlpOTE1X3N3X2ZlbmNlX2luaXQo JnJxLT5zZW1hcGhvcmUsIHNlbWFwaG9yZV9ub3RpZnkpOwo+ICsKPiArCXJxLT5maWxlX3ByaXYg PSBOVUxMOwo+ICsJcnEtPmNhcHR1cmVfbGlzdCA9IE5VTEw7Cj4gKwo+ICsJSU5JVF9MSVNUX0hF QUQoJnJxLT5leGVjdXRlX2NiKTsKPiArfQo+ICsKPiAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKgo+ ICAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3Qg Z2ZwKQo+ICAgewo+IEBAIC02NDgsNiArNjYzLDcgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQo+ICAgCXJxLT5lbmdpbmUgPSBjZS0+ ZW5naW5lOwo+ICAgCXJxLT5yaW5nID0gY2UtPnJpbmc7Cj4gICAJcnEtPmV4ZWN1dGlvbl9tYXNr ID0gY2UtPmVuZ2luZS0+bWFzazsKPiArCXJxLT5mbGFncyA9IDA7Cj4gICAKPiAgIAlyY3VfYXNz aWduX3BvaW50ZXIocnEtPnRpbWVsaW5lLCB0bCk7Cj4gICAJcnEtPmh3c3Bfc2Vxbm8gPSB0bC0+ aHdzcF9zZXFubzsKPiBAQCAtNjU1LDIzICs2NzEsMjAgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRl KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQo+ICAgCj4gICAJcnEtPnJjdXN0 YXRlID0gZ2V0X3N0YXRlX3N5bmNocm9uaXplX3JjdSgpOyAvKiBhY3RzIGFzIHNtcF9tYigpICov Cj4gICAKPiAtCXNwaW5fbG9ja19pbml0KCZycS0+bG9jayk7Cj4gICAJZG1hX2ZlbmNlX2luaXQo JnJxLT5mZW5jZSwgJmk5MTVfZmVuY2Vfb3BzLCAmcnEtPmxvY2ssCj4gICAJCSAgICAgICB0bC0+ ZmVuY2VfY29udGV4dCwgc2Vxbm8pOwo+ICAgCj4gICAJLyogV2UgYnVtcCB0aGUgcmVmIGZvciB0 aGUgZmVuY2UgY2hhaW4gKi8KPiAtCWk5MTVfc3dfZmVuY2VfaW5pdCgmaTkxNV9yZXF1ZXN0X2dl dChycSktPnN1Ym1pdCwgc3VibWl0X25vdGlmeSk7Cj4gLQlpOTE1X3N3X2ZlbmNlX2luaXQoJmk5 MTVfcmVxdWVzdF9nZXQocnEpLT5zZW1hcGhvcmUsIHNlbWFwaG9yZV9ub3RpZnkpOwo+ICsJaTkx NV9zd19mZW5jZV9yZWluaXQoJmk5MTVfcmVxdWVzdF9nZXQocnEpLT5zdWJtaXQpOwo+ICsJaTkx NV9zd19mZW5jZV9yZWluaXQoJmk5MTVfcmVxdWVzdF9nZXQocnEpLT5zZW1hcGhvcmUpOwo+ICAg Cj4gLQlpOTE1X3NjaGVkX25vZGVfaW5pdCgmcnEtPnNjaGVkKTsKPiArCWk5MTVfc2NoZWRfbm9k ZV9yZWluaXQoJnJxLT5zY2hlZCk7Cj4gICAKPiAtCS8qIE5vIHphbGxvYywgbXVzdCBjbGVhciB3 aGF0IHdlIG5lZWQgYnkgaGFuZCAqLwo+IC0JcnEtPmZpbGVfcHJpdiA9IE5VTEw7Cj4gKwkvKiBO byB6YWxsb2MsIGV2ZXJ5dGhpbmcgbXVzdCBiZSBjbGVhcmVkIGFmdGVyIHVzZSAqLwo+ICAgCXJx LT5iYXRjaCA9IE5VTEw7Cj4gLQlycS0+Y2FwdHVyZV9saXN0ID0gTlVMTDsKPiAtCXJxLT5mbGFn cyA9IDA7Cj4gLQo+IC0JSU5JVF9MSVNUX0hFQUQoJnJxLT5leGVjdXRlX2NiKTsKPiArCUdFTV9C VUdfT04ocnEtPmZpbGVfcHJpdik7Cj4gKwlHRU1fQlVHX09OKHJxLT5jYXB0dXJlX2xpc3QpOwo+ ICsJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmcnEtPmV4ZWN1dGVfY2IpKTsKPiAgIAo+ICAgCS8q Cj4gICAJICogUmVzZXJ2ZSBzcGFjZSBpbiB0aGUgcmluZyBidWZmZXIgZm9yIGFsbCB0aGUgY29t bWFuZHMgcmVxdWlyZWQgdG8KPiBAQCAtMTUzMywxMCArMTU0NiwxNCBAQCBzdGF0aWMgc3RydWN0 IGk5MTVfZ2xvYmFsX3JlcXVlc3QgZ2xvYmFsID0geyB7Cj4gICAKPiAgIGludCBfX2luaXQgaTkx NV9nbG9iYWxfcmVxdWVzdF9pbml0KHZvaWQpCj4gICB7Cj4gLQlnbG9iYWwuc2xhYl9yZXF1ZXN0 cyA9IEtNRU1fQ0FDSEUoaTkxNV9yZXF1ZXN0LAo+IC0JCQkJCSAgU0xBQl9IV0NBQ0hFX0FMSUdO IHwKPiAtCQkJCQkgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UIHwKPiAtCQkJCQkgIFNMQUJfVFlQRVNB RkVfQllfUkNVKTsKPiArCWdsb2JhbC5zbGFiX3JlcXVlc3RzID0KPiArCQlrbWVtX2NhY2hlX2Ny ZWF0ZSgiaTkxNV9yZXF1ZXN0IiwKPiArCQkJCSAgc2l6ZW9mKHN0cnVjdCBpOTE1X3JlcXVlc3Qp LAo+ICsJCQkJICBfX2FsaWdub2ZfXyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0KSwKPiArCQkJCSAgU0xB Ql9IV0NBQ0hFX0FMSUdOIHwKPiArCQkJCSAgU0xBQl9SRUNMQUlNX0FDQ09VTlQgfAo+ICsJCQkJ ICBTTEFCX1RZUEVTQUZFX0JZX1JDVSwKPiArCQkJCSAgX19pOTE1X3JlcXVlc3RfY3Rvcik7Cj4g ICAJaWYgKCFnbG9iYWwuc2xhYl9yZXF1ZXN0cykKPiAgIAkJcmV0dXJuIC1FTk9NRU07Cj4gICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKPiBpbmRleCAxOTQyNDY1NDhjNGQu LmE1YTZkYmU2YTUzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYwo+ IEBAIC0zODcsNiArMzg3LDEwIEBAIHZvaWQgaTkxNV9zY2hlZF9ub2RlX2luaXQoc3RydWN0IGk5 MTVfc2NoZWRfbm9kZSAqbm9kZSkKPiAgIAlJTklUX0xJU1RfSEVBRCgmbm9kZS0+c2lnbmFsZXJz X2xpc3QpOwo+ICAgCUlOSVRfTElTVF9IRUFEKCZub2RlLT53YWl0ZXJzX2xpc3QpOwo+ICAgCUlO SVRfTElTVF9IRUFEKCZub2RlLT5saW5rKTsKPiArfQo+ICsKPiArdm9pZCBpOTE1X3NjaGVkX25v ZGVfcmVpbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpCj4gK3sKPiAgIAlub2RlLT5h dHRyLnByaW9yaXR5ID0gSTkxNV9QUklPUklUWV9JTlZBTElEOwo+ICAgCW5vZGUtPnNlbWFwaG9y ZXMgPSAwOwo+ICAgCW5vZGUtPmZsYWdzID0gMDsKPiBAQCAtNDgxLDYgKzQ4NSw3IEBAIHZvaWQg aTkxNV9zY2hlZF9ub2RlX2Zpbmkoc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSkKPiAgIAkJ aWYgKGRlcC0+ZmxhZ3MgJiBJOTE1X0RFUEVOREVOQ1lfQUxMT0MpCj4gICAJCQlpOTE1X2RlcGVu ZGVuY3lfZnJlZShkZXApOwo+ICAgCX0KPiArCUlOSVRfTElTVF9IRUFEKCZub2RlLT5zaWduYWxl cnNfbGlzdCk7Cj4gICAKPiAgIAkvKiBSZW1vdmUgb3Vyc2VsdmVzIGZyb20gZXZlcnlvbmUgd2hv IGRlcGVuZHMgdXBvbiB1cyAqLwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShkZXAsIHRt cCwgJm5vZGUtPndhaXRlcnNfbGlzdCwgd2FpdF9saW5rKSB7Cj4gQEAgLTQ5MSw2ICs0OTYsNyBA QCB2b2lkIGk5MTVfc2NoZWRfbm9kZV9maW5pKHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUp Cj4gICAJCWlmIChkZXAtPmZsYWdzICYgSTkxNV9ERVBFTkRFTkNZX0FMTE9DKQo+ICAgCQkJaTkx NV9kZXBlbmRlbmN5X2ZyZWUoZGVwKTsKPiAgIAl9Cj4gKwlJTklUX0xJU1RfSEVBRCgmbm9kZS0+ d2FpdGVyc19saXN0KTsKPiAgIAo+ICAgCXNwaW5fdW5sb2NrX2lycSgmc2NoZWR1bGVfbG9jayk7 Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVy LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCj4gaW5kZXggMDdkMjQz YWNmNTUzLi5kMWRjNGVmZWY3N2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zY2hlZHVsZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmgKPiBAQCAtMjYsNiArMjYsNyBAQAo+ICAgCQkJCQkgc2NoZWQubGluaykKPiAgIAo+ICAg dm9pZCBpOTE1X3NjaGVkX25vZGVfaW5pdChzdHJ1Y3QgaTkxNV9zY2hlZF9ub2RlICpub2RlKTsK PiArdm9pZCBpOTE1X3NjaGVkX25vZGVfcmVpbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5v ZGUpOwo+ICAgCj4gICBib29sIF9faTkxNV9zY2hlZF9ub2RlX2FkZF9kZXBlbmRlbmN5KHN0cnVj dCBpOTE1X3NjaGVkX25vZGUgKm5vZGUsCj4gICAJCQkJICAgICAgc3RydWN0IGk5MTVfc2NoZWRf bm9kZSAqc2lnbmFsLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3 X2ZlbmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3X2ZlbmNlLmMKPiBpbmRleCA2 YTg4ZGIyOTEyNTIuLmVhY2M2YzVjZTBmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3N3X2ZlbmNlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3 X2ZlbmNlLmMKPiBAQCAtMjI3LDYgKzIyNywxNCBAQCB2b2lkIF9faTkxNV9zd19mZW5jZV9pbml0 KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSwKPiAgIAlmZW5jZS0+ZmxhZ3MgPSAodW5zaWdu ZWQgbG9uZylmbjsKPiAgIH0KPiAgIAo+ICt2b2lkIGk5MTVfc3dfZmVuY2VfcmVpbml0KHN0cnVj dCBpOTE1X3N3X2ZlbmNlICpmZW5jZSkKPiArewo+ICsJZGVidWdfZmVuY2VfaW5pdChmZW5jZSk7 Cj4gKwo+ICsJYXRvbWljX3NldCgmZmVuY2UtPnBlbmRpbmcsIDEpOwo+ICsJZmVuY2UtPmVycm9y ID0gMDsKPiArfQo+ICsKPiAgIHZvaWQgaTkxNV9zd19mZW5jZV9jb21taXQoc3RydWN0IGk5MTVf c3dfZmVuY2UgKmZlbmNlKQo+ICAgewo+ICAgCWRlYnVnX2ZlbmNlX2FjdGl2YXRlKGZlbmNlKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5oCj4gaW5kZXggYWI3ZDU4YmQwYjlkLi4x ZTkwZDlhNTFiZDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19m ZW5jZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5oCj4gQEAg LTU0LDYgKzU0LDggQEAgZG8gewkJCQkJCQkJXAo+ICAgCV9faTkxNV9zd19mZW5jZV9pbml0KChm ZW5jZSksIChmbiksIE5VTEwsIE5VTEwpCj4gICAjZW5kaWYKPiAgIAo+ICt2b2lkIGk5MTVfc3df ZmVuY2VfcmVpbml0KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSk7Cj4gKwo+ICAgI2lmZGVm IENPTkZJR19EUk1fSTkxNV9TV19GRU5DRV9ERUJVR19PQkpFQ1RTCj4gICB2b2lkIGk5MTVfc3df ZmVuY2VfZmluaShzdHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UpOwo+ICAgI2Vsc2UKPiAKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4