From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kuehling, Felix" Subject: [PATCH 1/1] drm/amdgpu: Prepare for hmm_range_register API change Date: Fri, 5 Jul 2019 19:50:26 +0000 Message-ID: <20190705195010.7569-1-Felix.Kuehling@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Yang, Philip" , "Kuehling, Felix" RnJvbTogUGhpbGlwIFlhbmcgPFBoaWxpcC5ZYW5nQGFtZC5jb20+CgpBbiB1cGNvbWluZyBjaGFu Z2UgaW4gdGhlIGhtbV9yYW5nZV9yZWdpc3RlciBBUEkgcmVxdWlyZXMgcGFzc2luZyBpbgphIHBv aW50ZXIgdG8gYW4gaG1tX21pcnJvciBpbnN0ZWFkIG9mIG1tX3N0cnVjdC4gVG8gYWNjZXNzIHRo ZQpobW1fbWlycm9yIHdlIG5lZWQgcGFzcyBibyBpbnN0ZWFkIG9mIHR0bSB0byBhbWRncHVfdHRt X3R0X2dldF91c2VyX3BhZ2VzCmJlY2F1c2UgbWlycm9yIGlzIHBhcnQgb2YgYW1kZ3B1X21uIHN0 cnVjdHVyZSwgd2hpY2ggaXMgYWNjZXNzaWJsZSBmcm9tIGJvLgoKU2lnbmVkLW9mZi1ieTogUGhp bGlwIFlhbmcgPFBoaWxpcC5ZYW5nQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IEZlbGl4IEt1ZWhs aW5nIDxGZWxpeC5LdWVobGluZ0BhbWQuY29tPgotLS0KIC4uLi9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2FtZGtmZF9ncHV2bS5jICB8ICA1ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2NzLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9nZW0uYyAgICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfbW4uYyAgICAgICAgfCAzNyAtLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfbW4uaCAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrLS0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICAgICAgfCAxMCArKysrLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5oICAgICAgIHwgIDUgKystCiA3 IGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYwppbmRleCA1 OGNlY2ZlNTdmOGIuLmY1ZWNmMjhlYjM3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYwpAQCAtNTAzLDcgKzUwMyw3IEBAIHN0YXRpYyBp bnQgaW5pdF91c2VyX3BhZ2VzKHN0cnVjdCBrZ2RfbWVtICptZW0sIHN0cnVjdCBtbV9zdHJ1Y3Qg Km1tLAogCQlnb3RvIG91dDsKIAl9CiAKLQlyZXQgPSBhbWRncHVfdHRtX3R0X2dldF91c2VyX3Bh Z2VzKGJvLT50Ym8udHRtLCBiby0+dGJvLnR0bS0+cGFnZXMpOworCXJldCA9IGFtZGdwdV90dG1f dHRfZ2V0X3VzZXJfcGFnZXMoYm8sIGJvLT50Ym8udHRtLT5wYWdlcyk7CiAJaWYgKHJldCkgewog CQlwcl9lcnIoIiVzOiBGYWlsZWQgdG8gZ2V0IHVzZXIgcGFnZXM6ICVkXG4iLCBfX2Z1bmNfXywg cmV0KTsKIAkJZ290byB1bnJlZ2lzdGVyX291dDsKQEAgLTE3MjgsOCArMTcyOCw3IEBAIHN0YXRp YyBpbnQgdXBkYXRlX2ludmFsaWRfdXNlcl9wYWdlcyhzdHJ1Y3QgYW1ka2ZkX3Byb2Nlc3NfaW5m byAqcHJvY2Vzc19pbmZvLAogCQlibyA9IG1lbS0+Ym87CiAKIAkJLyogR2V0IHVwZGF0ZWQgdXNl ciBwYWdlcyAqLwotCQlyZXQgPSBhbWRncHVfdHRtX3R0X2dldF91c2VyX3BhZ2VzKGJvLT50Ym8u dHRtLAotCQkJCQkJICAgYm8tPnRiby50dG0tPnBhZ2VzKTsKKwkJcmV0ID0gYW1kZ3B1X3R0bV90 dF9nZXRfdXNlcl9wYWdlcyhibywgYm8tPnRiby50dG0tPnBhZ2VzKTsKIAkJaWYgKHJldCkgewog CQkJcHJfZGVidWcoIiVzOiBGYWlsZWQgdG8gZ2V0IHVzZXIgcGFnZXM6ICVkXG4iLAogCQkJCV9f ZnVuY19fLCByZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRleCBj MjVlMWViYzc2YzMuLmM2OTFkZjZmN2E1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2NzLmMKQEAgLTYzMSw3ICs2MzEsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19wYXJzZXJf Ym9zKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0K IAotCQlyID0gYW1kZ3B1X3R0bV90dF9nZXRfdXNlcl9wYWdlcyhiby0+dGJvLnR0bSwgZS0+dXNl cl9wYWdlcyk7CisJCXIgPSBhbWRncHVfdHRtX3R0X2dldF91c2VyX3BhZ2VzKGJvLCBlLT51c2Vy X3BhZ2VzKTsKIAkJaWYgKHIpIHsKIAkJCWt2ZnJlZShlLT51c2VyX3BhZ2VzKTsKIAkJCWUtPnVz ZXJfcGFnZXMgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jCmlu ZGV4IGVkMjVhNGUxNDQwNC4uMmNlYWQ1YTI0MmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2dlbS5jCkBAIC0zMjMsOCArMzIzLDcgQEAgaW50IGFtZGdwdV9nZW1fdXNlcnB0 cl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCX0KIAogCWlmIChh cmdzLT5mbGFncyAmIEFNREdQVV9HRU1fVVNFUlBUUl9WQUxJREFURSkgewotCQlyID0gYW1kZ3B1 X3R0bV90dF9nZXRfdXNlcl9wYWdlcyhiby0+dGJvLnR0bSwKLQkJCQkJCSBiby0+dGJvLnR0bS0+ cGFnZXMpOworCQlyID0gYW1kZ3B1X3R0bV90dF9nZXRfdXNlcl9wYWdlcyhibywgYm8tPnRiby50 dG0tPnBhZ2VzKTsKIAkJaWYgKHIpCiAJCQlnb3RvIHJlbGVhc2Vfb2JqZWN0OwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9tbi5jCmluZGV4IGUwYmI0N2NlNTcwYi4uMzk3MWMyMDFm MzIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYwpAQCAtNDUsNDggKzQ1 LDExIEBACiAKICNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogI2luY2x1ZGUgPGxpbnV4L21v ZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2htbS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVydmFs X3RyZWUuaD4KLSNpbmNsdWRlIDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9kcm0uaD4KIAog I2luY2x1ZGUgImFtZGdwdS5oIgogI2luY2x1ZGUgImFtZGdwdV9hbWRrZmQuaCIKIAotLyoqCi0g KiBzdHJ1Y3QgYW1kZ3B1X21uCi0gKgotICogQGFkZXY6IGFtZGdwdSBkZXZpY2UgcG9pbnRlcgot ICogQG1tOiBwcm9jZXNzIGFkZHJlc3Mgc3BhY2UKLSAqIEB0eXBlOiB0eXBlIG9mIE1NVSBub3Rp ZmllcgotICogQHdvcms6IGRlc3RydWN0aW9uIHdvcmsgaXRlbQotICogQG5vZGU6IGhhc2ggdGFi bGUgbm9kZSB0byBmaW5kIHN0cnVjdHVyZSBieSBhZGV2IGFuZCBtbgotICogQGxvY2s6IHJ3IHNl bWFwaG9yZSBwcm90ZWN0aW5nIHRoZSBub3RpZmllciBub2RlcwotICogQG9iamVjdHM6IGludGVy dmFsIHRyZWUgY29udGFpbmluZyBhbWRncHVfbW5fbm9kZXMKLSAqIEBtaXJyb3I6IEhNTSBtaXJy b3IgZnVuY3Rpb24gc3VwcG9ydAotICoKLSAqIERhdGEgZm9yIGVhY2ggYW1kZ3B1IGRldmljZSBh bmQgcHJvY2VzcyBhZGRyZXNzIHNwYWNlLgotICovCi1zdHJ1Y3QgYW1kZ3B1X21uIHsKLQkvKiBj b25zdGFudCBhZnRlciBpbml0aWFsaXNhdGlvbiAqLwotCXN0cnVjdCBhbWRncHVfZGV2aWNlCSph ZGV2OwotCXN0cnVjdCBtbV9zdHJ1Y3QJKm1tOwotCWVudW0gYW1kZ3B1X21uX3R5cGUJdHlwZTsK LQotCS8qIG9ubHkgdXNlZCBvbiBkZXN0cnVjdGlvbiAqLwotCXN0cnVjdCB3b3JrX3N0cnVjdAl3 b3JrOwotCi0JLyogcHJvdGVjdGVkIGJ5IGFkZXYtPm1uX2xvY2sgKi8KLQlzdHJ1Y3QgaGxpc3Rf bm9kZQlub2RlOwotCi0JLyogb2JqZWN0cyBwcm90ZWN0ZWQgYnkgbG9jayAqLwotCXN0cnVjdCBy d19zZW1hcGhvcmUJbG9jazsKLQlzdHJ1Y3QgcmJfcm9vdF9jYWNoZWQJb2JqZWN0czsKLQotCS8q IEhNTSBtaXJyb3IgKi8KLQlzdHJ1Y3QgaG1tX21pcnJvcgltaXJyb3I7Ci19OwotCiAvKioKICAq IHN0cnVjdCBhbWRncHVfbW5fbm9kZQogICoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9tbi5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X21uLmgKaW5kZXggZjViNjdjNjNlZDZiLi4yODFmZDlmZWY2NjIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9tbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9tbi5oCkBAIC0yNCwxNyArMjQsNTEgQEAKICNpZm5kZWYgX19BTURH UFVfTU5fSF9fCiAjZGVmaW5lIF9fQU1ER1BVX01OX0hfXwogCi0vKgotICogSE1NIG1pcnJvcgot ICovCi1zdHJ1Y3QgYW1kZ3B1X21uOwotc3RydWN0IGhtbV9yYW5nZTsKKyNpbmNsdWRlIDxsaW51 eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2htbS5oPgorI2luY2x1ZGUgPGxpbnV4L3J3c2Vt Lmg+CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJ2 YWxfdHJlZS5oPgogCiBlbnVtIGFtZGdwdV9tbl90eXBlIHsKIAlBTURHUFVfTU5fVFlQRV9HRlgs CiAJQU1ER1BVX01OX1RZUEVfSFNBLAogfTsKIAorLyoqCisgKiBzdHJ1Y3QgYW1kZ3B1X21uCisg KgorICogQGFkZXY6IGFtZGdwdSBkZXZpY2UgcG9pbnRlcgorICogQG1tOiBwcm9jZXNzIGFkZHJl c3Mgc3BhY2UKKyAqIEB0eXBlOiB0eXBlIG9mIE1NVSBub3RpZmllcgorICogQHdvcms6IGRlc3Ry dWN0aW9uIHdvcmsgaXRlbQorICogQG5vZGU6IGhhc2ggdGFibGUgbm9kZSB0byBmaW5kIHN0cnVj dHVyZSBieSBhZGV2IGFuZCBtbgorICogQGxvY2s6IHJ3IHNlbWFwaG9yZSBwcm90ZWN0aW5nIHRo ZSBub3RpZmllciBub2RlcworICogQG9iamVjdHM6IGludGVydmFsIHRyZWUgY29udGFpbmluZyBh bWRncHVfbW5fbm9kZXMKKyAqIEBtaXJyb3I6IEhNTSBtaXJyb3IgZnVuY3Rpb24gc3VwcG9ydAor ICoKKyAqIERhdGEgZm9yIGVhY2ggYW1kZ3B1IGRldmljZSBhbmQgcHJvY2VzcyBhZGRyZXNzIHNw YWNlLgorICovCitzdHJ1Y3QgYW1kZ3B1X21uIHsKKwkvKiBjb25zdGFudCBhZnRlciBpbml0aWFs aXNhdGlvbiAqLworCXN0cnVjdCBhbWRncHVfZGV2aWNlCSphZGV2OworCXN0cnVjdCBtbV9zdHJ1 Y3QJKm1tOworCWVudW0gYW1kZ3B1X21uX3R5cGUJdHlwZTsKKworCS8qIG9ubHkgdXNlZCBvbiBk ZXN0cnVjdGlvbiAqLworCXN0cnVjdCB3b3JrX3N0cnVjdAl3b3JrOworCisJLyogcHJvdGVjdGVk IGJ5IGFkZXYtPm1uX2xvY2sgKi8KKwlzdHJ1Y3QgaGxpc3Rfbm9kZQlub2RlOworCisJLyogb2Jq ZWN0cyBwcm90ZWN0ZWQgYnkgbG9jayAqLworCXN0cnVjdCByd19zZW1hcGhvcmUJbG9jazsKKwlz dHJ1Y3QgcmJfcm9vdF9jYWNoZWQJb2JqZWN0czsKKworCS8qIEhNTSBtaXJyb3IgKi8KKwlzdHJ1 Y3QgaG1tX21pcnJvcgltaXJyb3I7Cit9OworCiAjaWYgZGVmaW5lZChDT05GSUdfSE1NX01JUlJP UikKIHZvaWQgYW1kZ3B1X21uX2xvY2soc3RydWN0IGFtZGdwdV9tbiAqbW4pOwogdm9pZCBhbWRn cHVfbW5fdW5sb2NrKHN0cnVjdCBhbWRncHVfbW4gKm1uKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV90dG0uYwppbmRleCA4MjI1ZDZlMDVhNTUuLjVkODU2MTc4ODZiMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwpAQCAtNzI2LDggKzcyNiwxMCBAQCBz dHJ1Y3QgYW1kZ3B1X3R0bV90dCB7CiAKICNkZWZpbmUgTUFYX1JFVFJZX0hNTV9SQU5HRV9GQVVM VAkxNgogCi1pbnQgYW1kZ3B1X3R0bV90dF9nZXRfdXNlcl9wYWdlcyhzdHJ1Y3QgdHRtX3R0ICp0 dG0sIHN0cnVjdCBwYWdlICoqcGFnZXMpCitpbnQgYW1kZ3B1X3R0bV90dF9nZXRfdXNlcl9wYWdl cyhzdHJ1Y3QgYW1kZ3B1X2JvICpibywgc3RydWN0IHBhZ2UgKipwYWdlcykKIHsKKwlzdHJ1Y3Qg aG1tX21pcnJvciAqbWlycm9yID0gYm8tPm1uID8gJmJvLT5tbi0+bWlycm9yIDogTlVMTDsKKwlz dHJ1Y3QgdHRtX3R0ICp0dG0gPSBiby0+dGJvLnR0bTsKIAlzdHJ1Y3QgYW1kZ3B1X3R0bV90dCAq Z3R0ID0gKHZvaWQgKil0dG07CiAJc3RydWN0IG1tX3N0cnVjdCAqbW0gPSBndHQtPnVzZXJ0YXNr LT5tbTsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gZ3R0LT51c2VycHRyOwpAQCAtNzQxLDYgKzc0 MywxMiBAQCBpbnQgYW1kZ3B1X3R0bV90dF9nZXRfdXNlcl9wYWdlcyhzdHJ1Y3QgdHRtX3R0ICp0 dG0sIHN0cnVjdCBwYWdlICoqcGFnZXMpCiAJaWYgKCFtbSkgLyogSGFwcGVucyBkdXJpbmcgcHJv Y2VzcyBzaHV0ZG93biAqLwogCQlyZXR1cm4gLUVTUkNIOwogCisJaWYgKHVubGlrZWx5KCFtaXJy b3IpKSB7CisJCURSTV9ERUJVR19EUklWRVIoIkZhaWxlZCB0byBnZXQgaG1tX21pcnJvclxuIik7 CisJCXIgPSAtRUZBVUxUOworCQlnb3RvIG91dDsKKwl9CisKIAl2bWEgPSBmaW5kX3ZtYShtbSwg c3RhcnQpOwogCWlmICh1bmxpa2VseSghdm1hIHx8IHN0YXJ0IDwgdm1hLT52bV9zdGFydCkpIHsK IAkJciA9IC1FRkFVTFQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdHRtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmgKaW5k ZXggYzJiNzY2OTAwNGJhLi5jYWE3NmM2OTM3MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdHRtLmgKQEAgLTEwMiwxMCArMTAyLDExIEBAIGludCBhbWRncHVfdHRtX2FsbG9j X2dhcnQoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyk7CiBpbnQgYW1kZ3B1X3R0bV9yZWNv dmVyX2dhcnQoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICp0Ym8pOwogCiAjaWYgSVNfRU5BQkxF RChDT05GSUdfRFJNX0FNREdQVV9VU0VSUFRSKQotaW50IGFtZGdwdV90dG1fdHRfZ2V0X3VzZXJf cGFnZXMoc3RydWN0IHR0bV90dCAqdHRtLCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzKTsKK2ludCBhbWRn cHVfdHRtX3R0X2dldF91c2VyX3BhZ2VzKHN0cnVjdCBhbWRncHVfYm8gKmJvLCBzdHJ1Y3QgcGFn ZSAqKnBhZ2VzKTsKIGJvb2wgYW1kZ3B1X3R0bV90dF9nZXRfdXNlcl9wYWdlc19kb25lKHN0cnVj dCB0dG1fdHQgKnR0bSk7CiAjZWxzZQotc3RhdGljIGlubGluZSBpbnQgYW1kZ3B1X3R0bV90dF9n ZXRfdXNlcl9wYWdlcyhzdHJ1Y3QgdHRtX3R0ICp0dG0sIHN0cnVjdCBwYWdlICoqcGFnZXMpCitz dGF0aWMgaW5saW5lIGludCBhbWRncHVfdHRtX3R0X2dldF91c2VyX3BhZ2VzKHN0cnVjdCBhbWRn cHVfYm8gKmJvLAorCQkJCQkgICAgICAgc3RydWN0IHBhZ2UgKipwYWdlcykKIHsKIAlyZXR1cm4g LUVQRVJNOwogfQotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZng=