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=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,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 21060C04AB1 for ; Thu, 9 May 2019 17:26:05 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 E93BF216C4 for ; Thu, 9 May 2019 17:26:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="3842AqDI" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E93BF216C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOmnq-0000mt-95; Thu, 09 May 2019 17:25:54 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOmno-0000jC-2Q for xen-devel@lists.xenproject.org; Thu, 09 May 2019 17:25:52 +0000 X-Inumbo-ID: 7deff632-727f-11e9-998f-4734f8c2929f Received: from aserp2130.oracle.com (unknown [141.146.126.79]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 7deff632-727f-11e9-998f-4734f8c2929f; Thu, 09 May 2019 17:25:51 +0000 (UTC) Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x49HJSBL162321; Thu, 9 May 2019 17:25:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2018-07-02; bh=Yk7rv8RXBJruI/gHyJZRpw6blRShhbnurNLnUDXHVG8=; b=3842AqDIae0mBybH8EwVXHVP7Az1QqpsCu9UqGSrKXcJdjk4pT/v3IY1JZLehGBTMQla Ka/PebsY9rjiZA9OjQPCy5SuDcUgDt2stmSliya0SqaaPfrEp87L7254aVOndOtu0YqW iP4oUPRJMH8OLN5ToG/AF2dxOU5EHpqaEbh+UkTOL8x/2Xn/kH+cmXBf7Mq6GfMlLEWA 4sDsWHxYSbgvGIKi0z3gVlLt+XLIGgns8WyntldRhfU74w98YZsxxxJn4J0mtkmGArEr jALu42mtQ/i/knlbAB1R7AlwWXf9VeBShvck+EqMkMK7rFP2V2pW30stZCM0R8etoQQo Bw== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2130.oracle.com with ESMTP id 2s94b6cf0q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 May 2019 17:25:49 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x49HP7wJ152264; Thu, 9 May 2019 17:25:49 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 2schvyy7xq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 May 2019 17:25:49 +0000 Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x49HPmEI031352; Thu, 9 May 2019 17:25:48 GMT Received: from aa1-ca-oracle-com.ca.oracle.com (/10.156.75.204) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 09 May 2019 10:25:47 -0700 From: Ankur Arora To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Date: Thu, 9 May 2019 10:25:40 -0700 Message-Id: <20190509172540.12398-17-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190509172540.12398-1-ankur.a.arora@oracle.com> References: <20190509172540.12398-1-ankur.a.arora@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9252 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905090100 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9252 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905090100 Subject: [Xen-devel] [RFC PATCH 16/16] xen/grant-table: host_addr fixup in mapping on xenhost_r0 X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: jgross@suse.com, sstabellini@kernel.org, konrad.wilk@oracle.com, ankur.a.arora@oracle.com, pbonzini@redhat.com, boris.ostrovsky@oracle.com, joao.m.martins@oracle.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" WGVuaG9zdCB0eXBlIHhlbmhvc3RfcjAgZG9lcyBub3Qgc3VwcG9ydCBzdGFuZGFyZCBHTlRUQUJP UF9tYXBfZ3JhbnRfcmVmCnNlbWFudGljcyAobWFwIGEgZ3JlZiBvbnRvIGEgc3BlY2lmaWVkIGhv c3RfYWRkcikuIFRoYXQncyBiZWNhdXNlCnNpbmNlIHRoZSBoeXBlcnZpc29yIGlzIGxvY2FsIChz YW1lIGFkZHJlc3Mgc3BhY2UgYXMgdGhlIGNhbGxlciBvZgpHTlRUQUJPUF9tYXBfZ3JhbnRfcmVm KSwgdGhlcmUgaXMgbm8gZXh0ZXJuYWwgZW50aXR5IHRoYXQgY291bGQKbWFwIGFuIGFyYml0cmFy eSBwYWdlIHVuZGVybmVhdGggYW4gYXJiaXRyYXJ5IGFkZHJlc3MuCgpUbyBoYW5kbGUgdGhpcywg dGhlIEdOVFRBQk9QX21hcF9ncmFudF9yZWYgaHlwZXJjYWxsIG9uIHhlbmhvc3RfcjAKdHJlYXRz IHRoZSBob3N0X2FkZHIgYXMgYW4gT1VUIHBhcmFtZXRlciBpbnN0ZWFkIG9mIElOIGFuZCBleHBl Y3RzIHRoZQpnbnR0YWJfbWFwX3JlZnMoKSBhbmQgc2ltaWxhciB0byBmaXh1cCBhbnkgc3RhdGUg dGhhdCBjYWNoZXMgdGhlCnZhbHVlIG9mIGhvc3RfYWRkciBmcm9tIGJlZm9yZSB0aGUgaHlwZXJj YWxsLgoKQWNjb3JkaW5nbHkgZ250dGFiX21hcF9yZWZzKCkgbm93IGFkZHMgdHdvIHBhcmFtZXRl cnMsIGEgZml4dXAgZnVuY3Rpb24KYW5kIGEgcG9pbnRlciB0byBjYWNoZWQgbWFwcyB0byBmaXh1 cDoKIGludCBnbnR0YWJfbWFwX3JlZnMoeGVuaG9zdF90ICp4aCwgc3RydWN0IGdudHRhYl9tYXBf Z3JhbnRfcmVmICptYXBfb3BzLAogCQkgICAgc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpr bWFwX29wcywKLQkJICAgIHN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVkIGludCBjb3VudCkK KwkJICAgIHN0cnVjdCBwYWdlICoqcGFnZXMsIGdudHRhYl9tYXBfZml4dXBfdCBtYXBfZml4dXBf Zm4sCisJCSAgICB2b2lkICoqbWFwX2ZpeHVwW10sIHVuc2lnbmVkIGludCBjb3VudCkKClRoZSBy ZWFzb24gd2UgdXNlIGEgZml4dXAgZnVuY3Rpb24gYW5kIG5vdCBhbiBhZGRpdGlvbmFsIG1hcHBp bmcgb3AKaW4gdGhlIHhlbmhvc3RfdCBpcyBiZWNhdXNlLCBkZXBlbmRpbmcgb24gdGhlIGNhbGxl ciwgd2hhdCB3ZSBhcmUgZml4aW5nCm1pZ2h0IGJlIGRpZmZlcmVudDogYmxrYmFjaywgbmV0YmFj ayBmb3IgaW5zdGFuY2UgY2FjaGUgaG9zdF9hZGRyIGluCnZpYSBhIHN0cnVjdCBwYWdlICosIHdo aWxlIF9feGVuYnVzX21hcF9yaW5nKCkgY2FjaGVzIGEgcGh5c19hZGRyLgoKVGhpcyBwYXRjaCBm aXhlcyB1cCB4ZW4tYmxrYmFjayBhbmQgeGVuLWdudGRldiBkcml2ZXJzLgoKVE9ETzoKICAtIGFs c28gcmV3cml0ZSBnbnR0YWJfYmF0Y2hfbWFwKCkgYW5kIF9feGVuYnVzX21hcF9yaW5nKCkuCiAg LSBtb2RpZnkgeGVuLW5ldGJhY2ssIHNjc2liYWNrLCBwY2liYWNrIGV0YwoKQ28tZGV2ZWxvcGVk LWJ5OiBKb2FvIE1hcnRpbnMgPGpvYW8ubS5tYXJ0aW5zQG9yYWNsZS5jb20+ClNpZ25lZC1vZmYt Ynk6IEFua3VyIEFyb3JhIDxhbmt1ci5hLmFyb3JhQG9yYWNsZS5jb20+Ci0tLQogZHJpdmVycy9i bG9jay94ZW4tYmxrYmFjay9ibGtiYWNrLmMgfCAxNCArKysrKysrKysrKysrLQogZHJpdmVycy94 ZW4vZ250ZGV2LmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy94ZW4vZ3JhbnQtdGFi bGUuYyAgICAgICAgICAgfCAyMCArKysrKysrKysrKysrKy0tLS0tLQogaW5jbHVkZS94ZW4vZ3Jh bnRfdGFibGUuaCAgICAgICAgICAgfCAxMSArKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCAz OCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxv Y2sveGVuLWJsa2JhY2svYmxrYmFjay5jIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay9ibGti YWNrLmMKaW5kZXggZDM2NmExN2E0YmQ4Li41MGNlNDBiYTM1ZTUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFjay5jCisrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJs a2JhY2svYmxrYmFjay5jCkBAIC04MDYsMTEgKzgwNiwxOCBAQCBzdGF0aWMgdm9pZCB4ZW5fYmxr YmtfdW5tYXAoc3RydWN0IHhlbl9ibGtpZl9yaW5nICpyaW5nLAogCX0KIH0KIAorc3RhdGljIHZv aWQgYmxrYmtfbWFwX2ZpeHVwKHVpbnQ2NF90IGhvc3RfYWRkciwgdm9pZCAqKmZpeHVwKQorewor CXN0cnVjdCBwYWdlICoqcGcgPSAoc3RydWN0IHBhZ2UgKiopZml4dXA7CisJKnBnID0gdmlydF90 b19wYWdlKGhvc3RfYWRkcik7Cit9CisKIHN0YXRpYyBpbnQgeGVuX2Jsa2JrX21hcChzdHJ1Y3Qg eGVuX2Jsa2lmX3JpbmcgKnJpbmcsCiAJCQkgc3RydWN0IGdyYW50X3BhZ2UgKnBhZ2VzW10sCiAJ CQkgaW50IG51bSwgYm9vbCBybykKIHsKIAlzdHJ1Y3QgZ250dGFiX21hcF9ncmFudF9yZWYgbWFw W0JMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVF07CisJc3RydWN0IHBhZ2UgKiptYXBfZml4 dXBbQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUXTsKIAlzdHJ1Y3QgcGFnZSAqcGFnZXNf dG9fZ250W0JMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVF07CiAJc3RydWN0IHBlcnNpc3Rl bnRfZ250ICpwZXJzaXN0ZW50X2dudCA9IE5VTEw7CiAJcGh5c19hZGRyX3QgYWRkciA9IDA7CkBA IC04NTgsNiArODY1LDkgQEAgc3RhdGljIGludCB4ZW5fYmxrYmtfbWFwKHN0cnVjdCB4ZW5fYmxr aWZfcmluZyAqcmluZywKIAkJCWdudHRhYl9zZXRfbWFwX29wKCZtYXBbc2Vnc190b19tYXArK10s IGFkZHIsCiAJCQkJCSAgZmxhZ3MsIHBhZ2VzW2ldLT5ncmVmLAogCQkJCQkgIGJsa2lmLT5kb21p ZCk7CisKKwkJCWlmIChnbnR0YWJfbWFwX2ZpeHVwKGRldi0+eGgpKQorCQkJCSAgbWFwX2ZpeHVw W2ldID0gJnBhZ2VzW2ldLT5wYWdlOwogCQl9CiAJCW1hcF91bnRpbCA9IGkgKyAxOwogCQlpZiAo c2Vnc190b19tYXAgPT0gQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUKQpAQCAtODY1LDcg Kzg3NSw5IEBAIHN0YXRpYyBpbnQgeGVuX2Jsa2JrX21hcChzdHJ1Y3QgeGVuX2Jsa2lmX3Jpbmcg KnJpbmcsCiAJfQogCiAJaWYgKHNlZ3NfdG9fbWFwKSB7Ci0JCXJldCA9IGdudHRhYl9tYXBfcmVm cyhkZXYtPnhoLCBtYXAsIE5VTEwsIHBhZ2VzX3RvX2dudCwgc2Vnc190b19tYXApOworCQlyZXQg PSBnbnR0YWJfbWFwX3JlZnMoZGV2LT54aCwgbWFwLCBOVUxMLCBwYWdlc190b19nbnQsCisJCQln bnR0YWJfbWFwX2ZpeHVwKGRldi0+eGgpID8gYmxrYmtfbWFwX2ZpeHVwIDogTlVMTCwKKwkJCQkJ KHZvaWQgKioqKSBtYXBfZml4dXAsIHNlZ3NfdG9fbWFwKTsKIAkJQlVHX09OKHJldCk7CiAJfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9nbnRkZXYuYyBiL2RyaXZlcnMveGVuL2dudGRldi5j CmluZGV4IDQwYTQyYWJlMmRkMC4uMzJjNjQ3MTgzNGJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hl bi9nbnRkZXYuYworKysgYi9kcml2ZXJzL3hlbi9nbnRkZXYuYwpAQCAtMzQyLDcgKzM0Miw3IEBA IGludCBnbnRkZXZfbWFwX2dyYW50X3BhZ2VzKHN0cnVjdCBnbnRkZXZfZ3JhbnRfbWFwICptYXAp CiAKIAlwcl9kZWJ1ZygibWFwICVkKyVkXG4iLCBtYXAtPmluZGV4LCBtYXAtPmNvdW50KTsKIAll cnIgPSBnbnR0YWJfbWFwX3JlZnMoeGgsIG1hcC0+bWFwX29wcywgdXNlX3B0ZW1vZCA/IG1hcC0+ a21hcF9vcHMgOiBOVUxMLAotCQkJbWFwLT5wYWdlcywgbWFwLT5jb3VudCk7CisJCQltYXAtPnBh Z2VzLCBOVUxMLCBOVUxMLCBtYXAtPmNvdW50KTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jIGIvZHJpdmVycy94ZW4vZ3Jh bnQtdGFibGUuYwppbmRleCA5NTliODFhZGUxMTMuLjJmM2EwYTRhMjY2MCAxMDA2NDQKLS0tIGEv ZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYworKysgYi9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5j CkBAIC0xMDg0LDcgKzEwODQsOCBAQCB2b2lkIGdudHRhYl9mb3JlYWNoX2dyYW50KHN0cnVjdCBw YWdlICoqcGFnZXMsCiAKIGludCBnbnR0YWJfbWFwX3JlZnMoeGVuaG9zdF90ICp4aCwgc3RydWN0 IGdudHRhYl9tYXBfZ3JhbnRfcmVmICptYXBfb3BzLAogCQkgICAgc3RydWN0IGdudHRhYl9tYXBf Z3JhbnRfcmVmICprbWFwX29wcywKLQkJICAgIHN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVk IGludCBjb3VudCkKKwkJICAgIHN0cnVjdCBwYWdlICoqcGFnZXMsIGdudHRhYl9tYXBfZml4dXBf dCBtYXBfZml4dXBfZm4sCisJCSAgICB2b2lkICoqbWFwX2ZpeHVwW10sIHVuc2lnbmVkIGludCBj b3VudCkKIHsKIAlpbnQgaSwgcmV0OwogCkBAIC0xMDk2LDEyICsxMDk3LDE5IEBAIGludCBnbnR0 YWJfbWFwX3JlZnMoeGVuaG9zdF90ICp4aCwgc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpt YXBfb3BzLAogCQlzd2l0Y2ggKG1hcF9vcHNbaV0uc3RhdHVzKSB7CiAJCWNhc2UgR05UU1Rfb2th eToKIAkJewotCQkJc3RydWN0IHhlbl9wYWdlX2ZvcmVpZ24gKmZvcmVpZ247CisJCQlpZiAoIWdu dHRhYl9tYXBfZml4dXAoeGgpKSB7CisJCQkJc3RydWN0IHhlbl9wYWdlX2ZvcmVpZ24gKmZvcmVp Z247CiAKLQkJCVNldFBhZ2VGb3JlaWduKHBhZ2VzW2ldKTsKLQkJCWZvcmVpZ24gPSB4ZW5fcGFn ZV9mb3JlaWduKHBhZ2VzW2ldKTsKLQkJCWZvcmVpZ24tPmRvbWlkID0gbWFwX29wc1tpXS5kb207 Ci0JCQlmb3JlaWduLT5ncmVmID0gbWFwX29wc1tpXS5yZWY7CisJCQkJU2V0UGFnZUZvcmVpZ24o cGFnZXNbaV0pOworCQkJCWZvcmVpZ24gPSB4ZW5fcGFnZV9mb3JlaWduKHBhZ2VzW2ldKTsKKwkJ CQlmb3JlaWduLT5kb21pZCA9IG1hcF9vcHNbaV0uZG9tOworCQkJCWZvcmVpZ24tPmdyZWYgPSBt YXBfb3BzW2ldLnJlZjsKKwkJCX0gZWxzZSB7CisJCQkJcGFnZXNbaV0gPSB2aXJ0X3RvX3BhZ2Uo bWFwX29wc1tpXS5ob3N0X2FkZHIpOworCisJCQkJaWYgKG1hcF9maXh1cF9mbikKKwkJCQkJbWFw X2ZpeHVwX2ZuKG1hcF9vcHNbaV0uaG9zdF9hZGRyLCBtYXBfZml4dXBbaV0pOworCQkJfQogCQkJ YnJlYWs7CiAJCX0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaCBiL2lu Y2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKaW5kZXggODI3Yjc5MDE5OWZiLi4xNGY3Y2M3MGNkMDEg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKKysrIGIvaW5jbHVkZS94ZW4v Z3JhbnRfdGFibGUuaApAQCAtMjE5LDkgKzIxOSwxOCBAQCBpbnQgZ250dGFiX2RtYV9mcmVlX3Bh Z2VzKHhlbmhvc3RfdCAqeGgsIHN0cnVjdCBnbnR0YWJfZG1hX2FsbG9jX2FyZ3MgKmFyZ3MpOwog aW50IGdudHRhYl9wYWdlc19zZXRfcHJpdmF0ZShpbnQgbnJfcGFnZXMsIHN0cnVjdCBwYWdlICoq cGFnZXMpOwogdm9pZCBnbnR0YWJfcGFnZXNfY2xlYXJfcHJpdmF0ZShpbnQgbnJfcGFnZXMsIHN0 cnVjdCBwYWdlICoqcGFnZXMpOwogCitzdGF0aWMgaW5saW5lIGJvb2wKK2dudHRhYl9tYXBfZml4 dXAoeGVuaG9zdF90ICp4aCkKK3sKKwlyZXR1cm4geGgtPnR5cGUgPT0geGVuaG9zdF9yMDsKK30K KwordHlwZWRlZiB2b2lkICgqZ250dGFiX21hcF9maXh1cF90KSh1aW50NjRfdCBob3N0X2FkZHIs IHZvaWQgKiptYXBfZml4dXApOworCiBpbnQgZ250dGFiX21hcF9yZWZzKHhlbmhvc3RfdCAqeGgs IHN0cnVjdCBnbnR0YWJfbWFwX2dyYW50X3JlZiAqbWFwX29wcywKIAkJICAgIHN0cnVjdCBnbnR0 YWJfbWFwX2dyYW50X3JlZiAqa21hcF9vcHMsCi0JCSAgICBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCB1 bnNpZ25lZCBpbnQgY291bnQpOworCQkgICAgc3RydWN0IHBhZ2UgKipwYWdlcywgZ250dGFiX21h cF9maXh1cF90IG1hcF9maXh1cF9mbiwKKwkJICAgIHZvaWQgKiptYXBfZml4dXBbXSwgdW5zaWdu ZWQgaW50IGNvdW50KTsKIGludCBnbnR0YWJfdW5tYXBfcmVmcyh4ZW5ob3N0X3QgKnhoLCBzdHJ1 Y3QgZ250dGFiX3VubWFwX2dyYW50X3JlZiAqdW5tYXBfb3BzLAogCQkgICAgICBzdHJ1Y3QgZ250 dGFiX3VubWFwX2dyYW50X3JlZiAqa3VubWFwX29wcywKIAkJICAgICAgc3RydWN0IHBhZ2UgKipw YWdlcywgdW5zaWduZWQgaW50IGNvdW50KTsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=