From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm/i915: Use a ctor for TYPESAFE_BY_RCU i915_request Date: Fri, 22 Nov 2019 09:49:24 +0000 Message-ID: <20191122094924.629690-1-chris@chris-wilson.co.uk> References: <20191122070238.576748-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 457E66EA71 for ; Fri, 22 Nov 2019 09:49:33 +0000 (UTC) In-Reply-To: <20191122070238.576748-1-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 QXMgd2Ugc3RhcnQgcGVla2luZyBpbnRvIHJlcXVlc3RzIGZvciBsb25nZXIgYW5kIGxvbmdlciwg ZS5nLgppbmNvcnBvcmF0aW5nIHVzZSBvZiBzcGlubG9ja3Mgd2hlbiBvbmx5IHByb3RlY3RlZCBi eSBhbgpyY3VfcmVhZF9sb2NrKCksIHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpbiBob3cgd2UgcmVz ZXQgdGhlIHJlcXVlc3Qgd2hlbgpyZWN5Y2xpbmcgYW5kIG5lZWQgdG8gcHJlc2VydmUgYW55IGJh cnJpZXJzIHRoYXQgbWF5IHN0aWxsIGJlIGluIHVzZSBhcwp0aGUgcmVxdWVzdCBpcyByZXNldCBm b3IgcmV1c2UuCgpRdW90aW5nIExpbnVzIFRvcnZhbGRzOgoKPiBJZiB0aGVyZSBpcyByZWZjb3Vu dGluZyBnb2luZyBvbiB0aGVuIHdoeSB1c2UgU0xBQl9UWVBFU0FGRV9CWV9SQ1U/CgogIC4uIGJl Y2F1c2UgdGhlIG9iamVjdCBjYW4gYmUgYWNjZXNzZWQgKGJ5IFJDVSkgYWZ0ZXIgdGhlIHJlZmNv dW50IGhhcwogIGdvbmUgZG93biB0byB6ZXJvLCBhbmQgdGhlIHRoaW5nIGhhcyBiZWVuIHJlbGVh c2VkLgoKICBUaGF0J3MgdGhlIHdob2xlIGFuZCBvbmx5IHBvaW50IG9mIFNMQUJfVFlQRVNBRkVf QllfUkNVLgoKICBUaGF0IGZsYWcgYmFzaWNhbGx5IHNheXM6CgogICJJIG1heSBlbmQgdXAgYWNj ZXNzaW5nIHRoaXMgb2JqZWN0ICphZnRlciogaXQgaGFzIGJlZW4gZnJlZSdkLAogIGJlY2F1c2Ug dGhlcmUgbWF5IGJlIFJDVSBsb29rdXBzIGluIGZsaWdodCIKCiAgVGhpcyBoYXMgbm90aGluZyB0 byBkbyB3aXRoIGNvbnN0cnVjdG9ycy4gSXQncyBvayBpZiB0aGUgb2JqZWN0IGdldHMKICByZXVz ZWQgYXMgYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHR5cGUgYW5kIGRvZXMgKm5vdCogZ2V0CiAgcmUt aW5pdGlhbGl6ZWQsIGJlY2F1c2Ugd2UncmUgcGVyZmVjdGx5IGZpbmUgc2VlaW5nIG9sZCBzdGFs ZSBkYXRhLgoKICBXaGF0IGl0IGd1YXJhbnRlZXMgaXMgdGhhdCB0aGUgc2xhYiBpc24ndCBzaGFy ZWQgd2l0aCBhbnkgb3RoZXIga2luZAogIG9mIG9iamVjdCwgX2FuZF8gdGhhdCB0aGUgdW5kZXJs eWluZyBwYWdlcyBhcmUgZnJlZSdkIGFmdGVyIGFuIFJDVQogIHF1aWVzY2VudCBwZXJpb2QgKHNv IHRoZSBwYWdlcyBhcmVuJ3Qgc2hhcmVkIHdpdGggYW5vdGhlciBraW5kIG9mCiAgb2JqZWN0IGVp dGhlciBkdXJpbmcgYW4gUkNVIHdhbGspLgoKICBBbmQgaXQgZG9lc24ndCBuZWNlc3NhcmlseSBo YXZlIHRvIGhhdmUgYSBjb25zdHJ1Y3RvciwgYmVjYXVzZSB0aGUKICB0aGluZyB0aGF0IGEgUkNV IHdhbGsgd2lsbCBjYXJlIGFib3V0IGlzCgogICAgKGEpIGd1YXJhbnRlZWQgdG8gYmUgYW4gb2Jq ZWN0IHRoYXQgKmhhcyogYmVlbiBvbiBzb21lIFJDVSBsaXN0IChzbwogICAgaXQncyBub3QgYSAi bmV3IiBvYmplY3QpCgogICAgKGIpIHRoZSBSQ1Ugd2FsayBuZWVkcyB0byBoYXZlIGxvZ2ljIHRv IHZlcmlmeSB0aGF0IGl0J3Mgc3RpbGwgdGhlCiAgICAqc2FtZSogb2JqZWN0IGFuZCBoYXNuJ3Qg YmVlbiByZS11c2VkIGFzIHNvbWV0aGluZyBlbHNlLgoKICBJbiBjb250cmFzdCwgYSBTTEFCX1RZ UEVTQUZFX0JZX1JDVSBtZW1vcnkgZ2V0cyBmcmVlJ2QgYW5kIHJlLXVzZWQKICBpbW1lZGlhdGVs eSwgYnV0IGJlY2F1c2UgaXQgZ2V0cyByZXVzZWQgYXMgdGhlIHNhbWUga2luZCBvZiBvYmplY3Qs CiAgdGhlIFJDVSB3YWxrZXIgY2FuICJrbm93IiB3aGF0IHBhcnRzIGhhdmUgbWVhbmluZyBmb3Ig cmUtdXNlLCBpbiBhIHdheQogIGl0IGNvdWlkbid0IGlmIHRoZSByZS11c2Ugd2FzIHJhbmRvbS4K CiAgVGhhdCBzYWlkLCBpdCAqaXMqIHN1YnRsZSwgYW5kIHBlb3BsZSBzaG91bGQgYmUgY2FyZWZ1 bC4KCj4gU28gdGhlIHJlLXVzZSBtaWdodCBpbml0aWFsaXplIHRoZSBmaWVsZHMgbGF6aWx5LCBu b3QgbmVjZXNzYXJpbHkgdXNpbmcgYSBjdG9yLgoKICBJZiB5b3UgaGF2ZSBhIHdlbGwtZGVmaW5l ZCByZWZjb3VudCwgYW5kIHVzZSAiYXRvbWljX2luY19ub3RfemVybygpIgogIHRvIGd1YXJkIHRo ZSBzcGVjdWxhdGl2ZSBSQ1UgYWNjZXNzIHNlY3Rpb24sIGFuZCB1c2UKICAiYXRvbWljX2RlY19h bmRfdGVzdCgpIiBpbiB0aGUgZnJlZWluZyBzZWN0aW9uLCB0aGVuIHlvdSBzaG91bGQgYmUKICBz YWZlIHdydCBuZXcgYWxsb2NhdGlvbnMuCgogIElmIHlvdSBoYXZlIGEgY29tcGxldGVseSBuZXcg YWxsb2NhdGlvbiB0aGF0IGhhcyAicmFuZG9tIHN0YWxlCiAgY29udGVudCIsIHlvdSBrbm93IHRo YXQgaXQgY2Fubm90IGJlIG9uIHRoZSBSQ1UgbGlzdCwgc28gdGhlcmUgaXMgbm8KICBzcGVjdWxh dGl2ZSBhY2Nlc3MgdGhhdCBjYW4gZXZlciBzZWUgdGhhdCByYW5kb20gY29udGVudC4KCiAgU28g dGhlIG9ubHkgY2FzZSB5b3UgbmVlZCB0byB3b3JyeSBhYm91dCBpcyBhIHJlLXVzZSBhbGxvY2F0 aW9uLCBhbmQKICB5b3Uga25vdyB0aGF0IHRoZSByZWZjb3VudCB3aWxsIHN0YXJ0IG91dCBhcyB6 ZXJvIGV2ZW4gaWYgeW91IGRvbid0CiAgaGF2ZSBhIGNvbnN0cnVjdG9yLgoKICBTbyB5b3UgY2Fu IHRoaW5rIG9mIHRoZSByZWZjb3VudCBpdHNlbGYgYXMgYWx3YXlzIGhhdmluZyBhIHplcm8KICBj b25zdHJ1Y3RvciwgKkJVVCogeW91IG5lZWQgdG8gYmUgY2FyZWZ1bCB3aXRoIG9yZGVyaW5nLgoK ICBJbiBwYXJ0aWN1bGFyLCB3aG9ldmVyIGRvZXMgdGhlIGFsbG9jYXRpb24gbmVlZHMgdG8gdGhl biBzZXQgdGhlCiAgcmVmY291bnQgdG8gYSBub24temVybyB2YWx1ZSAqYWZ0ZXIqIGl0IGhhcyBp bml0aWFsaXplZCBhbGwgdGhlIG90aGVyCiAgZmllbGRzLiBBbmQgaW4gcGFydGljdWxhciwgaXQg bmVlZHMgdG8gbWFrZSBzdXJlIHRoYXQgaXQgdXNlcyB0aGUKICBwcm9wZXIgbWVtb3J5IG9yZGVy aW5nIHRvIGRvIHNvLgoKICBOT1RFISBPbmUgdGhpbmcgdG8gYmUgdmVyeSB3b3JyaWVkIGFib3V0 IGlzIHRoYXQgcmUtaW5pdGlhbGl6aW5nCiAgd2hhdGV2ZXIgUkNVIGxpc3RzIG1lYW5zIHRoYXQg bm93IHRoZSBSQ1Ugd2Fsa2VyIG1heSBiZSB3YWxraW5nIG9uIHRoZQogIHdyb25nIGxpc3Qgc28g dGhlIHdhbGtlciBtYXkgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB0aGlzIHBhcnRpY3VsYXIKICBl bnRyeSwgYnV0IGl0IG1heSBtaXNzIHdhbGtpbmcgKm90aGVyKiBlbnRyaWVzLiBTbyB0aGVuIHlv dSBjYW4gZ2V0CiAgc3B1cmlvdXMgbG9va3VwIGZhaWx1cmVzLCBiZWNhdXNlIHRoZSBSQ1Ugd2Fs a2VyIG5ldmVyIHdhbGtlZCBhbGwgdGhlCiAgd2F5IHRvIHRoZSBlbmQgb2YgdGhlIHJpZ2h0IGxp c3QuIFRoYXQgZW5kcyB1cCBiZWluZyBhIG11Y2ggbW9yZQogIHN1YnRsZSBidWcuCgpTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFR2cnRr byBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBUdnJ0a28g VXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVxdWVzdC5jICAgfCA0OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgfCAxMiArKysrKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zd19mZW5jZS5jICB8IDE4ICsrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfc3dfZmVuY2UuaCAgfCAgMiArKwogNSBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25z KCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCmluZGV4 IDAwMDExZjk1MzNiNi4uYTU1OGY2NDE4NmZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlcXVlc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVl c3QuYwpAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfY2FwdHVyZV9saXN0KHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCiB7CiAJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0 ICpjYXB0dXJlOwogCi0JY2FwdHVyZSA9IHJlcXVlc3QtPmNhcHR1cmVfbGlzdDsKKwljYXB0dXJl ID0gZmV0Y2hfYW5kX3plcm8oJnJlcXVlc3QtPmNhcHR1cmVfbGlzdCk7CiAJd2hpbGUgKGNhcHR1 cmUpIHsKIAkJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0ICpuZXh0ID0gY2FwdHVyZS0+bmV4dDsK IApAQCAtMjE0LDcgKzIxNCw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZV9mcm9tX2VuZ2luZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIAkJc3Bpbl9sb2NrKCZlbmdpbmUtPmFjdGl2ZS5sb2NrKTsK IAkJbG9ja2VkID0gZW5naW5lOwogCX0KLQlsaXN0X2RlbCgmcnEtPnNjaGVkLmxpbmspOworCWxp c3RfZGVsX2luaXQoJnJxLT5zY2hlZC5saW5rKTsKIAlzcGluX3VubG9ja19pcnEoJmxvY2tlZC0+ YWN0aXZlLmxvY2spOwogfQogCkBAIC01ODYsNiArNTg2LDIxIEBAIHJlcXVlc3RfYWxsb2Nfc2xv dyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBnZnBfdCBnZnApCiAJcmV0dXJuIGttZW1fY2Fj aGVfYWxsb2MoZ2xvYmFsLnNsYWJfcmVxdWVzdHMsIGdmcCk7CiB9CiAKK3N0YXRpYyB2b2lkIF9f aTkxNV9yZXF1ZXN0X2N0b3Iodm9pZCAqYXJnKQoreworCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx ID0gYXJnOworCisJc3Bpbl9sb2NrX2luaXQoJnJxLT5sb2NrKTsKKwlpOTE1X3NjaGVkX25vZGVf aW5pdCgmcnEtPnNjaGVkKTsKKwlpOTE1X3N3X2ZlbmNlX2luaXQoJnJxLT5zdWJtaXQsIHN1Ym1p dF9ub3RpZnkpOworCWk5MTVfc3dfZmVuY2VfaW5pdCgmcnEtPnNlbWFwaG9yZSwgc2VtYXBob3Jl X25vdGlmeSk7CisKKwlycS0+ZmlsZV9wcml2ID0gTlVMTDsKKwlycS0+Y2FwdHVyZV9saXN0ID0g TlVMTDsKKworCUlOSVRfTElTVF9IRUFEKCZycS0+ZXhlY3V0ZV9jYik7Cit9CisKIHN0cnVjdCBp OTE1X3JlcXVlc3QgKgogX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwgZ2ZwX3QgZ2ZwKQogewpAQCAtNjQ4LDYgKzY2Myw3IEBAIF9faTkxNV9yZXF1ZXN0X2Ny ZWF0ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsIGdmcF90IGdmcCkKIAlycS0+ZW5naW5lID0g Y2UtPmVuZ2luZTsKIAlycS0+cmluZyA9IGNlLT5yaW5nOwogCXJxLT5leGVjdXRpb25fbWFzayA9 IGNlLT5lbmdpbmUtPm1hc2s7CisJcnEtPmZsYWdzID0gMDsKIAogCXJjdV9hc3NpZ25fcG9pbnRl cihycS0+dGltZWxpbmUsIHRsKTsKIAlycS0+aHdzcF9zZXFubyA9IHRsLT5od3NwX3NlcW5vOwpA QCAtNjU1LDIzICs2NzEsMjAgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQogCiAJcnEtPnJjdXN0YXRlID0gZ2V0X3N0YXRlX3N5bmNo cm9uaXplX3JjdSgpOyAvKiBhY3RzIGFzIHNtcF9tYigpICovCiAKLQlzcGluX2xvY2tfaW5pdCgm cnEtPmxvY2spOwogCWRtYV9mZW5jZV9pbml0KCZycS0+ZmVuY2UsICZpOTE1X2ZlbmNlX29wcywg JnJxLT5sb2NrLAogCQkgICAgICAgdGwtPmZlbmNlX2NvbnRleHQsIHNlcW5vKTsKIAogCS8qIFdl IGJ1bXAgdGhlIHJlZiBmb3IgdGhlIGZlbmNlIGNoYWluICovCi0JaTkxNV9zd19mZW5jZV9pbml0 KCZpOTE1X3JlcXVlc3RfZ2V0KHJxKS0+c3VibWl0LCBzdWJtaXRfbm90aWZ5KTsKLQlpOTE1X3N3 X2ZlbmNlX2luaXQoJmk5MTVfcmVxdWVzdF9nZXQocnEpLT5zZW1hcGhvcmUsIHNlbWFwaG9yZV9u b3RpZnkpOworCWk5MTVfc3dfZmVuY2VfcmVpbml0KCZpOTE1X3JlcXVlc3RfZ2V0KHJxKS0+c3Vi bWl0KTsKKwlpOTE1X3N3X2ZlbmNlX3JlaW5pdCgmaTkxNV9yZXF1ZXN0X2dldChycSktPnNlbWFw aG9yZSk7CiAKLQlpOTE1X3NjaGVkX25vZGVfaW5pdCgmcnEtPnNjaGVkKTsKKwlpOTE1X3NjaGVk X25vZGVfcmVpbml0KCZycS0+c2NoZWQpOwogCi0JLyogTm8gemFsbG9jLCBtdXN0IGNsZWFyIHdo YXQgd2UgbmVlZCBieSBoYW5kICovCi0JcnEtPmZpbGVfcHJpdiA9IE5VTEw7CisJLyogTm8gemFs bG9jLCBldmVyeXRoaW5nIG11c3QgYmUgY2xlYXJlZCBhZnRlciB1c2UgKi8KIAlycS0+YmF0Y2gg PSBOVUxMOwotCXJxLT5jYXB0dXJlX2xpc3QgPSBOVUxMOwotCXJxLT5mbGFncyA9IDA7Ci0KLQlJ TklUX0xJU1RfSEVBRCgmcnEtPmV4ZWN1dGVfY2IpOworCUdFTV9CVUdfT04ocnEtPmZpbGVfcHJp dik7CisJR0VNX0JVR19PTihycS0+Y2FwdHVyZV9saXN0KTsKKwlHRU1fQlVHX09OKCFsaXN0X2Vt cHR5KCZycS0+ZXhlY3V0ZV9jYikpOwogCiAJLyoKIAkgKiBSZXNlcnZlIHNwYWNlIGluIHRoZSBy aW5nIGJ1ZmZlciBmb3IgYWxsIHRoZSBjb21tYW5kcyByZXF1aXJlZCB0bwpAQCAtMTUzMywxMCAr MTU0NiwxNCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfZ2xvYmFsX3JlcXVlc3QgZ2xvYmFsID0geyB7 CiAKIGludCBfX2luaXQgaTkxNV9nbG9iYWxfcmVxdWVzdF9pbml0KHZvaWQpCiB7Ci0JZ2xvYmFs LnNsYWJfcmVxdWVzdHMgPSBLTUVNX0NBQ0hFKGk5MTVfcmVxdWVzdCwKLQkJCQkJICBTTEFCX0hX Q0FDSEVfQUxJR04gfAotCQkJCQkgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UIHwKLQkJCQkJICBTTEFC X1RZUEVTQUZFX0JZX1JDVSk7CisJZ2xvYmFsLnNsYWJfcmVxdWVzdHMgPQorCQlrbWVtX2NhY2hl X2NyZWF0ZSgiaTkxNV9yZXF1ZXN0IiwKKwkJCQkgIHNpemVvZihzdHJ1Y3QgaTkxNV9yZXF1ZXN0 KSwKKwkJCQkgIF9fYWxpZ25vZl9fKHN0cnVjdCBpOTE1X3JlcXVlc3QpLAorCQkJCSAgU0xBQl9I V0NBQ0hFX0FMSUdOIHwKKwkJCQkgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UIHwKKwkJCQkgIFNMQUJf VFlQRVNBRkVfQllfUkNVLAorCQkJCSAgX19pOTE1X3JlcXVlc3RfY3Rvcik7CiAJaWYgKCFnbG9i YWwuc2xhYl9yZXF1ZXN0cykKIAkJcmV0dXJuIC1FTk9NRU07CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3NjaGVkdWxlci5jCmluZGV4IDE5NDI0NjU0OGM0ZC4uZTNiMGE3YzRhNzQxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKQEAgLTM4Nyw5ICszODcsMTkgQEAgdm9pZCBp OTE1X3NjaGVkX25vZGVfaW5pdChzdHJ1Y3QgaTkxNV9zY2hlZF9ub2RlICpub2RlKQogCUlOSVRf TElTVF9IRUFEKCZub2RlLT5zaWduYWxlcnNfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJm5vZGUt PndhaXRlcnNfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJm5vZGUtPmxpbmspOworCisJaTkxNV9z Y2hlZF9ub2RlX3JlaW5pdChub2RlKTsKK30KKwordm9pZCBpOTE1X3NjaGVkX25vZGVfcmVpbml0 KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpCit7CiAJbm9kZS0+YXR0ci5wcmlvcml0eSA9 IEk5MTVfUFJJT1JJVFlfSU5WQUxJRDsKIAlub2RlLT5zZW1hcGhvcmVzID0gMDsKIAlub2RlLT5m bGFncyA9IDA7CisKKwlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZub2RlLT5zaWduYWxlcnNfbGlz dCkpOworCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJm5vZGUtPndhaXRlcnNfbGlzdCkpOworCUdF TV9CVUdfT04oIWxpc3RfZW1wdHkoJm5vZGUtPmxpbmspKTsKIH0KIAogc3RhdGljIHN0cnVjdCBp OTE1X2RlcGVuZGVuY3kgKgpAQCAtNDgxLDYgKzQ5MSw3IEBAIHZvaWQgaTkxNV9zY2hlZF9ub2Rl X2Zpbmkoc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSkKIAkJaWYgKGRlcC0+ZmxhZ3MgJiBJ OTE1X0RFUEVOREVOQ1lfQUxMT0MpCiAJCQlpOTE1X2RlcGVuZGVuY3lfZnJlZShkZXApOwogCX0K KwlJTklUX0xJU1RfSEVBRCgmbm9kZS0+c2lnbmFsZXJzX2xpc3QpOwogCiAJLyogUmVtb3ZlIG91 cnNlbHZlcyBmcm9tIGV2ZXJ5b25lIHdobyBkZXBlbmRzIHVwb24gdXMgKi8KIAlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUoZGVwLCB0bXAsICZub2RlLT53YWl0ZXJzX2xpc3QsIHdhaXRfbGluaykg ewpAQCAtNDkxLDYgKzUwMiw3IEBAIHZvaWQgaTkxNV9zY2hlZF9ub2RlX2Zpbmkoc3RydWN0IGk5 MTVfc2NoZWRfbm9kZSAqbm9kZSkKIAkJaWYgKGRlcC0+ZmxhZ3MgJiBJOTE1X0RFUEVOREVOQ1lf QUxMT0MpCiAJCQlpOTE1X2RlcGVuZGVuY3lfZnJlZShkZXApOwogCX0KKwlJTklUX0xJU1RfSEVB RCgmbm9kZS0+d2FpdGVyc19saXN0KTsKIAogCXNwaW5fdW5sb2NrX2lycSgmc2NoZWR1bGVfbG9j ayk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaAppbmRleCAwN2QyNDNhY2Y1 NTMuLmQxZGM0ZWZlZjc3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z Y2hlZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCkBA IC0yNiw2ICsyNiw3IEBACiAJCQkJCSBzY2hlZC5saW5rKQogCiB2b2lkIGk5MTVfc2NoZWRfbm9k ZV9pbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpOwordm9pZCBpOTE1X3NjaGVkX25v ZGVfcmVpbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpOwogCiBib29sIF9faTkxNV9z Y2hlZF9ub2RlX2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUsCiAJ CQkJICAgICAgc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqc2lnbmFsLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zd19mZW5jZS5jCmluZGV4IDZhODhkYjI5MTI1Mi4uMTU4NGYzNGE2YmY5IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3X2ZlbmNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jCkBAIC0xMiw2ICsxMiwxMiBAQAogI2luY2x1ZGUg Imk5MTVfc3dfZmVuY2UuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCiAKKyNpZiBJU19F TkFCTEVEKENPTkZJR19EUk1fSTkxNV9ERUJVRykKKyNkZWZpbmUgSTkxNV9TV19GRU5DRV9CVUdf T04oZXhwcikgQlVHX09OKGV4cHIpCisjZWxzZQorI2RlZmluZSBJOTE1X1NXX0ZFTkNFX0JVR19P TihleHByKSBCVUlMRF9CVUdfT05fSU5WQUxJRChleHByKQorI2VuZGlmCisKICNkZWZpbmUgSTkx NV9TV19GRU5DRV9GTEFHX0FMTE9DIEJJVCgzKSAvKiBhZnRlciBXUV9GTEFHXyogZm9yIHNhZmV0 eSAqLwogCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGk5MTVfc3dfZmVuY2VfbG9jayk7CkBAIC0y MTgsMTMgKzIyNCwyMSBAQCB2b2lkIF9faTkxNV9zd19mZW5jZV9pbml0KHN0cnVjdCBpOTE1X3N3 X2ZlbmNlICpmZW5jZSwKIHsKIAlCVUdfT04oIWZuIHx8ICh1bnNpZ25lZCBsb25nKWZuICYgfkk5 MTVfU1dfRkVOQ0VfTUFTSyk7CiAKKwlfX2luaXRfd2FpdHF1ZXVlX2hlYWQoJmZlbmNlLT53YWl0 LCBuYW1lLCBrZXkpOworCWZlbmNlLT5mbGFncyA9ICh1bnNpZ25lZCBsb25nKWZuOworCisJaTkx NV9zd19mZW5jZV9yZWluaXQoZmVuY2UpOworfQorCit2b2lkIGk5MTVfc3dfZmVuY2VfcmVpbml0 KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSkKK3sKIAlkZWJ1Z19mZW5jZV9pbml0KGZlbmNl KTsKIAotCV9faW5pdF93YWl0cXVldWVfaGVhZCgmZmVuY2UtPndhaXQsIG5hbWUsIGtleSk7CiAJ YXRvbWljX3NldCgmZmVuY2UtPnBlbmRpbmcsIDEpOwogCWZlbmNlLT5lcnJvciA9IDA7CiAKLQlm ZW5jZS0+ZmxhZ3MgPSAodW5zaWduZWQgbG9uZylmbjsKKwlJOTE1X1NXX0ZFTkNFX0JVR19PTigh ZmVuY2UtPmZsYWdzKTsKKwlJOTE1X1NXX0ZFTkNFX0JVR19PTighbGlzdF9lbXB0eSgmZmVuY2Ut PndhaXQuaGVhZCkpOwogfQogCiB2b2lkIGk5MTVfc3dfZmVuY2VfY29tbWl0KHN0cnVjdCBpOTE1 X3N3X2ZlbmNlICpmZW5jZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3dfZmVuY2UuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuaAppbmRleCBh YjdkNThiZDBiOWQuLjFlOTBkOWE1MWJkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zd19mZW5jZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVu Y2UuaApAQCAtNTQsNiArNTQsOCBAQCBkbyB7CQkJCQkJCQlcCiAJX19pOTE1X3N3X2ZlbmNlX2lu aXQoKGZlbmNlKSwgKGZuKSwgTlVMTCwgTlVMTCkKICNlbmRpZgogCit2b2lkIGk5MTVfc3dfZmVu Y2VfcmVpbml0KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSk7CisKICNpZmRlZiBDT05GSUdf RFJNX0k5MTVfU1dfRkVOQ0VfREVCVUdfT0JKRUNUUwogdm9pZCBpOTE1X3N3X2ZlbmNlX2Zpbmko c3RydWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlKTsKICNlbHNlCi0tIAoyLjI0LjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== 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=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT 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 296FCC432C3 for ; Fri, 22 Nov 2019 09:49:35 +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 0180F2071B for ; Fri, 22 Nov 2019 09:49:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0180F2071B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk 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 981A06EA71; Fri, 22 Nov 2019 09:49:34 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 457E66EA71 for ; Fri, 22 Nov 2019 09:49:33 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 19297407-1500050 for multiple; Fri, 22 Nov 2019 09:49:26 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Fri, 22 Nov 2019 09:49:24 +0000 Message-Id: <20191122094924.629690-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122070238.576748-1-chris@chris-wilson.co.uk> References: <20191122070238.576748-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH] 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191122094924.07F8dY522uOVFV5WRTR15-Vd2Jig_Z4zNTHnDZnwrt0@z> QXMgd2Ugc3RhcnQgcGVla2luZyBpbnRvIHJlcXVlc3RzIGZvciBsb25nZXIgYW5kIGxvbmdlciwg ZS5nLgppbmNvcnBvcmF0aW5nIHVzZSBvZiBzcGlubG9ja3Mgd2hlbiBvbmx5IHByb3RlY3RlZCBi eSBhbgpyY3VfcmVhZF9sb2NrKCksIHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpbiBob3cgd2UgcmVz ZXQgdGhlIHJlcXVlc3Qgd2hlbgpyZWN5Y2xpbmcgYW5kIG5lZWQgdG8gcHJlc2VydmUgYW55IGJh cnJpZXJzIHRoYXQgbWF5IHN0aWxsIGJlIGluIHVzZSBhcwp0aGUgcmVxdWVzdCBpcyByZXNldCBm b3IgcmV1c2UuCgpRdW90aW5nIExpbnVzIFRvcnZhbGRzOgoKPiBJZiB0aGVyZSBpcyByZWZjb3Vu dGluZyBnb2luZyBvbiB0aGVuIHdoeSB1c2UgU0xBQl9UWVBFU0FGRV9CWV9SQ1U/CgogIC4uIGJl Y2F1c2UgdGhlIG9iamVjdCBjYW4gYmUgYWNjZXNzZWQgKGJ5IFJDVSkgYWZ0ZXIgdGhlIHJlZmNv dW50IGhhcwogIGdvbmUgZG93biB0byB6ZXJvLCBhbmQgdGhlIHRoaW5nIGhhcyBiZWVuIHJlbGVh c2VkLgoKICBUaGF0J3MgdGhlIHdob2xlIGFuZCBvbmx5IHBvaW50IG9mIFNMQUJfVFlQRVNBRkVf QllfUkNVLgoKICBUaGF0IGZsYWcgYmFzaWNhbGx5IHNheXM6CgogICJJIG1heSBlbmQgdXAgYWNj ZXNzaW5nIHRoaXMgb2JqZWN0ICphZnRlciogaXQgaGFzIGJlZW4gZnJlZSdkLAogIGJlY2F1c2Ug dGhlcmUgbWF5IGJlIFJDVSBsb29rdXBzIGluIGZsaWdodCIKCiAgVGhpcyBoYXMgbm90aGluZyB0 byBkbyB3aXRoIGNvbnN0cnVjdG9ycy4gSXQncyBvayBpZiB0aGUgb2JqZWN0IGdldHMKICByZXVz ZWQgYXMgYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHR5cGUgYW5kIGRvZXMgKm5vdCogZ2V0CiAgcmUt aW5pdGlhbGl6ZWQsIGJlY2F1c2Ugd2UncmUgcGVyZmVjdGx5IGZpbmUgc2VlaW5nIG9sZCBzdGFs ZSBkYXRhLgoKICBXaGF0IGl0IGd1YXJhbnRlZXMgaXMgdGhhdCB0aGUgc2xhYiBpc24ndCBzaGFy ZWQgd2l0aCBhbnkgb3RoZXIga2luZAogIG9mIG9iamVjdCwgX2FuZF8gdGhhdCB0aGUgdW5kZXJs eWluZyBwYWdlcyBhcmUgZnJlZSdkIGFmdGVyIGFuIFJDVQogIHF1aWVzY2VudCBwZXJpb2QgKHNv IHRoZSBwYWdlcyBhcmVuJ3Qgc2hhcmVkIHdpdGggYW5vdGhlciBraW5kIG9mCiAgb2JqZWN0IGVp dGhlciBkdXJpbmcgYW4gUkNVIHdhbGspLgoKICBBbmQgaXQgZG9lc24ndCBuZWNlc3NhcmlseSBo YXZlIHRvIGhhdmUgYSBjb25zdHJ1Y3RvciwgYmVjYXVzZSB0aGUKICB0aGluZyB0aGF0IGEgUkNV IHdhbGsgd2lsbCBjYXJlIGFib3V0IGlzCgogICAgKGEpIGd1YXJhbnRlZWQgdG8gYmUgYW4gb2Jq ZWN0IHRoYXQgKmhhcyogYmVlbiBvbiBzb21lIFJDVSBsaXN0IChzbwogICAgaXQncyBub3QgYSAi bmV3IiBvYmplY3QpCgogICAgKGIpIHRoZSBSQ1Ugd2FsayBuZWVkcyB0byBoYXZlIGxvZ2ljIHRv IHZlcmlmeSB0aGF0IGl0J3Mgc3RpbGwgdGhlCiAgICAqc2FtZSogb2JqZWN0IGFuZCBoYXNuJ3Qg YmVlbiByZS11c2VkIGFzIHNvbWV0aGluZyBlbHNlLgoKICBJbiBjb250cmFzdCwgYSBTTEFCX1RZ UEVTQUZFX0JZX1JDVSBtZW1vcnkgZ2V0cyBmcmVlJ2QgYW5kIHJlLXVzZWQKICBpbW1lZGlhdGVs eSwgYnV0IGJlY2F1c2UgaXQgZ2V0cyByZXVzZWQgYXMgdGhlIHNhbWUga2luZCBvZiBvYmplY3Qs CiAgdGhlIFJDVSB3YWxrZXIgY2FuICJrbm93IiB3aGF0IHBhcnRzIGhhdmUgbWVhbmluZyBmb3Ig cmUtdXNlLCBpbiBhIHdheQogIGl0IGNvdWlkbid0IGlmIHRoZSByZS11c2Ugd2FzIHJhbmRvbS4K CiAgVGhhdCBzYWlkLCBpdCAqaXMqIHN1YnRsZSwgYW5kIHBlb3BsZSBzaG91bGQgYmUgY2FyZWZ1 bC4KCj4gU28gdGhlIHJlLXVzZSBtaWdodCBpbml0aWFsaXplIHRoZSBmaWVsZHMgbGF6aWx5LCBu b3QgbmVjZXNzYXJpbHkgdXNpbmcgYSBjdG9yLgoKICBJZiB5b3UgaGF2ZSBhIHdlbGwtZGVmaW5l ZCByZWZjb3VudCwgYW5kIHVzZSAiYXRvbWljX2luY19ub3RfemVybygpIgogIHRvIGd1YXJkIHRo ZSBzcGVjdWxhdGl2ZSBSQ1UgYWNjZXNzIHNlY3Rpb24sIGFuZCB1c2UKICAiYXRvbWljX2RlY19h bmRfdGVzdCgpIiBpbiB0aGUgZnJlZWluZyBzZWN0aW9uLCB0aGVuIHlvdSBzaG91bGQgYmUKICBz YWZlIHdydCBuZXcgYWxsb2NhdGlvbnMuCgogIElmIHlvdSBoYXZlIGEgY29tcGxldGVseSBuZXcg YWxsb2NhdGlvbiB0aGF0IGhhcyAicmFuZG9tIHN0YWxlCiAgY29udGVudCIsIHlvdSBrbm93IHRo YXQgaXQgY2Fubm90IGJlIG9uIHRoZSBSQ1UgbGlzdCwgc28gdGhlcmUgaXMgbm8KICBzcGVjdWxh dGl2ZSBhY2Nlc3MgdGhhdCBjYW4gZXZlciBzZWUgdGhhdCByYW5kb20gY29udGVudC4KCiAgU28g dGhlIG9ubHkgY2FzZSB5b3UgbmVlZCB0byB3b3JyeSBhYm91dCBpcyBhIHJlLXVzZSBhbGxvY2F0 aW9uLCBhbmQKICB5b3Uga25vdyB0aGF0IHRoZSByZWZjb3VudCB3aWxsIHN0YXJ0IG91dCBhcyB6 ZXJvIGV2ZW4gaWYgeW91IGRvbid0CiAgaGF2ZSBhIGNvbnN0cnVjdG9yLgoKICBTbyB5b3UgY2Fu IHRoaW5rIG9mIHRoZSByZWZjb3VudCBpdHNlbGYgYXMgYWx3YXlzIGhhdmluZyBhIHplcm8KICBj b25zdHJ1Y3RvciwgKkJVVCogeW91IG5lZWQgdG8gYmUgY2FyZWZ1bCB3aXRoIG9yZGVyaW5nLgoK ICBJbiBwYXJ0aWN1bGFyLCB3aG9ldmVyIGRvZXMgdGhlIGFsbG9jYXRpb24gbmVlZHMgdG8gdGhl biBzZXQgdGhlCiAgcmVmY291bnQgdG8gYSBub24temVybyB2YWx1ZSAqYWZ0ZXIqIGl0IGhhcyBp bml0aWFsaXplZCBhbGwgdGhlIG90aGVyCiAgZmllbGRzLiBBbmQgaW4gcGFydGljdWxhciwgaXQg bmVlZHMgdG8gbWFrZSBzdXJlIHRoYXQgaXQgdXNlcyB0aGUKICBwcm9wZXIgbWVtb3J5IG9yZGVy aW5nIHRvIGRvIHNvLgoKICBOT1RFISBPbmUgdGhpbmcgdG8gYmUgdmVyeSB3b3JyaWVkIGFib3V0 IGlzIHRoYXQgcmUtaW5pdGlhbGl6aW5nCiAgd2hhdGV2ZXIgUkNVIGxpc3RzIG1lYW5zIHRoYXQg bm93IHRoZSBSQ1Ugd2Fsa2VyIG1heSBiZSB3YWxraW5nIG9uIHRoZQogIHdyb25nIGxpc3Qgc28g dGhlIHdhbGtlciBtYXkgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB0aGlzIHBhcnRpY3VsYXIKICBl bnRyeSwgYnV0IGl0IG1heSBtaXNzIHdhbGtpbmcgKm90aGVyKiBlbnRyaWVzLiBTbyB0aGVuIHlv dSBjYW4gZ2V0CiAgc3B1cmlvdXMgbG9va3VwIGZhaWx1cmVzLCBiZWNhdXNlIHRoZSBSQ1Ugd2Fs a2VyIG5ldmVyIHdhbGtlZCBhbGwgdGhlCiAgd2F5IHRvIHRoZSBlbmQgb2YgdGhlIHJpZ2h0IGxp c3QuIFRoYXQgZW5kcyB1cCBiZWluZyBhIG11Y2ggbW9yZQogIHN1YnRsZSBidWcuCgpTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFR2cnRr byBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBUdnJ0a28g VXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVxdWVzdC5jICAgfCA0OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgfCAxMiArKysrKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zd19mZW5jZS5jICB8IDE4ICsrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfc3dfZmVuY2UuaCAgfCAgMiArKwogNSBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25z KCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCmluZGV4 IDAwMDExZjk1MzNiNi4uYTU1OGY2NDE4NmZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlcXVlc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVl c3QuYwpAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfY2FwdHVyZV9saXN0KHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCiB7CiAJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0 ICpjYXB0dXJlOwogCi0JY2FwdHVyZSA9IHJlcXVlc3QtPmNhcHR1cmVfbGlzdDsKKwljYXB0dXJl ID0gZmV0Y2hfYW5kX3plcm8oJnJlcXVlc3QtPmNhcHR1cmVfbGlzdCk7CiAJd2hpbGUgKGNhcHR1 cmUpIHsKIAkJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0ICpuZXh0ID0gY2FwdHVyZS0+bmV4dDsK IApAQCAtMjE0LDcgKzIxNCw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZV9mcm9tX2VuZ2luZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIAkJc3Bpbl9sb2NrKCZlbmdpbmUtPmFjdGl2ZS5sb2NrKTsK IAkJbG9ja2VkID0gZW5naW5lOwogCX0KLQlsaXN0X2RlbCgmcnEtPnNjaGVkLmxpbmspOworCWxp c3RfZGVsX2luaXQoJnJxLT5zY2hlZC5saW5rKTsKIAlzcGluX3VubG9ja19pcnEoJmxvY2tlZC0+ YWN0aXZlLmxvY2spOwogfQogCkBAIC01ODYsNiArNTg2LDIxIEBAIHJlcXVlc3RfYWxsb2Nfc2xv dyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBnZnBfdCBnZnApCiAJcmV0dXJuIGttZW1fY2Fj aGVfYWxsb2MoZ2xvYmFsLnNsYWJfcmVxdWVzdHMsIGdmcCk7CiB9CiAKK3N0YXRpYyB2b2lkIF9f aTkxNV9yZXF1ZXN0X2N0b3Iodm9pZCAqYXJnKQoreworCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx ID0gYXJnOworCisJc3Bpbl9sb2NrX2luaXQoJnJxLT5sb2NrKTsKKwlpOTE1X3NjaGVkX25vZGVf aW5pdCgmcnEtPnNjaGVkKTsKKwlpOTE1X3N3X2ZlbmNlX2luaXQoJnJxLT5zdWJtaXQsIHN1Ym1p dF9ub3RpZnkpOworCWk5MTVfc3dfZmVuY2VfaW5pdCgmcnEtPnNlbWFwaG9yZSwgc2VtYXBob3Jl X25vdGlmeSk7CisKKwlycS0+ZmlsZV9wcml2ID0gTlVMTDsKKwlycS0+Y2FwdHVyZV9saXN0ID0g TlVMTDsKKworCUlOSVRfTElTVF9IRUFEKCZycS0+ZXhlY3V0ZV9jYik7Cit9CisKIHN0cnVjdCBp OTE1X3JlcXVlc3QgKgogX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwgZ2ZwX3QgZ2ZwKQogewpAQCAtNjQ4LDYgKzY2Myw3IEBAIF9faTkxNV9yZXF1ZXN0X2Ny ZWF0ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsIGdmcF90IGdmcCkKIAlycS0+ZW5naW5lID0g Y2UtPmVuZ2luZTsKIAlycS0+cmluZyA9IGNlLT5yaW5nOwogCXJxLT5leGVjdXRpb25fbWFzayA9 IGNlLT5lbmdpbmUtPm1hc2s7CisJcnEtPmZsYWdzID0gMDsKIAogCXJjdV9hc3NpZ25fcG9pbnRl cihycS0+dGltZWxpbmUsIHRsKTsKIAlycS0+aHdzcF9zZXFubyA9IHRsLT5od3NwX3NlcW5vOwpA QCAtNjU1LDIzICs2NzEsMjAgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQogCiAJcnEtPnJjdXN0YXRlID0gZ2V0X3N0YXRlX3N5bmNo cm9uaXplX3JjdSgpOyAvKiBhY3RzIGFzIHNtcF9tYigpICovCiAKLQlzcGluX2xvY2tfaW5pdCgm cnEtPmxvY2spOwogCWRtYV9mZW5jZV9pbml0KCZycS0+ZmVuY2UsICZpOTE1X2ZlbmNlX29wcywg JnJxLT5sb2NrLAogCQkgICAgICAgdGwtPmZlbmNlX2NvbnRleHQsIHNlcW5vKTsKIAogCS8qIFdl IGJ1bXAgdGhlIHJlZiBmb3IgdGhlIGZlbmNlIGNoYWluICovCi0JaTkxNV9zd19mZW5jZV9pbml0 KCZpOTE1X3JlcXVlc3RfZ2V0KHJxKS0+c3VibWl0LCBzdWJtaXRfbm90aWZ5KTsKLQlpOTE1X3N3 X2ZlbmNlX2luaXQoJmk5MTVfcmVxdWVzdF9nZXQocnEpLT5zZW1hcGhvcmUsIHNlbWFwaG9yZV9u b3RpZnkpOworCWk5MTVfc3dfZmVuY2VfcmVpbml0KCZpOTE1X3JlcXVlc3RfZ2V0KHJxKS0+c3Vi bWl0KTsKKwlpOTE1X3N3X2ZlbmNlX3JlaW5pdCgmaTkxNV9yZXF1ZXN0X2dldChycSktPnNlbWFw aG9yZSk7CiAKLQlpOTE1X3NjaGVkX25vZGVfaW5pdCgmcnEtPnNjaGVkKTsKKwlpOTE1X3NjaGVk X25vZGVfcmVpbml0KCZycS0+c2NoZWQpOwogCi0JLyogTm8gemFsbG9jLCBtdXN0IGNsZWFyIHdo YXQgd2UgbmVlZCBieSBoYW5kICovCi0JcnEtPmZpbGVfcHJpdiA9IE5VTEw7CisJLyogTm8gemFs bG9jLCBldmVyeXRoaW5nIG11c3QgYmUgY2xlYXJlZCBhZnRlciB1c2UgKi8KIAlycS0+YmF0Y2gg PSBOVUxMOwotCXJxLT5jYXB0dXJlX2xpc3QgPSBOVUxMOwotCXJxLT5mbGFncyA9IDA7Ci0KLQlJ TklUX0xJU1RfSEVBRCgmcnEtPmV4ZWN1dGVfY2IpOworCUdFTV9CVUdfT04ocnEtPmZpbGVfcHJp dik7CisJR0VNX0JVR19PTihycS0+Y2FwdHVyZV9saXN0KTsKKwlHRU1fQlVHX09OKCFsaXN0X2Vt cHR5KCZycS0+ZXhlY3V0ZV9jYikpOwogCiAJLyoKIAkgKiBSZXNlcnZlIHNwYWNlIGluIHRoZSBy aW5nIGJ1ZmZlciBmb3IgYWxsIHRoZSBjb21tYW5kcyByZXF1aXJlZCB0bwpAQCAtMTUzMywxMCAr MTU0NiwxNCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfZ2xvYmFsX3JlcXVlc3QgZ2xvYmFsID0geyB7 CiAKIGludCBfX2luaXQgaTkxNV9nbG9iYWxfcmVxdWVzdF9pbml0KHZvaWQpCiB7Ci0JZ2xvYmFs LnNsYWJfcmVxdWVzdHMgPSBLTUVNX0NBQ0hFKGk5MTVfcmVxdWVzdCwKLQkJCQkJICBTTEFCX0hX Q0FDSEVfQUxJR04gfAotCQkJCQkgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UIHwKLQkJCQkJICBTTEFC X1RZUEVTQUZFX0JZX1JDVSk7CisJZ2xvYmFsLnNsYWJfcmVxdWVzdHMgPQorCQlrbWVtX2NhY2hl X2NyZWF0ZSgiaTkxNV9yZXF1ZXN0IiwKKwkJCQkgIHNpemVvZihzdHJ1Y3QgaTkxNV9yZXF1ZXN0 KSwKKwkJCQkgIF9fYWxpZ25vZl9fKHN0cnVjdCBpOTE1X3JlcXVlc3QpLAorCQkJCSAgU0xBQl9I V0NBQ0hFX0FMSUdOIHwKKwkJCQkgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UIHwKKwkJCQkgIFNMQUJf VFlQRVNBRkVfQllfUkNVLAorCQkJCSAgX19pOTE1X3JlcXVlc3RfY3Rvcik7CiAJaWYgKCFnbG9i YWwuc2xhYl9yZXF1ZXN0cykKIAkJcmV0dXJuIC1FTk9NRU07CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3NjaGVkdWxlci5jCmluZGV4IDE5NDI0NjU0OGM0ZC4uZTNiMGE3YzRhNzQxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKQEAgLTM4Nyw5ICszODcsMTkgQEAgdm9pZCBp OTE1X3NjaGVkX25vZGVfaW5pdChzdHJ1Y3QgaTkxNV9zY2hlZF9ub2RlICpub2RlKQogCUlOSVRf TElTVF9IRUFEKCZub2RlLT5zaWduYWxlcnNfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJm5vZGUt PndhaXRlcnNfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJm5vZGUtPmxpbmspOworCisJaTkxNV9z Y2hlZF9ub2RlX3JlaW5pdChub2RlKTsKK30KKwordm9pZCBpOTE1X3NjaGVkX25vZGVfcmVpbml0 KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpCit7CiAJbm9kZS0+YXR0ci5wcmlvcml0eSA9 IEk5MTVfUFJJT1JJVFlfSU5WQUxJRDsKIAlub2RlLT5zZW1hcGhvcmVzID0gMDsKIAlub2RlLT5m bGFncyA9IDA7CisKKwlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZub2RlLT5zaWduYWxlcnNfbGlz dCkpOworCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJm5vZGUtPndhaXRlcnNfbGlzdCkpOworCUdF TV9CVUdfT04oIWxpc3RfZW1wdHkoJm5vZGUtPmxpbmspKTsKIH0KIAogc3RhdGljIHN0cnVjdCBp OTE1X2RlcGVuZGVuY3kgKgpAQCAtNDgxLDYgKzQ5MSw3IEBAIHZvaWQgaTkxNV9zY2hlZF9ub2Rl X2Zpbmkoc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSkKIAkJaWYgKGRlcC0+ZmxhZ3MgJiBJ OTE1X0RFUEVOREVOQ1lfQUxMT0MpCiAJCQlpOTE1X2RlcGVuZGVuY3lfZnJlZShkZXApOwogCX0K KwlJTklUX0xJU1RfSEVBRCgmbm9kZS0+c2lnbmFsZXJzX2xpc3QpOwogCiAJLyogUmVtb3ZlIG91 cnNlbHZlcyBmcm9tIGV2ZXJ5b25lIHdobyBkZXBlbmRzIHVwb24gdXMgKi8KIAlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUoZGVwLCB0bXAsICZub2RlLT53YWl0ZXJzX2xpc3QsIHdhaXRfbGluaykg ewpAQCAtNDkxLDYgKzUwMiw3IEBAIHZvaWQgaTkxNV9zY2hlZF9ub2RlX2Zpbmkoc3RydWN0IGk5 MTVfc2NoZWRfbm9kZSAqbm9kZSkKIAkJaWYgKGRlcC0+ZmxhZ3MgJiBJOTE1X0RFUEVOREVOQ1lf QUxMT0MpCiAJCQlpOTE1X2RlcGVuZGVuY3lfZnJlZShkZXApOwogCX0KKwlJTklUX0xJU1RfSEVB RCgmbm9kZS0+d2FpdGVyc19saXN0KTsKIAogCXNwaW5fdW5sb2NrX2lycSgmc2NoZWR1bGVfbG9j ayk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaAppbmRleCAwN2QyNDNhY2Y1 NTMuLmQxZGM0ZWZlZjc3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z Y2hlZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCkBA IC0yNiw2ICsyNiw3IEBACiAJCQkJCSBzY2hlZC5saW5rKQogCiB2b2lkIGk5MTVfc2NoZWRfbm9k ZV9pbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpOwordm9pZCBpOTE1X3NjaGVkX25v ZGVfcmVpbml0KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUpOwogCiBib29sIF9faTkxNV9z Y2hlZF9ub2RlX2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBpOTE1X3NjaGVkX25vZGUgKm5vZGUsCiAJ CQkJICAgICAgc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqc2lnbmFsLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zd19mZW5jZS5jCmluZGV4IDZhODhkYjI5MTI1Mi4uMTU4NGYzNGE2YmY5IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3X2ZlbmNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jCkBAIC0xMiw2ICsxMiwxMiBAQAogI2luY2x1ZGUg Imk5MTVfc3dfZmVuY2UuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCiAKKyNpZiBJU19F TkFCTEVEKENPTkZJR19EUk1fSTkxNV9ERUJVRykKKyNkZWZpbmUgSTkxNV9TV19GRU5DRV9CVUdf T04oZXhwcikgQlVHX09OKGV4cHIpCisjZWxzZQorI2RlZmluZSBJOTE1X1NXX0ZFTkNFX0JVR19P TihleHByKSBCVUlMRF9CVUdfT05fSU5WQUxJRChleHByKQorI2VuZGlmCisKICNkZWZpbmUgSTkx NV9TV19GRU5DRV9GTEFHX0FMTE9DIEJJVCgzKSAvKiBhZnRlciBXUV9GTEFHXyogZm9yIHNhZmV0 eSAqLwogCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGk5MTVfc3dfZmVuY2VfbG9jayk7CkBAIC0y MTgsMTMgKzIyNCwyMSBAQCB2b2lkIF9faTkxNV9zd19mZW5jZV9pbml0KHN0cnVjdCBpOTE1X3N3 X2ZlbmNlICpmZW5jZSwKIHsKIAlCVUdfT04oIWZuIHx8ICh1bnNpZ25lZCBsb25nKWZuICYgfkk5 MTVfU1dfRkVOQ0VfTUFTSyk7CiAKKwlfX2luaXRfd2FpdHF1ZXVlX2hlYWQoJmZlbmNlLT53YWl0 LCBuYW1lLCBrZXkpOworCWZlbmNlLT5mbGFncyA9ICh1bnNpZ25lZCBsb25nKWZuOworCisJaTkx NV9zd19mZW5jZV9yZWluaXQoZmVuY2UpOworfQorCit2b2lkIGk5MTVfc3dfZmVuY2VfcmVpbml0 KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSkKK3sKIAlkZWJ1Z19mZW5jZV9pbml0KGZlbmNl KTsKIAotCV9faW5pdF93YWl0cXVldWVfaGVhZCgmZmVuY2UtPndhaXQsIG5hbWUsIGtleSk7CiAJ YXRvbWljX3NldCgmZmVuY2UtPnBlbmRpbmcsIDEpOwogCWZlbmNlLT5lcnJvciA9IDA7CiAKLQlm ZW5jZS0+ZmxhZ3MgPSAodW5zaWduZWQgbG9uZylmbjsKKwlJOTE1X1NXX0ZFTkNFX0JVR19PTigh ZmVuY2UtPmZsYWdzKTsKKwlJOTE1X1NXX0ZFTkNFX0JVR19PTighbGlzdF9lbXB0eSgmZmVuY2Ut PndhaXQuaGVhZCkpOwogfQogCiB2b2lkIGk5MTVfc3dfZmVuY2VfY29tbWl0KHN0cnVjdCBpOTE1 X3N3X2ZlbmNlICpmZW5jZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3dfZmVuY2UuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuaAppbmRleCBh YjdkNThiZDBiOWQuLjFlOTBkOWE1MWJkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zd19mZW5jZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVu Y2UuaApAQCAtNTQsNiArNTQsOCBAQCBkbyB7CQkJCQkJCQlcCiAJX19pOTE1X3N3X2ZlbmNlX2lu aXQoKGZlbmNlKSwgKGZuKSwgTlVMTCwgTlVMTCkKICNlbmRpZgogCit2b2lkIGk5MTVfc3dfZmVu Y2VfcmVpbml0KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSk7CisKICNpZmRlZiBDT05GSUdf RFJNX0k5MTVfU1dfRkVOQ0VfREVCVUdfT0JKRUNUUwogdm9pZCBpOTE1X3N3X2ZlbmNlX2Zpbmko c3RydWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlKTsKICNlbHNlCi0tIAoyLjI0LjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==