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=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,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 3F6A4C56201 for ; Wed, 25 Nov 2020 08:12:11 +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 B8C8520857 for ; Wed, 25 Nov 2020 08:12:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="OkIBq2Z8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B8C8520857 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9F37A6E844; Wed, 25 Nov 2020 08:11:53 +0000 (UTC) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8472588FB2 for ; Tue, 24 Nov 2020 10:31:58 +0000 (UTC) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Tue, 24 Nov 2020 02:31:58 -0800 Received: from [172.27.1.196] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 24 Nov 2020 10:31:49 +0000 Subject: Re: [PATCH rdma-core 1/5] verbs: Support dma-buf based memory region To: Jianxin Xiong References: <1606153984-104583-1-git-send-email-jianxin.xiong@intel.com> <1606153984-104583-2-git-send-email-jianxin.xiong@intel.com> From: Yishai Hadas Message-ID: Date: Tue, 24 Nov 2020 12:31:46 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 MIME-Version: 1.0 In-Reply-To: <1606153984-104583-2-git-send-email-jianxin.xiong@intel.com> Content-Language: en-US X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1606213918; bh=Nav52tbi4Xsp+SMqZok2bGwTkWgq7nnB8SgQLZhuBg0=; h=Subject:To:CC:References:From:Message-ID:Date:User-Agent: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding: Content-Language:X-Originating-IP:X-ClientProxiedBy; b=OkIBq2Z8TsR0Dcx38zER42g6C4gHO6ESMh0Za/FIwFzOdWNmnY9nZLm3inJ8Zn+o1 zwDY2hJeGxrAgt8bZcN7TsMnnB/sc/hzxJG6shCgAqxsB13foH7tUQJXx0vDz4uX2o x89Rbo0QCQ5cWMzBigF65ZUXOzvybIWD8o5Wq9ZR3NrlkuBekPKYDi2ga0KF5qZQO3 +QqcobLOsBP0ElQwS1ZgzGPhFjJIK0rKESTW2MgdUZMjFIghtcXI2S5MFEyLarEA+S f6bAy6JLye4rMNNKn/Asxc5448O8hcCC2wa17cOzRF2Uk3XSvGNPaHw/llBrWTxiRr /5tz5V34Yu2/A== X-Mailman-Approved-At: Wed, 25 Nov 2020 08:11:52 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yishai Hadas , Leon Romanovsky , linux-rdma@vger.kernel.org, dri-devel@lists.freedesktop.org, Christian Koenig , Jason Gunthorpe , Doug Ledford , Daniel Vetter Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gMTEvMjMvMjAyMCA3OjUzIFBNLCBKaWFueGluIFhpb25nIHdyb3RlOgo+IEFkZCBuZXcgQVBJ IGZ1bmN0aW9uIGFuZCBuZXcgcHJvdmlkZXIgbWV0aG9kIGZvciByZWdpc3RlcmluZyBkbWEtYnVm Cj4gYmFzZWQgbWVtb3J5IHJlZ2lvbi4gVXBkYXRlIHRoZSBtYW4gcGFnZSBhbmQgYnVtcCB0aGUg QVBJIHZlcnNpb24uCj4KPiBTaWduZWQtb2ZmLWJ5OiBKaWFueGluIFhpb25nIDxqaWFueGluLnhp b25nQGludGVsLmNvbT4KPiAtLS0KPiAgIGtlcm5lbC1oZWFkZXJzL3JkbWEvaWJfdXNlcl9pb2N0 bF9jbWRzLmggfCAxNCArKysrKysrKysrKysKPiAgIGxpYmlidmVyYnMvY21kX21yLmMgICAgICAg ICAgICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAg bGliaWJ2ZXJicy9kcml2ZXIuaCAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysrKwo+ICAg bGliaWJ2ZXJicy9kdW1teV9vcHMuYyAgICAgICAgICAgICAgICAgICB8IDExICsrKysrKysrKwo+ ICAgbGliaWJ2ZXJicy9saWJpYnZlcmJzLm1hcC5pbiAgICAgICAgICAgICB8ICA2ICsrKysrCj4g ICBsaWJpYnZlcmJzL21hbi9pYnZfcmVnX21yLjMgICAgICAgICAgICAgIHwgMjEgKysrKysrKysr KysrKysrKy0tCj4gICBsaWJpYnZlcmJzL3ZlcmJzLmMgICAgICAgICAgICAgICAgICAgICAgIHwg MTkgKysrKysrKysrKysrKysrKwo+ICAgbGliaWJ2ZXJicy92ZXJicy5oICAgICAgICAgICAgICAg ICAgICAgICB8IDEwICsrKysrKysrKwo+ICAgOCBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9rZXJuZWwtaGVhZGVycy9yZG1h L2liX3VzZXJfaW9jdGxfY21kcy5oIGIva2VybmVsLWhlYWRlcnMvcmRtYS9pYl91c2VyX2lvY3Rs X2NtZHMuaAo+IGluZGV4IDc5NjhhMTguLmRhZmM3ZWIgMTAwNjQ0Cj4gLS0tIGEva2VybmVsLWhl YWRlcnMvcmRtYS9pYl91c2VyX2lvY3RsX2NtZHMuaAo+ICsrKyBiL2tlcm5lbC1oZWFkZXJzL3Jk bWEvaWJfdXNlcl9pb2N0bF9jbWRzLmgKPiBAQCAtMSw1ICsxLDYgQEAKPiAgIC8qCj4gICAgKiBD b3B5cmlnaHQgKGMpIDIwMTgsIE1lbGxhbm94IFRlY2hub2xvZ2llcyBpbmMuICBBbGwgcmlnaHRz IHJlc2VydmVkLgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLgo+ICAgICoKPiAgICAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxh YmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCj4gICAgKiBsaWNlbnNlcy4g IFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V Cj4gQEAgLTI1MSw2ICsyNTIsNyBAQCBlbnVtIHV2ZXJic19tZXRob2RzX21yIHsKPiAgIAlVVkVS QlNfTUVUSE9EX01SX0RFU1RST1ksCj4gICAJVVZFUkJTX01FVEhPRF9BRFZJU0VfTVIsCj4gICAJ VVZFUkJTX01FVEhPRF9RVUVSWV9NUiwKPiArCVVWRVJCU19NRVRIT0RfUkVHX0RNQUJVRl9NUiwK PiAgIH07Cj4gICAKPiAgIGVudW0gdXZlcmJzX2F0dHJzX21yX2Rlc3Ryb3lfaWRzIHsKPiBAQCAt MjcyLDYgKzI3NCwxOCBAQCBlbnVtIHV2ZXJic19hdHRyc19xdWVyeV9tcl9jbWRfYXR0cl9pZHMg ewo+ICAgCVVWRVJCU19BVFRSX1FVRVJZX01SX1JFU1BfSU9WQSwKPiAgIH07Cj4gICAKPiArZW51 bSB1dmVyYnNfYXR0cnNfcmVnX2RtYWJ1Zl9tcl9jbWRfYXR0cl9pZHMgewo+ICsJVVZFUkJTX0FU VFJfUkVHX0RNQUJVRl9NUl9IQU5ETEUsCj4gKwlVVkVSQlNfQVRUUl9SRUdfRE1BQlVGX01SX1BE X0hBTkRMRSwKPiArCVVWRVJCU19BVFRSX1JFR19ETUFCVUZfTVJfT0ZGU0VULAo+ICsJVVZFUkJT X0FUVFJfUkVHX0RNQUJVRl9NUl9MRU5HVEgsCj4gKwlVVkVSQlNfQVRUUl9SRUdfRE1BQlVGX01S X0lPVkEsCj4gKwlVVkVSQlNfQVRUUl9SRUdfRE1BQlVGX01SX0ZELAo+ICsJVVZFUkJTX0FUVFJf UkVHX0RNQUJVRl9NUl9BQ0NFU1NfRkxBR1MsCj4gKwlVVkVSQlNfQVRUUl9SRUdfRE1BQlVGX01S X1JFU1BfTEtFWSwKPiArCVVWRVJCU19BVFRSX1JFR19ETUFCVUZfTVJfUkVTUF9SS0VZLAo+ICt9 Owo+ICsKPiAgIGVudW0gdXZlcmJzX2F0dHJzX2NyZWF0ZV9jb3VudGVyc19jbWRfYXR0cl9pZHMg ewo+ICAgCVVWRVJCU19BVFRSX0NSRUFURV9DT1VOVEVSU19IQU5ETEUsCj4gICB9Owo+IGRpZmYg LS1naXQgYS9saWJpYnZlcmJzL2NtZF9tci5jIGIvbGliaWJ2ZXJicy9jbWRfbXIuYwo+IGluZGV4 IDQyZGJlNDIuLjkxY2UyZWYgMTAwNjQ0Cj4gLS0tIGEvbGliaWJ2ZXJicy9jbWRfbXIuYwo+ICsr KyBiL2xpYmlidmVyYnMvY21kX21yLmMKPiBAQCAtMSw1ICsxLDYgQEAKPiAgIC8qCj4gICAgKiBD b3B5cmlnaHQgKGMpIDIwMTggTWVsbGFub3ggVGVjaG5vbG9naWVzLCBMdGQuICBBbGwgcmlnaHRz IHJlc2VydmVkLgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24uICBB bGwgcmlnaHRzIHJlc2VydmVkLgo+ICAgICoKPiAgICAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxh YmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCj4gICAgKiBsaWNlbnNlcy4g IFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V Cj4gQEAgLTExNiwzICsxMTcsNDAgQEAgaW50IGlidl9jbWRfcXVlcnlfbXIoc3RydWN0IGlidl9w ZCAqcGQsIHN0cnVjdCB2ZXJic19tciAqdm1yLAo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4g K2ludCBpYnZfY21kX3JlZ19kbWFidWZfbXIoc3RydWN0IGlidl9wZCAqcGQsIHVpbnQ2NF90IG9m ZnNldCwgc2l6ZV90IGxlbmd0aCwKPiArCQkJICB1aW50NjRfdCBpb3ZhLCBpbnQgZmQsIGludCBh Y2Nlc3MsCj4gKwkJCSAgc3RydWN0IHZlcmJzX21yICp2bXIpCj4gK3sKPiArCURFQ0xBUkVfQ09N TUFORF9CVUZGRVIoY21kYiwgVVZFUkJTX09CSkVDVF9NUiwKPiArCQkJICAgICAgIFVWRVJCU19N RVRIT0RfUkVHX0RNQUJVRl9NUiwKPiArCQkJICAgICAgIDkpOwo+ICsJc3RydWN0IGliX3V2ZXJi c19hdHRyICpoYW5kbGU7Cj4gKwl1aW50MzJfdCBsa2V5LCBya2V5Owo+ICsJaW50IHJldDsKPiAr Cj4gKwloYW5kbGUgPSBmaWxsX2F0dHJfb3V0X29iaihjbWRiLCBVVkVSQlNfQVRUUl9SRUdfRE1B QlVGX01SX0hBTkRMRSk7Cj4gKwlmaWxsX2F0dHJfb3V0X3B0cihjbWRiLCBVVkVSQlNfQVRUUl9S RUdfRE1BQlVGX01SX1JFU1BfTEtFWSwgJmxrZXkpOwo+ICsJZmlsbF9hdHRyX291dF9wdHIoY21k YiwgVVZFUkJTX0FUVFJfUkVHX0RNQUJVRl9NUl9SRVNQX1JLRVksICZya2V5KTsKPiArCj4gKwlm aWxsX2F0dHJfaW5fb2JqKGNtZGIsIFVWRVJCU19BVFRSX1JFR19ETUFCVUZfTVJfUERfSEFORExF LCBwZC0+aGFuZGxlKTsKPiArCWZpbGxfYXR0cl9pbl91aW50NjQoY21kYiwgVVZFUkJTX0FUVFJf UkVHX0RNQUJVRl9NUl9PRkZTRVQsIG9mZnNldCk7Cj4gKwlmaWxsX2F0dHJfaW5fdWludDY0KGNt ZGIsIFVWRVJCU19BVFRSX1JFR19ETUFCVUZfTVJfTEVOR1RILCBsZW5ndGgpOwo+ICsJZmlsbF9h dHRyX2luX3VpbnQ2NChjbWRiLCBVVkVSQlNfQVRUUl9SRUdfRE1BQlVGX01SX0lPVkEsIGlvdmEp Owo+ICsJZmlsbF9hdHRyX2luX3VpbnQzMihjbWRiLCBVVkVSQlNfQVRUUl9SRUdfRE1BQlVGX01S X0ZELCBmZCk7Cj4gKwlmaWxsX2F0dHJfaW5fdWludDMyKGNtZGIsIFVWRVJCU19BVFRSX1JFR19E TUFCVUZfTVJfQUNDRVNTX0ZMQUdTLCBhY2Nlc3MpOwo+ICsKPiArCXJldCA9IGV4ZWN1dGVfaW9j dGwocGQtPmNvbnRleHQsIGNtZGIpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gZXJybm87Cj4g Kwo+ICsJdm1yLT5pYnZfbXIuaGFuZGxlID0KPiArCQlyZWFkX2F0dHJfb2JqKFVWRVJCU19BVFRS X1JFR19ETUFCVUZfTVJfSEFORExFLCBoYW5kbGUpOwo+ICsJdm1yLT5pYnZfbXIuY29udGV4dCA9 IHBkLT5jb250ZXh0Owo+ICsJdm1yLT5pYnZfbXIubGtleSAgICA9IGxrZXk7Cj4gKwl2bXItPmli dl9tci5ya2V5ICAgID0gcmtleTsKPiArCXZtci0+aWJ2X21yLnBkCSAgICA9IHBkOwo+ICsJdm1y LT5pYnZfbXIuYWRkciAgICA9ICh2b2lkICopb2Zmc2V0Owo+ICsJdm1yLT5pYnZfbXIubGVuZ3Ro ICA9IGxlbmd0aDsKPiArCXZtci0+bXJfdHlwZSAgICAgICAgPSBJQlZfTVJfVFlQRV9NUjsKPiAr CXJldHVybiAwOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2xpYmlidmVyYnMvZHJpdmVyLmggYi9saWJp YnZlcmJzL2RyaXZlci5oCj4gaW5kZXggYWI4MGY0Yi4uZDZhOWQwYSAxMDA2NDQKPiAtLS0gYS9s aWJpYnZlcmJzL2RyaXZlci5oCj4gKysrIGIvbGliaWJ2ZXJicy9kcml2ZXIuaAo+IEBAIC0yLDYg KzIsNyBAQAo+ICAgICogQ29weXJpZ2h0IChjKSAyMDA0LCAyMDA1IFRvcHNwaW4gQ29tbXVuaWNh dGlvbnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICAgICogQ29weXJpZ2h0IChjKSAyMDA1LCAy MDA2IENpc2NvIFN5c3RlbXMsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gICAgKiBDb3B5 cmlnaHQgKGMpIDIwMDUgUGF0aFNjYWxlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsg KiBDb3B5cmlnaHQgKGMpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCj4gICAgKgo+ICAgICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVy IGEgY2hvaWNlIG9mIG9uZSBvZiB0d28KPiAgICAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2Ug dG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKPiBAQCAtMzczLDYgKzM3 NCw5IEBAIHN0cnVjdCB2ZXJic19jb250ZXh0X29wcyB7Cj4gICAJc3RydWN0IGlidl9tciAqKCpy ZWdfZG1fbXIpKHN0cnVjdCBpYnZfcGQgKnBkLCBzdHJ1Y3QgaWJ2X2RtICpkbSwKPiAgIAkJCQkg ICAgdWludDY0X3QgZG1fb2Zmc2V0LCBzaXplX3QgbGVuZ3RoLAo+ICAgCQkJCSAgICB1bnNpZ25l ZCBpbnQgYWNjZXNzKTsKPiArCXN0cnVjdCBpYnZfbXIgKigqcmVnX2RtYWJ1Zl9tcikoc3RydWN0 IGlidl9wZCAqcGQsIHVpbnQ2NF90IG9mZnNldCwKPiArCQkJCQlzaXplX3QgbGVuZ3RoLCB1aW50 NjRfdCBpb3ZhLAo+ICsJCQkJCWludCBmZCwgaW50IGFjY2Vzcyk7Cj4gICAJc3RydWN0IGlidl9t ciAqKCpyZWdfbXIpKHN0cnVjdCBpYnZfcGQgKnBkLCB2b2lkICphZGRyLCBzaXplX3QgbGVuZ3Ro LAo+ICAgCQkJCSB1aW50NjRfdCBoY2FfdmEsIGludCBhY2Nlc3MpOwo+ICAgCWludCAoKnJlcV9u b3RpZnlfY3EpKHN0cnVjdCBpYnZfY3EgKmNxLCBpbnQgc29saWNpdGVkX29ubHkpOwo+IEBAIC00 OTgsNiArNTAyLDkgQEAgaW50IGlidl9jbWRfYWR2aXNlX21yKHN0cnVjdCBpYnZfcGQgKnBkLAo+ ICAgCQkgICAgICB1aW50MzJfdCBmbGFncywKPiAgIAkJICAgICAgc3RydWN0IGlidl9zZ2UgKnNn X2xpc3QsCj4gICAJCSAgICAgIHVpbnQzMl90IG51bV9zZ2UpOwo+ICtpbnQgaWJ2X2NtZF9yZWdf ZG1hYnVmX21yKHN0cnVjdCBpYnZfcGQgKnBkLCB1aW50NjRfdCBvZmZzZXQsIHNpemVfdCBsZW5n dGgsCj4gKwkJCSAgdWludDY0X3QgaW92YSwgaW50IGZkLCBpbnQgYWNjZXNzLAo+ICsJCQkgIHN0 cnVjdCB2ZXJic19tciAqdm1yKTsKPiAgIGludCBpYnZfY21kX2FsbG9jX213KHN0cnVjdCBpYnZf cGQgKnBkLCBlbnVtIGlidl9td190eXBlIHR5cGUsCj4gICAJCSAgICAgc3RydWN0IGlidl9tdyAq bXcsIHN0cnVjdCBpYnZfYWxsb2NfbXcgKmNtZCwKPiAgIAkJICAgICBzaXplX3QgY21kX3NpemUs Cj4gZGlmZiAtLWdpdCBhL2xpYmlidmVyYnMvZHVtbXlfb3BzLmMgYi9saWJpYnZlcmJzL2R1bW15 X29wcy5jCj4gaW5kZXggZTVhZjllNC4uZGNhOTZkMiAxMDA2NDQKPiAtLS0gYS9saWJpYnZlcmJz L2R1bW15X29wcy5jCj4gKysrIGIvbGliaWJ2ZXJicy9kdW1teV9vcHMuYwo+IEBAIC0xLDUgKzEs NiBAQAo+ICAgLyoKPiAgICAqIENvcHlyaWdodCAoYykgMjAxNyBNZWxsYW5veCBUZWNobm9sb2dp ZXMsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqIENvcHlyaWdodCAoYykgMjAyMCBJ bnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gICAgKgo+ICAgICogVGhp cyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0 d28KPiAgICAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUKPiBAQCAtNDUyLDYgKzQ1MywxNCBAQCBzdGF0aWMgc3RydWN0 IGlidl9tciAqcmVnX21yKHN0cnVjdCBpYnZfcGQgKnBkLCB2b2lkICphZGRyLCBzaXplX3QgbGVu Z3RoLAo+ICAgCXJldHVybiBOVUxMOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBzdHJ1Y3QgaWJ2X21y ICpyZWdfZG1hYnVmX21yKHN0cnVjdCBpYnZfcGQgKnBkLCB1aW50NjRfdCBvZmZzZXQsCj4gKwkJ CQkgICAgc2l6ZV90IGxlbmd0aCwgdWludDY0X3QgaW92YSwKPiArCQkJCSAgICBpbnQgZmQsIGlu dCBhY2Nlc3MpCj4gK3sKPiArCWVycm5vID0gRU5PU1lTOwo+ICsJcmV0dXJuIE5VTEw7Cj4gK30K PiArCj4gICBzdGF0aWMgaW50IHJlcV9ub3RpZnlfY3Eoc3RydWN0IGlidl9jcSAqY3EsIGludCBz b2xpY2l0ZWRfb25seSkKPiAgIHsKPiAgIAlyZXR1cm4gRU9QTk9UU1VQUDsKPiBAQCAtNTYwLDYg KzU2OSw3IEBAIGNvbnN0IHN0cnVjdCB2ZXJic19jb250ZXh0X29wcyB2ZXJic19kdW1teV9vcHMg PSB7Cj4gICAJcXVlcnlfc3JxLAo+ICAgCXJlYWRfY291bnRlcnMsCj4gICAJcmVnX2RtX21yLAo+ ICsJcmVnX2RtYWJ1Zl9tciwKPiAgIAlyZWdfbXIsCj4gICAJcmVxX25vdGlmeV9jcSwKPiAgIAly ZXJlZ19tciwKPiBAQCAtNjg5LDYgKzY5OSw3IEBAIHZvaWQgdmVyYnNfc2V0X29wcyhzdHJ1Y3Qg dmVyYnNfY29udGV4dCAqdmN0eCwKPiAgIAlTRVRfUFJJVl9PUF9JQyh2Y3R4LCBzZXRfZWNlKTsK PiAgIAlTRVRfUFJJVl9PUF9JQyh2Y3R4LCB1bmltcG9ydF9tcik7Cj4gICAJU0VUX1BSSVZfT1Bf SUModmN0eCwgdW5pbXBvcnRfcGQpOwo+ICsJU0VUX09QKHZjdHgsIHJlZ19kbWFidWZfbXIpOwo+ ICAgCj4gICAjdW5kZWYgU0VUX09QCj4gICAjdW5kZWYgU0VUX09QMgo+IGRpZmYgLS1naXQgYS9s aWJpYnZlcmJzL2xpYmlidmVyYnMubWFwLmluIGIvbGliaWJ2ZXJicy9saWJpYnZlcmJzLm1hcC5p bgo+IGluZGV4IGI1Y2NhY2EuLmY2N2UxZWYgMTAwNjQ0Cj4gLS0tIGEvbGliaWJ2ZXJicy9saWJp YnZlcmJzLm1hcC5pbgo+ICsrKyBiL2xpYmlidmVyYnMvbGliaWJ2ZXJicy5tYXAuaW4KPiBAQCAt MTQ4LDYgKzE0OCwxMSBAQCBJQlZFUkJTXzEuMTEgewo+ICAgCQlfaWJ2X3F1ZXJ5X2dpZF90YWJs ZTsKPiAgIH0gSUJWRVJCU18xLjEwOwo+ICAgCj4gK0lCVkVSQlNfMS4xMiB7Cj4gKwlnbG9iYWw6 Cj4gKwkJaWJ2X3JlZ19kbWFidWZfbXI7Cj4gK30gSUJWRVJCU18xLjExOwo+ICsKPiAgIC8qIElm IGFueSBzeW1ib2xzIGluIHRoaXMgc3RhbnphIGNoYW5nZSBBQkkgdGhlbiB0aGUgZW50aXJlIHN0 YXphIGdldHMgYSBuZXcgc3ltYm9sCj4gICAgICB2ZXJzaW9uLiBTZWUgdGhlIHRvcCBsZXZlbCBD TWFrZUxpc3RzLnR4dCBmb3IgdGhpcyBzZXR0aW5nLiAqLwo+ICAgCj4gQEAgLTIxMSw2ICsyMTYs NyBAQCBJQlZFUkJTX1BSSVZBVEVfQElCVkVSQlNfUEFCSV9WRVJTSU9OQCB7Cj4gICAJCWlidl9j bWRfcXVlcnlfc3JxOwo+ICAgCQlpYnZfY21kX3JlYWRfY291bnRlcnM7Cj4gICAJCWlidl9jbWRf cmVnX2RtX21yOwo+ICsJCWlidl9jbWRfcmVnX2RtYWJ1Zl9tcjsKPiAgIAkJaWJ2X2NtZF9yZWdf bXI7Cj4gICAJCWlidl9jbWRfcmVxX25vdGlmeV9jcTsKPiAgIAkJaWJ2X2NtZF9yZXJlZ19tcjsK PiBkaWZmIC0tZ2l0IGEvbGliaWJ2ZXJicy9tYW4vaWJ2X3JlZ19tci4zIGIvbGliaWJ2ZXJicy9t YW4vaWJ2X3JlZ19tci4zCj4gaW5kZXggMmJmYzk1NS4uNDk3NWM3OSAxMDA2NDQKPiAtLS0gYS9s aWJpYnZlcmJzL21hbi9pYnZfcmVnX21yLjMKPiArKysgYi9saWJpYnZlcmJzL21hbi9pYnZfcmVn X21yLjMKPiBAQCAtMyw3ICszLDcgQEAKPiAgIC5cIgo+ICAgLlRIIElCVl9SRUdfTVIgMyAyMDA2 LTEwLTMxIGxpYmlidmVyYnMgIkxpYmlidmVyYnMgUHJvZ3JhbW1lcidzIE1hbnVhbCIKPiAgIC5T SCAiTkFNRSIKPiAtaWJ2X3JlZ19tciwgaWJ2X3JlZ19tcl9pb3ZhLCBpYnZfZGVyZWdfbXIgXC0g cmVnaXN0ZXIgb3IgZGVyZWdpc3RlciBhIG1lbW9yeSByZWdpb24gKE1SKQo+ICtpYnZfcmVnX21y LCBpYnZfcmVnX21yX2lvdmEsIGlidl9yZWdfZG1hYnVmX21yLCBpYnZfZGVyZWdfbXIgXC0gcmVn aXN0ZXIgb3IgZGVyZWdpc3RlciBhIG1lbW9yeSByZWdpb24gKE1SKQo+ICAgLlNIICJTWU5PUFNJ UyIKPiAgIC5uZgo+ICAgLkIgI2luY2x1ZGUgPGluZmluaWJhbmQvdmVyYnMuaD4KPiBAQCAtMTUs NiArMTUsOSBAQCBpYnZfcmVnX21yLCBpYnZfcmVnX21yX2lvdmEsIGlidl9kZXJlZ19tciBcLSBy ZWdpc3RlciBvciBkZXJlZ2lzdGVyIGEgbWVtb3J5IHJlZwo+ICAgLkJJICIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2l6ZV90ICIgImxlbmd0aCIgIiwgdWludDY0X3QgIiAiaGNhX3Zh IiAsCj4gICAuQkkgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgIiAiYWNjZXNz IiApOwo+ICAgLnNwCj4gKy5CSSAic3RydWN0IGlidl9tciAqaWJ2X3JlZ19kbWFidWZfbXIoc3Ry dWN0IGlidl9wZCAiICIqcGQiICIsIHVpbnQ2NF90ICIgIm9mZnNldCIgLAo+ICsuQkkgIiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAiICJsZW5ndGgiICIsIGludCAiICJh Y2Nlc3MiICk7Cj4gKy5zcAoKClRoaXMgbWlzc2VzIHRoZSAnZmQnIHBhcmFtZXRlci4KCj4gICAu QkkgImludCBpYnZfZGVyZWdfbXIoc3RydWN0IGlidl9tciAiICIqbXIiICk7Cj4gICAuZmkKPiAg IC5TSCAiREVTQ1JJUFRJT04iCj4gQEAgLTcxLDExICs3NCwyNSBAQCBhIGxrZXkgb3IgcmtleS4g VGhlIG9mZnNldCBpbiB0aGUgbWVtb3J5IHJlZ2lvbiBpcyBjb21wdXRlZCBhcyAnYWRkciArCj4g ICAoaW92YSAtIGhjYV92YSknLiBTcGVjaWZ5aW5nIDAgZm9yIGhjYV92YSBoYXMgdGhlIHNhbWUg ZWZmZWN0IGFzCj4gICBJQlZfQUNDRVNTX1pFUk9fQkFTRUQuCj4gICAuUFAKPiArLkIgaWJ2X3Jl Z19kbWFidWZfbXIoKQo+ICtyZWdpc3RlcnMgYSBkbWEtYnVmIGJhc2VkIG1lbW9yeSByZWdpb24g KE1SKSBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3RlY3Rpb24gZG9tYWluCj4gKy5JIHBkXGZSLgo+ ICtUaGUgTVIgc3RhcnRzIGF0Cj4gKy5JIG9mZnNldAo+ICtvZiB0aGUgZG1hLWJ1ZiBhbmQgaXRz IHNpemUgaXMKPiArLkkgbGVuZ3RoXGZSLgo+ICtUaGUgZG1hLWJ1ZiBpcyBpZGVudGlmaWVkIGJ5 IHRoZSBmaWxlIGRlc2NyaXB0b3IKPiArLkkgZmRcZlIuCj4gK1RoZSBhcmd1bWVudAo+ICsuSSBh Y2Nlc3MKPiArZGVzY3JpYmVzIHRoZSBkZXNpcmVkIG1lbW9yeSBwcm90ZWN0aW9uIGF0dHJpYnV0 ZXM7IGl0IGlzIHNpbWlsYXIgdG8gdGhlIGlidl9yZWdfbXIgY2FzZSBleGNlcHQgdGhhdCBvbmx5 IHRoZSBmb2xsb3dpbmcgZmxhZ3MgYXJlIHN1cHBvcnRlZDoKPiArLkIgSUJWX0FDQ0VTU19MT0NB TF9XUklURSwgSUJWX0FDQ0VTU19SRU1PVEVfV1JJVEUsIElCVl9BQ0NFU1NfUkVNT1RFX1JFQUQs IElCVl9BQ0NFU1NfUkVNT1RFX0FUT01JQywgSUJWX0FDQ0VTU19SRUxBWEVEX09SREVSSU5HLgo+ ICsuUFAKPiAgIC5CIGlidl9kZXJlZ19tcigpCj4gICBkZXJlZ2lzdGVycyB0aGUgTVIKPiAgIC5J IG1yXGZSLgo+ICAgLlNIICJSRVRVUk4gVkFMVUUiCj4gLS5CIGlidl9yZWdfbXIoKSAvIGlidl9y ZWdfbXJfaW92YSgpCj4gKy5CIGlidl9yZWdfbXIoKSAvIGlidl9yZWdfbXJfaW92YSgpIC8gaWJ2 X3JlZ19kbWFidWZfbXIoKQo+ICAgcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIHJlZ2lzdGVyZWQg TVIsIG9yIE5VTEwgaWYgdGhlIHJlcXVlc3QgZmFpbHMuCj4gICBUaGUgbG9jYWwga2V5IChcZkJM X0tleVxmUikgZmllbGQKPiAgIC5CIGxrZXkKPiBkaWZmIC0tZ2l0IGEvbGliaWJ2ZXJicy92ZXJi cy5jIGIvbGliaWJ2ZXJicy92ZXJicy5jCj4gaW5kZXggMmIwZWRlOC4uODRkZGFjNyAxMDA2NDQK PiAtLS0gYS9saWJpYnZlcmJzL3ZlcmJzLmMKPiArKysgYi9saWJpYnZlcmJzL3ZlcmJzLmMKPiBA QCAtMSw2ICsxLDcgQEAKPiAgIC8qCj4gICAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgVG9wc3BpbiBD b21tdW5pY2F0aW9ucy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gICAgKiBDb3B5cmlnaHQgKGMp IDIwMDYsIDIwMDcgQ2lzY28gU3lzdGVtcywgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiAr ICogQ29weXJpZ2h0IChjKSAyMDIwIEludGVsIENvcnBlcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNl cnZlZC4KPiAgICAqCj4gICAgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5k ZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bwo+ICAgICogbGljZW5zZXMuICBZb3UgbWF5IGNob29z ZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQo+IEBAIC0zNjcsNiAr MzY4LDI0IEBAIHZvaWQgaWJ2X3VuaW1wb3J0X21yKHN0cnVjdCBpYnZfbXIgKm1yKQo+ICAgCWdl dF9vcHMobXItPmNvbnRleHQpLT51bmltcG9ydF9tcihtcik7Cj4gICB9Cj4gICAKPiArTEFURVNU X1NZTVZFUl9GVU5DKGlidl9yZWdfZG1hYnVmX21yLCAxXzEyLCAiSUJWRVJCU18xLjEyIiwKPiAr CQkgICBzdHJ1Y3QgaWJ2X21yICosCj4gKwkJICAgc3RydWN0IGlidl9wZCAqcGQsIHVpbnQ2NF90 IG9mZnNldCwKPiArCQkgICBzaXplX3QgbGVuZ3RoLCBpbnQgZmQsIGludCBhY2Nlc3MpCj4gK3sK CgogwqBpYnZfZGVyZWdfbXIoKSAtPiBpYnZfZG9mb3JrX3JhbmdlKCkgZG9lc24ndCBzZWVtIHRv IGJlIGFwcGxpY2FibGUgaW4gCnRoaXMgY2FzZSwgcmlnaHQgPyBpZiBvZmZzZXQgLyBhZGRyIHdv bid0IGJlIDAgaXQgbWF5IGJlIGFjdGl2YXRlZCBvbiAKdGhlIGFkZHJlc3MgcmFuZ2UuCgpEbyB3 ZSByZWx5IG9uIGFwcGxpY2F0aW9ucyB0byAqbm90KiB0dXJuIG9uIGZvcmsgc3VwcG9ydCBpbiBs aWJpYnZlcmJzID8gCihlLmcuIGNhbGwgaWJ2X2ZvcmtfaW5pdCgpKSwgd2hhdCBpZiBzb21lIG90 aGVyIHJlZ2lzdHJhdGlvbnMgbWF5IG5lZWQgCmJlaW5nIGZvcmsgc2FmZSA/Cgo+ICsJc3RydWN0 IGlidl9tciAqbXI7Cj4gKwo+ICsJbXIgPSBnZXRfb3BzKHBkLT5jb250ZXh0KS0+cmVnX2RtYWJ1 Zl9tcihwZCwgb2Zmc2V0LCBsZW5ndGgsIG9mZnNldCwKPiArCQkJCQkJIGZkLCBhY2Nlc3MpOwo+ ICsJaWYgKG1yKSB7Cj4gKwkJbXItPmNvbnRleHQgPSBwZC0+Y29udGV4dDsKPiArCQltci0+cGQg ICAgICA9IHBkOwo+ICsJCW1yLT5hZGRyICAgID0gKHZvaWQgKilvZmZzZXQ7Cj4gKwkJbXItPmxl bmd0aCAgPSBsZW5ndGg7Cj4gKwl9Cj4gKwlyZXR1cm4gbXI7Cj4gK30KPiArCj4gICBMQVRFU1Rf U1lNVkVSX0ZVTkMoaWJ2X3JlcmVnX21yLCAxXzEsICJJQlZFUkJTXzEuMSIsCj4gICAJCSAgIGlu dCwKPiAgIAkJICAgc3RydWN0IGlidl9tciAqbXIsIGludCBmbGFncywKPiBkaWZmIC0tZ2l0IGEv bGliaWJ2ZXJicy92ZXJicy5oIGIvbGliaWJ2ZXJicy92ZXJicy5oCj4gaW5kZXggZWU1N2UwNS4u Mzk2MWIxZSAxMDA2NDQKPiAtLS0gYS9saWJpYnZlcmJzL3ZlcmJzLmgKPiArKysgYi9saWJpYnZl cmJzL3ZlcmJzLmgKPiBAQCAtMyw2ICszLDcgQEAKPiAgICAqIENvcHlyaWdodCAoYykgMjAwNCwg MjAxMS0yMDEyIEludGVsIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiAgICAq IENvcHlyaWdodCAoYykgMjAwNSwgMjAwNiwgMjAwNyBDaXNjbyBTeXN0ZW1zLCBJbmMuICBBbGwg cmlnaHRzIHJlc2VydmVkLgo+ICAgICogQ29weXJpZ2h0IChjKSAyMDA1IFBhdGhTY2FsZSwgSW5j LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICogQ29weXJpZ2h0IChjKSAyMDIwIEludGVsIENv cnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiAgICAqCj4gICAgKiBUaGlzIHNvZnR3 YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bwo+ICAg ICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVQo+IEBAIC0yMTMzLDYgKzIxMzQsOSBAQCBzdHJ1Y3QgdmVyYnNfY29udGV4 dCB7Cj4gICAJc3RydWN0IGlidl94cmNkICoJKCpvcGVuX3hyY2QpKHN0cnVjdCBpYnZfY29udGV4 dCAqY29udGV4dCwKPiAgIAkJCQkJICAgICBzdHJ1Y3QgaWJ2X3hyY2RfaW5pdF9hdHRyICp4cmNk X2luaXRfYXR0cik7Cj4gICAJaW50CQkJKCpjbG9zZV94cmNkKShzdHJ1Y3QgaWJ2X3hyY2QgKnhy Y2QpOwo+ICsJc3RydWN0IGlidl9tciAqCQkoKnJlZ19kbWFidWZfbXIpKHN0cnVjdCBpYnZfcGQg KnBkLCB1aW50NjRfdCBvZmZzZXQsCj4gKwkJCQkJCSBzaXplX3QgbGVuZ3RoLCB1aW50NjRfdCBp b3ZhLAo+ICsJCQkJCQkgaW50IGZkLCBpbnQgYWNjZXNzKTsKPiAgIAl1aW50NjRfdCBfQUJJX3Bs YWNlaG9sZGVyMzsKPiAgIAlzaXplX3QgICBzejsJCQkvKiBNdXN0IGJlIGltbWVkaWF0ZWx5IGJl Zm9yZSBzdHJ1Y3QgaWJ2X2NvbnRleHQgKi8KPiAgIAlzdHJ1Y3QgaWJ2X2NvbnRleHQgY29udGV4 dDsJLyogTXVzdCBiZSBsYXN0IGZpZWxkIGluIHRoZSBzdHJ1Y3QgKi8KPiBAQCAtMjUzNSw2ICsy NTM5LDEyIEBAIF9faWJ2X3JlZ19tcl9pb3ZhKHN0cnVjdCBpYnZfcGQgKnBkLCB2b2lkICphZGRy LCBzaXplX3QgbGVuZ3RoLCB1aW50NjRfdCBpb3ZhLAo+ICAgCQkJICBfX2J1aWx0aW5fY29uc3Rh bnRfcCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAgIAkJCQkgICgoYWNjZXNz KSAmIElCVl9BQ0NFU1NfT1BUSU9OQUxfUkFOR0UpID09IDApKQo+ICAgCj4gKy8qKgo+ICsgKiBp YnZfcmVnX2RtYWJ1Zl9tciAtIFJlZ2lzdGVyIGEgZGFtYnVmLWJhc2VkIG1lbW9yeSByZWdpb24K PiArICovCj4gK3N0cnVjdCBpYnZfbXIgKmlidl9yZWdfZG1hYnVmX21yKHN0cnVjdCBpYnZfcGQg KnBkLCB1aW50NjRfdCBvZmZzZXQsIHNpemVfdCBsZW5ndGgsCj4gKwkJCQkgaW50IGZkLCBpbnQg YWNjZXNzKTsKPiArCj4gICBlbnVtIGlidl9yZXJlZ19tcl9lcnJfY29kZSB7Cj4gICAJLyogT2xk IE1SIGlzIHZhbGlkLCBpbnZhbGlkIGlucHV0ICovCj4gICAJSUJWX1JFUkVHX01SX0VSUl9JTlBV VCA9IC0xLAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=