From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 REPOST 05/12] tools/libxenctrl: use new xenforeignmemory API to seed grant table Date: Tue, 22 Aug 2017 15:50:59 +0100 Message-ID: <20170822145107.6877-6-paul.durrant@citrix.com> References: <20170822145107.6877-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkAX1-0002Ob-FT for xen-devel@lists.xenproject.org; Tue, 22 Aug 2017 14:51:51 +0000 In-Reply-To: <20170822145107.6877-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Wei Liu , Paul Durrant , Ian Jackson List-Id: xen-devel@lists.xenproject.org QSBwcmV2aW91cyBwYXRjaCBhZGRlZCBzdXBwb3J0IGZvciBwcml2LW1hcHBpbmcgZ3Vlc3QgcmVz b3VyY2VzIGRpcmVjdGx5CihyYXRoZXIgdGhhbiBoYXZpbmcgdG8gZm9yZWlnbi1tYXAsIHdoaWNo IHJlcXVpcmVzIFAyTSBtb2RpZmljYXRpb24gZm9yCkhWTSBndWVzdHMpLgoKVGhpcyBwYXRjaCBt YWtlcyB1c2Ugb2YgdGhlIG5ldyBBUEkgdG8gc2VlZCB0aGUgZ3Vlc3QgZ3JhbnQgdGFibGUgdW5s ZXNzCnRoZSB1bmRlcmx5aW5nIGluZnJhc3RydWN0dXJlIChpLmUuIHByaXZjbWQpIGRvZXNuJ3Qg c3VwcG9ydCBpdCwgaW4gd2hpY2gKY2FzZSB0aGUgb2xkIHNjaGVtZSBpcyB1c2VkLgoKTk9URTog VGhlIGNhbGwgdG8geGNfZG9tX2dudHRhYl9odm1fc2VlZCgpIGluIGh2bV9idWlsZF9zZXRfcGFy YW1zKCkgd2FzCiAgICAgIGFjdHVhbGx5IHVubmVjZXNzYXJ5LCBhcyB0aGUgZ3JhbnQgdGFibGUg aGFzIGFscmVhZHkgYmVlbiBzZWVkZWQKICAgICAgYnkgYSBwcmlvciBjYWxsIHRvIHhjX2RvbV9n bnR0YWJfaW5pdCgpIG1hZGUgYnkgbGlieGxfX2J1aWxkX2RvbSgpLgoKU2lnbmVkLW9mZi1ieTog UGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KQWNrZWQtYnk6IE1hcmVrIE1h cmN6eWtvd3NraS1Hw7NyZWNraSA8bWFybWFyZWtAaW52aXNpYmxldGhpbmdzbGFiLmNvbT4KLS0t CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCAg ICAgICAgfCAgIDggKy0tCiB0b29scy9saWJ4Yy94Y19kb21fYm9vdC5jICAgICAgICAgICB8IDEw MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIHRvb2xzL2xpYnhjL3hjX3Ny X3Jlc3RvcmVfeDg2X2h2bS5jIHwgIDEwICsrLS0KIHRvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmVf eDg2X3B2LmMgIHwgICAyICstCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAgICAgICAgICB8 ICAgMSAtCiB0b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMgICB8ICAgNiArLS0KIDYg ZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUv eGNfZG9tLmgKaW5kZXggY2U0NzA1OGM0MS4uZDZjYTBhODY4MCAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGMvaW5jbHVkZS94Y19kb20uaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5o CkBAIC0zMjMsMTIgKzMyMyw4IEBAIHZvaWQgKnhjX2RvbV9ib290X2RvbVVfbWFwKHN0cnVjdCB4 Y19kb21faW1hZ2UgKmRvbSwgeGVuX3Bmbl90IHBmbiwKIGludCB4Y19kb21fYm9vdF9pbWFnZShz dHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pOwogaW50IHhjX2RvbV9jb21wYXRfY2hlY2soc3RydWN0 IHhjX2RvbV9pbWFnZSAqZG9tKTsKIGludCB4Y19kb21fZ250dGFiX2luaXQoc3RydWN0IHhjX2Rv bV9pbWFnZSAqZG9tKTsKLWludCB4Y19kb21fZ250dGFiX2h2bV9zZWVkKHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90 IGNvbnNvbGVfZ21mbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCB4ZW5z dG9yZV9nbWZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2Rv bWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCk7 Ci1pbnQgeGNfZG9tX2dudHRhYl9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlk LAoraW50IHhjX2RvbV9nbnR0YWJfc2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBndWVz dF9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19odm0sCiAgICAgICAgICAg ICAgICAgICAgICAgIHhlbl9wZm5fdCBjb25zb2xlX2dtZm4sCiAgICAgICAgICAgICAgICAgICAg ICAgIHhlbl9wZm5fdCB4ZW5zdG9yZV9nbWZuLAogICAgICAgICAgICAgICAgICAgICAgICBkb21p ZF90IGNvbnNvbGVfZG9taWQsCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21fYm9vdC5j IGIvdG9vbHMvbGlieGMveGNfZG9tX2Jvb3QuYwppbmRleCBjM2I0NGRkMzk5Li5mYzMxNzRhZDdl IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19kb21fYm9vdC5jCisrKyBiL3Rvb2xzL2xpYnhj L3hjX2RvbV9ib290LmMKQEAgLTI4MCwxMSArMjgwLDExIEBAIHN0YXRpYyB4ZW5fcGZuX3QgeGNf ZG9tX2dudHRhYl9zZXR1cCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCkKICAgICBy ZXR1cm4gZ21mbjsKIH0KIAotaW50IHhjX2RvbV9nbnR0YWJfc2VlZCh4Y19pbnRlcmZhY2UgKnhj aCwgZG9taWRfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGNvbnNv bGVfZ21mbiwKLSAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHhlbnN0b3JlX2dtZm4s Ci0gICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY29uc29sZV9kb21pZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCkKK3N0YXRpYyBpbnQgY29tcGF0 X2dudHRhYl9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGNvbnNvbGVfZ21mbiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCB4ZW5zdG9yZV9nbWZuLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCkKIHsKIAogICAgIHhlbl9wZm5f dCBnbnR0YWJfZ21mbjsKQEAgLTMzNywxMSArMzM3LDExIEBAIGludCB4Y19kb21fZ250dGFiX3Nl ZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCiAgICAgcmV0dXJuIDA7CiB9CiAK LWludCB4Y19kb21fZ250dGFiX2h2bV9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRv bWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGNvbnNvbGVfZ3BmbiwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCB4ZW5zdG9yZV9ncGZuLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCkKK3N0YXRpYyBpbnQgY29t cGF0X2dudHRhYl9odm1fc2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgY29uc29sZV9ncGZuLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCB4ZW5zdG9yZV9ncGZu LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY29uc29sZV9kb21p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IHhlbnN0b3JlX2Rv bWlkKQogewogICAgIGludCByYzsKICAgICB4ZW5fcGZuX3Qgc2NyYXRjaF9ncGZuOwpAQCAtMzgw LDcgKzM4MCw3IEBAIGludCB4Y19kb21fZ250dGFiX2h2bV9zZWVkKHhjX2ludGVyZmFjZSAqeGNo LCBkb21pZF90IGRvbWlkLAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgcmMgPSB4 Y19kb21fZ250dGFiX3NlZWQoeGNoLCBkb21pZCwKKyAgICByYyA9IGNvbXBhdF9nbnR0YWJfc2Vl ZCh4Y2gsIGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVfZ3Bmbiwg eGVuc3RvcmVfZ3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlX2RvbWlk LCB4ZW5zdG9yZV9kb21pZCk7CiAgICAgaWYgKHJjICE9IDApCkBAIC00MDUsMTggKzQwNSw3OCBA QCBpbnQgeGNfZG9tX2dudHRhYl9odm1fc2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBk b21pZCwKICAgICByZXR1cm4gMDsKIH0KIAotaW50IHhjX2RvbV9nbnR0YWJfaW5pdChzdHJ1Y3Qg eGNfZG9tX2ltYWdlICpkb20pCitpbnQgeGNfZG9tX2dudHRhYl9zZWVkKHhjX2ludGVyZmFjZSAq eGNoLCBkb21pZF90IGd1ZXN0X2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICBib29sIGlz X2h2bSwgeGVuX3Bmbl90IGNvbnNvbGVfZ21mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgeGVu X3Bmbl90IHhlbnN0b3JlX2dtZm4sIGRvbWlkX3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCkKIHsKLSAgICBpZiAoIHhjX2RvbV90 cmFuc2xhdGVkKGRvbSkgKSB7Ci0gICAgICAgIHJldHVybiB4Y19kb21fZ250dGFiX2h2bV9zZWVk KGRvbS0+eGNoLCBkb20tPmd1ZXN0X2RvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkb20tPmNvbnNvbGVfcGZuLCBkb20tPnhlbnN0b3JlX3BmbiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLT5jb25zb2xlX2RvbWlkLCBkb20tPnhl bnN0b3JlX2RvbWlkKTsKLSAgICB9IGVsc2UgewotICAgICAgICByZXR1cm4geGNfZG9tX2dudHRh Yl9zZWVkKGRvbS0+eGNoLCBkb20tPmd1ZXN0X2RvbWlkLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHhjX2RvbV9wMm0oZG9tLCBkb20tPmNvbnNvbGVfcGZuKSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21fcDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9w Zm4pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Y29uc29sZV9kb21p ZCwgZG9tLT54ZW5zdG9yZV9kb21pZCk7CisgICAgeGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUqIGZt ZW0gPSB4Y2gtPmZtZW07CisgICAgeGVuZm9yZWlnbm1lbW9yeV9yZXNvdXJjZV9oYW5kbGUgKmZy ZXM7CisgICAgdm9pZCAqYWRkciA9IE5VTEw7CisgICAgZ3JhbnRfZW50cnlfdjFfdCAqZ250dGFi OworCisgICAgZnJlcyA9IHhlbmZvcmVpZ25tZW1vcnlfbWFwX3Jlc291cmNlKGZtZW0sIGd1ZXN0 X2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5NRU1f cmVzb3VyY2VfZ3JhbnRfdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDAsIDAsIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZhZGRyLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCAwKTsKKyAgICBpZiAoICFmcmVzICkKKyAg ICB7CisgICAgICAgIGlmICggZXJybm8gPT0gRU9QTk9UU1VQUCApCisgICAgICAgICAgICByZXR1 cm4gaXNfaHZtID8KKyAgICAgICAgICAgICAgICBjb21wYXRfZ250dGFiX2h2bV9zZWVkKHhjaCwg Z3Vlc3RfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z b2xlX2dtZm4sIHhlbnN0b3JlX2dtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zb2xlX2RvbWlkLCB4ZW5zdG9yZV9kb21pZCkgOgorICAgICAgICAgICAgICAg IGNvbXBhdF9nbnR0YWJfc2VlZCh4Y2gsIGd1ZXN0X2RvbWlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zb2xlX2dtZm4sIHhlbnN0b3JlX2dtZm4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVfZG9taWQsIHhlbnN0b3JlX2RvbWlkKTsK KworICAgICAgICB4Y19kb21fcGFuaWMoeGNoLCBYQ19JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAg ICAgICAgICAgICAgICIlczogZmFpbGVkIHRvIGFjcXVpcmUgZ3JhbnQgdGFibGUgIgorICAgICAg ICAgICAgICAgICAgICAgIltlcnJubz0lZF1cbiIsCisgICAgICAgICAgICAgICAgICAgICBfX0ZV TkNUSU9OX18sIGVycm5vKTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KKworICAgIGdudHRh YiA9IGFkZHI7CisKKyAgICBpZiAoIGd1ZXN0X2RvbWlkICE9IGNvbnNvbGVfZG9taWQgICYmIGNv bnNvbGVfZ21mbiAhPSAtMSkKKyAgICB7CisgICAgICAgIHhjX2RvbV9wcmludGYoeGNoLCAiJXM6 IHNldHRpbmcgY29uc29sZSBwZm49MHglIlBSSV94ZW5fcGZuLAorICAgICAgICAgICAgICAgICAg ICAgIF9fRlVOQ1RJT05fXywgY29uc29sZV9nbWZuKTsKKworICAgICAgICBnbnR0YWJbR05UVEFC X1JFU0VSVkVEX0NPTlNPTEVdLmZsYWdzID0gR1RGX3Blcm1pdF9hY2Nlc3M7CisgICAgICAgIGdu dHRhYltHTlRUQUJfUkVTRVJWRURfQ09OU09MRV0uZG9taWQgPSBjb25zb2xlX2RvbWlkOworICAg ICAgICBnbnR0YWJbR05UVEFCX1JFU0VSVkVEX0NPTlNPTEVdLmZyYW1lID0gY29uc29sZV9nbWZu OworICAgIH0KKworICAgIGlmICggZ3Vlc3RfZG9taWQgIT0geGVuc3RvcmVfZG9taWQgJiYgeGVu c3RvcmVfZ21mbiAhPSAtMSkKKyAgICB7CisgICAgICAgIHhjX2RvbV9wcmludGYoeGNoLCAiJXM6 IHNldHRpbmcgeGVuc3RvcmUgcGZuPTB4JSJQUklfeGVuX3BmbiwKKyAgICAgICAgICAgICAgICAg ICAgICBfX0ZVTkNUSU9OX18sIHhlbnN0b3JlX2dtZm4pOworCisgICAgICAgIGdudHRhYltHTlRU QUJfUkVTRVJWRURfWEVOU1RPUkVdLmZsYWdzID0gR1RGX3Blcm1pdF9hY2Nlc3M7CisgICAgICAg IGdudHRhYltHTlRUQUJfUkVTRVJWRURfWEVOU1RPUkVdLmRvbWlkID0geGVuc3RvcmVfZG9taWQ7 CisgICAgICAgIGdudHRhYltHTlRUQUJfUkVTRVJWRURfWEVOU1RPUkVdLmZyYW1lID0geGVuc3Rv cmVfZ21mbjsKKyAgICB9CisKKyAgICB4ZW5mb3JlaWdubWVtb3J5X3VubWFwX3Jlc291cmNlKGZt ZW0sIGZyZXMpOworCisgICAgcmV0dXJuIDA7Cit9CisKK2ludCB4Y19kb21fZ250dGFiX2luaXQo c3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQoreworICAgIHhjX2ludGVyZmFjZSAqeGNoID0gZG9t LT54Y2g7CisgICAgZG9taWRfdCBndWVzdF9kb21pZCA9IGRvbS0+Z3Vlc3RfZG9taWQ7CisgICAg Ym9vbCBpc19odm0gPSB4Y19kb21fdHJhbnNsYXRlZChkb20pOworICAgIHhlbl9wZm5fdCBjb25z b2xlX2dtZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CisgICAgeGVuX3Bm bl90IHhlbnN0b3JlX2dtZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOwor ICAgIGRvbWlkX3QgY29uc29sZV9kb21pZCA9IGRvbS0+Y29uc29sZV9kb21pZDsKKyAgICBkb21p ZF90IHhlbnN0b3JlX2RvbWlkID0gZG9tLT54ZW5zdG9yZV9kb21pZDsKKworICAgIHJldHVybiB4 Y19kb21fZ250dGFiX3NlZWQoeGNoLCBndWVzdF9kb21pZCwgaXNfaHZtLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc29sZV9nbWZuLCB4ZW5zdG9yZV9nbWZuLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc29sZV9kb21pZCwgeGVuc3RvcmVfZG9taWQpOwogfQog CiAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfaHZtLmMgYi90 b29scy9saWJ4Yy94Y19zcl9yZXN0b3JlX3g4Nl9odm0uYwppbmRleCAxZGNhODUzNTRhLi5hNWM2 NjFkYThmIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9yZXN0b3JlX3g4Nl9odm0uYwor KysgYi90b29scy9saWJ4Yy94Y19zcl9yZXN0b3JlX3g4Nl9odm0uYwpAQCAtMjA3LDExICsyMDcs MTEgQEAgc3RhdGljIGludCB4ODZfaHZtX3N0cmVhbV9jb21wbGV0ZShzdHJ1Y3QgeGNfc3JfY29u dGV4dCAqY3R4KQogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogCi0gICAgcmMgPSB4Y19kb21f Z250dGFiX2h2bV9zZWVkKHhjaCwgY3R4LT5kb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3R4LT5yZXN0b3JlLmNvbnNvbGVfZ2ZuLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjdHgtPnJlc3RvcmUueGVuc3RvcmVfZ2ZuLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjdHgtPnJlc3RvcmUuY29uc29sZV9kb21pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3R4LT5yZXN0b3JlLnhlbnN0b3JlX2RvbWlkKTsKKyAgICByYyA9 IHhjX2RvbV9nbnR0YWJfc2VlZCh4Y2gsIGN0eC0+ZG9taWQsIHRydWUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3R4LT5yZXN0b3JlLmNvbnNvbGVfZ2ZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN0eC0+cmVzdG9yZS54ZW5zdG9yZV9nZm4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3R4LT5yZXN0b3JlLmNvbnNvbGVfZG9taWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3R4LT5yZXN0b3JlLnhlbnN0b3JlX2RvbWlkKTsKICAgICBpZiAoIHJjICkK ICAgICB7CiAgICAgICAgIFBFUlJPUigiRmFpbGVkIHRvIHNlZWQgZ3JhbnQgdGFibGUiKTsKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmVfeDg2X3B2LmMgYi90b29scy9saWJ4 Yy94Y19zcl9yZXN0b3JlX3g4Nl9wdi5jCmluZGV4IDUwZTI1YzE2MmMuLjEwNjM1ZDQzNmIgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmVfeDg2X3B2LmMKKysrIGIvdG9vbHMv bGlieGMveGNfc3JfcmVzdG9yZV94ODZfcHYuYwpAQCAtMTEwNCw3ICsxMTA0LDcgQEAgc3RhdGlj IGludCB4ODZfcHZfc3RyZWFtX2NvbXBsZXRlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgpCiAg ICAgaWYgKCByYyApCiAgICAgICAgIHJldHVybiByYzsKIAotICAgIHJjID0geGNfZG9tX2dudHRh Yl9zZWVkKHhjaCwgY3R4LT5kb21pZCwKKyAgICByYyA9IHhjX2RvbV9nbnR0YWJfc2VlZCh4Y2gs IGN0eC0+ZG9taWQsIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+cmVz dG9yZS5jb25zb2xlX2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnJlc3Rv cmUueGVuc3RvcmVfZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+cmVzdG9y ZS5jb25zb2xlX2RvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90 b29scy9saWJ4bC9saWJ4bF9kb20uYwppbmRleCBmNTRmZDQ5YTczLi4wZDNlNDYyYzEyIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9k b20uYwpAQCAtODUxLDcgKzg1MSw2IEBAIHN0YXRpYyBpbnQgaHZtX2J1aWxkX3NldF9wYXJhbXMo eGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgICpzdG9yZV9tZm4gPSBz dHJfbWZuOwogICAgICpjb25zb2xlX21mbiA9IGNvbnNfbWZuOwogCi0gICAgeGNfZG9tX2dudHRh Yl9odm1fc2VlZChoYW5kbGUsIGRvbWlkLCAqY29uc29sZV9tZm4sICpzdG9yZV9tZm4sIGNvbnNv bGVfZG9taWQsIHN0b3JlX2RvbWlkKTsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEv dG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jIGIvdG9vbHMvcHl0aG9uL3hlbi9sb3ds ZXZlbC94Yy94Yy5jCmluZGV4IGFhOWY4ZTRkOWUuLjU4M2FiNTJhNmYgMTAwNjQ0Ci0tLSBhL3Rv b2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYworKysgYi90b29scy9weXRob24veGVuL2xv d2xldmVsL3hjL3hjLmMKQEAgLTgwMCw5ICs4MDAsOSBAQCBzdGF0aWMgUHlPYmplY3QgKnB5eGNf Z250dGFiX2h2bV9zZWVkKFhjT2JqZWN0ICpzZWxmLAogCQkJCSAgICAgICZjb25zb2xlX2RvbWlk LCAmeGVuc3RvcmVfZG9taWQpICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoIHhj X2RvbV9nbnR0YWJfaHZtX3NlZWQoc2VsZi0+eGNfaGFuZGxlLCBkb20sCi0JCQkJY29uc29sZV9n bWZuLCB4ZW5zdG9yZV9nbWZuLAotCQkJCWNvbnNvbGVfZG9taWQsIHhlbnN0b3JlX2RvbWlkKSAh PSAwICkKKyAgICBpZiAoIHhjX2RvbV9nbnR0YWJfc2VlZChzZWxmLT54Y19oYW5kbGUsIGRvbSwg dHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlX2dtZm4sIHhlbnN0b3Jl X2dtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZV9kb21pZCwgeGVuc3Rv cmVfZG9taWQpICE9IDAgKQogICAgICAgICByZXR1cm4gcHl4Y19lcnJvcl90b19leGNlcHRpb24o c2VsZi0+eGNfaGFuZGxlKTsKIAogICAgIHJldHVybiBQeV9Ob25lOwotLSAKMi4xMS4wCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==