From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH] tools: xentoolcore_restrict_all: Do deregistration before close Date: Tue, 14 Nov 2017 12:15:42 +0000 Message-ID: <1510661742-20120-1-git-send-email-ian.jackson@eu.citrix.com> References: <23050.55483.952095.736701@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <23050.55483.952095.736701@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xensource.com Cc: Ross Lagerwall , Julien Grall , Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org Q2xvc2luZyB0aGUgZmQgYmVmb3JlIHVuaG9va2luZyBpdCBmcm9tIHRoZSBsaXN0IHJ1bnMgdGhl IHJpc2sgdGhhdCBhCmNvbmN1cnJlbnQgdGhyZWFkIGNhbGxzIHhlbnRvb2xjb3JlX3Jlc3RyaWN0 X2FsbCB3aWxsIG9wZXJhdGUgb24gdGhlCm9sZCBmZCB2YWx1ZSwgd2hpY2ggbWlnaHQgcmVmZXIg dG8gYSBuZXcgZmQgYnkgdGhlbi4gIFNvIHdlIG5lZWQgdG8gZG8KaXQgaW4gdGhlIG90aGVyIG9y ZGVyLgoKU2FkbHkgdGhpcyB3ZWFrZW5zIHRoZSBndWFyYW50ZWUgcHJvdmlkZWQgYnkgeGVudG9v bGNvcmVfcmVzdHJpY3RfYWxsCnNsaWdodCwgYnV0IG5vdCAoSSB0aGluaykgaW4gYSBwcm9ibGVt YXRpYyB3YXkuICBJdCB3b3VsZCBiZSBwb3NzaWJsZQp0byBpbXBsZW1lbnQgdGhlIHByZXZpb3Vz IGd1YXJhbnRlZSwgYnV0IGl0IHdvdWxkIGludm9sdmUgcmVwbGFjaW5nCmFsbCBvZiB0aGUgY2xv c2UoKSBjYWxscyBpbiBhbGwgb2YgdGhlIGluZGl2aWR1YWwgb3NkZXAgcGFydHMgb2YgYWxsCm9m IHRoZSBpbmRpdmlkdWFsIGxpYnJhcmllcyB3aXRoIGNhbGxzIHRvIGEgbmV3IGZ1bmN0aW9uIHdo aWNoIGRvZXMKICAgZHVwMigiL2Rldi9udWxsIiwgdGhpbmctPmZkKTsKICAgcHRocmVhZF9tdXRl eF9sb2NrKCZoYW5kbGVzX2xvY2spOwogICB0aGluZy0+ZmQgPSAtMTsKICAgcHRocmVhZF9tdXRl eF91bmxvY2soJmhhbmRsZXNfbG9jayk7CiAgIGNsb3NlKGZkKTsKd2hpY2ggd291bGQgYmUgdGVy cmlibHkgdGVkaW91cy4KClNpZ25lZC1vZmYtYnk6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBl dS5jaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnMvY2FsbC9jb3JlLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgNCArKy0tCiB0b29scy9saWJzL2RldmljZW1vZGVsL2NvcmUuYyAgICAg ICAgICAgICAgICAgICAgICB8IDQgKystLQogdG9vbHMvbGlicy9ldnRjaG4vY29yZS5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIHRvb2xzL2xpYnMvZm9yZWlnbm1lbW9yeS9j b3JlLmMgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiB0b29scy9saWJzL2dudHRhYi9nbnR0 YWJfY29yZS5jICAgICAgICAgICAgICAgICAgICB8IDQgKystLQogdG9vbHMvbGlicy90b29sY29y ZS9pbmNsdWRlL3hlbnRvb2xjb3JlLmggICAgICAgICAgfCA5ICsrKysrKysrKwogdG9vbHMvbGli cy90b29sY29yZS9pbmNsdWRlL3hlbnRvb2xjb3JlX2ludGVybmFsLmggfCA2ICsrKystLQogdG9v bHMveGVuc3RvcmUveHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0K IDggZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlicy9jYWxsL2NvcmUuYyBiL3Rvb2xzL2xpYnMvY2FsbC9jb3JlLmMK aW5kZXggYjI1NmZjZS4uZjNhMzQwMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlicy9jYWxsL2NvcmUu YworKysgYi90b29scy9saWJzL2NhbGwvY29yZS5jCkBAIC01OSw4ICs1OSw4IEBAIHhlbmNhbGxf aGFuZGxlICp4ZW5jYWxsX29wZW4oeGVudG9vbGxvZ19sb2dnZXIgKmxvZ2dlciwgdW5zaWduZWQg b3Blbl9mbGFncykKICAgICByZXR1cm4geGNhbGw7CiAKIGVycjoKLSAgICBvc2RlcF94ZW5jYWxs X2Nsb3NlKHhjYWxsKTsKICAgICB4ZW50b29sY29yZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxl KCZ4Y2FsbC0+dGNfYWgpOworICAgIG9zZGVwX3hlbmNhbGxfY2xvc2UoeGNhbGwpOwogICAgIHh0 bF9sb2dnZXJfZGVzdHJveSh4Y2FsbC0+bG9nZ2VyX3RvZnJlZSk7CiAgICAgZnJlZSh4Y2FsbCk7 CiAgICAgcmV0dXJuIE5VTEw7CkBAIC03Myw4ICs3Myw4IEBAIGludCB4ZW5jYWxsX2Nsb3NlKHhl bmNhbGxfaGFuZGxlICp4Y2FsbCkKICAgICBpZiAoICF4Y2FsbCApCiAgICAgICAgIHJldHVybiAw OwogCi0gICAgcmMgPSBvc2RlcF94ZW5jYWxsX2Nsb3NlKHhjYWxsKTsKICAgICB4ZW50b29sY29y ZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxlKCZ4Y2FsbC0+dGNfYWgpOworICAgIHJjID0gb3Nk ZXBfeGVuY2FsbF9jbG9zZSh4Y2FsbCk7CiAgICAgYnVmZmVyX3JlbGVhc2VfY2FjaGUoeGNhbGwp OwogICAgIHh0bF9sb2dnZXJfZGVzdHJveSh4Y2FsbC0+bG9nZ2VyX3RvZnJlZSk7CiAgICAgZnJl ZSh4Y2FsbCk7CmRpZmYgLS1naXQgYS90b29scy9saWJzL2RldmljZW1vZGVsL2NvcmUuYyBiL3Rv b2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCmluZGV4IGI2NmQ0ZjkuLjM1NWI3ZGUgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCisrKyBiL3Rvb2xzL2xpYnMvZGV2 aWNlbW9kZWwvY29yZS5jCkBAIC02OCw4ICs2OCw4IEBAIHhlbmRldmljZW1vZGVsX2hhbmRsZSAq eGVuZGV2aWNlbW9kZWxfb3Blbih4ZW50b29sbG9nX2xvZ2dlciAqbG9nZ2VyLAogCiBlcnI6CiAg ICAgeHRsX2xvZ2dlcl9kZXN0cm95KGRtb2QtPmxvZ2dlcl90b2ZyZWUpOwotICAgIHhlbmNhbGxf Y2xvc2UoZG1vZC0+eGNhbGwpOwogICAgIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2ZV9o YW5kbGUoJmRtb2QtPnRjX2FoKTsKKyAgICB4ZW5jYWxsX2Nsb3NlKGRtb2QtPnhjYWxsKTsKICAg ICBmcmVlKGRtb2QpOwogICAgIHJldHVybiBOVUxMOwogfQpAQCAtODMsOCArODMsOCBAQCBpbnQg eGVuZGV2aWNlbW9kZWxfY2xvc2UoeGVuZGV2aWNlbW9kZWxfaGFuZGxlICpkbW9kKQogCiAgICAg cmMgPSBvc2RlcF94ZW5kZXZpY2Vtb2RlbF9jbG9zZShkbW9kKTsKIAotICAgIHhlbmNhbGxfY2xv c2UoZG1vZC0+eGNhbGwpOwogICAgIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2ZV9oYW5k bGUoJmRtb2QtPnRjX2FoKTsKKyAgICB4ZW5jYWxsX2Nsb3NlKGRtb2QtPnhjYWxsKTsKICAgICB4 dGxfbG9nZ2VyX2Rlc3Ryb3koZG1vZC0+bG9nZ2VyX3RvZnJlZSk7CiAgICAgZnJlZShkbW9kKTsK ICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS90b29scy9saWJzL2V2dGNobi9jb3JlLmMgYi90 b29scy9saWJzL2V2dGNobi9jb3JlLmMKaW5kZXggMmRiYTU4Yi4uYWZmNmVjZiAxMDA2NDQKLS0t IGEvdG9vbHMvbGlicy9ldnRjaG4vY29yZS5jCisrKyBiL3Rvb2xzL2xpYnMvZXZ0Y2huL2NvcmUu YwpAQCAtNTUsOCArNTUsOCBAQCB4ZW5ldnRjaG5faGFuZGxlICp4ZW5ldnRjaG5fb3Blbih4ZW50 b29sbG9nX2xvZ2dlciAqbG9nZ2VyLCB1bnNpZ25lZCBvcGVuX2ZsYWdzKQogICAgIHJldHVybiB4 Y2U7CiAKIGVycjoKLSAgICBvc2RlcF9ldnRjaG5fY2xvc2UoeGNlKTsKICAgICB4ZW50b29sY29y ZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxlKCZ4Y2UtPnRjX2FoKTsKKyAgICBvc2RlcF9ldnRj aG5fY2xvc2UoeGNlKTsKICAgICB4dGxfbG9nZ2VyX2Rlc3Ryb3koeGNlLT5sb2dnZXJfdG9mcmVl KTsKICAgICBmcmVlKHhjZSk7CiAgICAgcmV0dXJuIE5VTEw7CkBAIC02OSw4ICs2OSw4IEBAIGlu dCB4ZW5ldnRjaG5fY2xvc2UoeGVuZXZ0Y2huX2hhbmRsZSAqeGNlKQogICAgIGlmICggIXhjZSAp CiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmMgPSBvc2RlcF9ldnRjaG5fY2xvc2UoeGNlKTsK ICAgICB4ZW50b29sY29yZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxlKCZ4Y2UtPnRjX2FoKTsK KyAgICByYyA9IG9zZGVwX2V2dGNobl9jbG9zZSh4Y2UpOwogICAgIHh0bF9sb2dnZXJfZGVzdHJv eSh4Y2UtPmxvZ2dlcl90b2ZyZWUpOwogICAgIGZyZWUoeGNlKTsKICAgICByZXR1cm4gcmM7CmRp ZmYgLS1naXQgYS90b29scy9saWJzL2ZvcmVpZ25tZW1vcnkvY29yZS5jIGIvdG9vbHMvbGlicy9m b3JlaWdubWVtb3J5L2NvcmUuYwppbmRleCA3OWIyNGQyLi43Yzg1NjJhIDEwMDY0NAotLS0gYS90 b29scy9saWJzL2ZvcmVpZ25tZW1vcnkvY29yZS5jCisrKyBiL3Rvb2xzL2xpYnMvZm9yZWlnbm1l bW9yeS9jb3JlLmMKQEAgLTU3LDggKzU3LDggQEAgeGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhl bmZvcmVpZ25tZW1vcnlfb3Blbih4ZW50b29sbG9nX2xvZ2dlciAqbG9nZ2VyLAogICAgIHJldHVy biBmbWVtOwogCiBlcnI6Ci0gICAgb3NkZXBfeGVuZm9yZWlnbm1lbW9yeV9jbG9zZShmbWVtKTsK ICAgICB4ZW50b29sY29yZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxlKCZmbWVtLT50Y19haCk7 CisgICAgb3NkZXBfeGVuZm9yZWlnbm1lbW9yeV9jbG9zZShmbWVtKTsKICAgICB4dGxfbG9nZ2Vy X2Rlc3Ryb3koZm1lbS0+bG9nZ2VyX3RvZnJlZSk7CiAgICAgZnJlZShmbWVtKTsKICAgICByZXR1 cm4gTlVMTDsKQEAgLTcxLDggKzcxLDggQEAgaW50IHhlbmZvcmVpZ25tZW1vcnlfY2xvc2UoeGVu Zm9yZWlnbm1lbW9yeV9oYW5kbGUgKmZtZW0pCiAgICAgaWYgKCAhZm1lbSApCiAgICAgICAgIHJl dHVybiAwOwogCi0gICAgcmMgPSBvc2RlcF94ZW5mb3JlaWdubWVtb3J5X2Nsb3NlKGZtZW0pOwog ICAgIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2ZV9oYW5kbGUoJmZtZW0tPnRjX2FoKTsK KyAgICByYyA9IG9zZGVwX3hlbmZvcmVpZ25tZW1vcnlfY2xvc2UoZm1lbSk7CiAgICAgeHRsX2xv Z2dlcl9kZXN0cm95KGZtZW0tPmxvZ2dlcl90b2ZyZWUpOwogICAgIGZyZWUoZm1lbSk7CiAgICAg cmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9nbnR0YWIvZ250dGFiX2NvcmUuYyBi L3Rvb2xzL2xpYnMvZ250dGFiL2dudHRhYl9jb3JlLmMKaW5kZXggNWY3NjFlNS4uOThmMTU5MSAx MDA2NDQKLS0tIGEvdG9vbHMvbGlicy9nbnR0YWIvZ250dGFiX2NvcmUuYworKysgYi90b29scy9s aWJzL2dudHRhYi9nbnR0YWJfY29yZS5jCkBAIC01NCw4ICs1NCw4IEBAIHhlbmdudHRhYl9oYW5k bGUgKnhlbmdudHRhYl9vcGVuKHhlbnRvb2xsb2dfbG9nZ2VyICpsb2dnZXIsIHVuc2lnbmVkIG9w ZW5fZmxhZ3MpCiAgICAgcmV0dXJuIHhndDsKIAogZXJyOgotICAgIG9zZGVwX2dudHRhYl9jbG9z ZSh4Z3QpOwogICAgIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2ZV9oYW5kbGUoJnhndC0+ dGNfYWgpOworICAgIG9zZGVwX2dudHRhYl9jbG9zZSh4Z3QpOwogICAgIHh0bF9sb2dnZXJfZGVz dHJveSh4Z3QtPmxvZ2dlcl90b2ZyZWUpOwogICAgIGZyZWUoeGd0KTsKICAgICByZXR1cm4gTlVM TDsKQEAgLTY4LDggKzY4LDggQEAgaW50IHhlbmdudHRhYl9jbG9zZSh4ZW5nbnR0YWJfaGFuZGxl ICp4Z3QpCiAgICAgaWYgKCAheGd0ICkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByYyA9IG9z ZGVwX2dudHRhYl9jbG9zZSh4Z3QpOwogICAgIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2 ZV9oYW5kbGUoJnhndC0+dGNfYWgpOworICAgIHJjID0gb3NkZXBfZ250dGFiX2Nsb3NlKHhndCk7 CiAgICAgeHRsX2xvZ2dlcl9kZXN0cm95KHhndC0+bG9nZ2VyX3RvZnJlZSk7CiAgICAgZnJlZSh4 Z3QpOwogICAgIHJldHVybiByYzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdG9vbGNvcmUvaW5j bHVkZS94ZW50b29sY29yZS5oIGIvdG9vbHMvbGlicy90b29sY29yZS9pbmNsdWRlL3hlbnRvb2xj b3JlLmgKaW5kZXggOGQyOGMyZC4uYjNhM2M5MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlicy90b29s Y29yZS9pbmNsdWRlL3hlbnRvb2xjb3JlLmgKKysrIGIvdG9vbHMvbGlicy90b29sY29yZS9pbmNs dWRlL3hlbnRvb2xjb3JlLmgKQEAgLTM5LDYgKzM5LDE1IEBACiAgKiBmYWlsIChldmVuIHRob3Vn aCBzdWNoIGEgY2FsbCBpcyBwb3RlbnRpYWxseSBtZWFuaW5nZnVsKS4KICAqIChJZiBjYWxsZWQg YWdhaW4gd2l0aCBhIGRpZmZlcmVudCBkb21pZCwgaXQgd2lsbCBuZWNlc3NhcmlseSBmYWlsLikK ICAqCisgKiBOb3RlIGZvciBtdWx0aS10aHJlYWRlZCBwcm9ncmFtczogSWYgeGVudG9vbGNvcmVf cmVzdHJpY3RfYWxsIGlzCisgKiBjYWxsZWQgY29uY3VycmVudGx5IHdpdGggYSBmdW5jdGlvbiB3 aGljaCAvb3IgY2xvc2VzIFhlbiBsaWJyYXJ5CisgKiBoYW5kbGVzIChlLmcuICBsaWJ4bF9jdHhf ZnJlZSwgeHNfY2xvc2UpLCB0aGUgcmVzdHJpY3Rpb24gaXMgb25seQorICogZ3VhcmFudGVlZCB0 byBiZSBlZmZlY3RpdmUgYWZ0ZXIgYWxsIG9mIHRoZSBjbG9zaW5nIGZ1bmN0aW9ucyBoYXZlCisg KiByZXR1cm5lZCwgZXZlbiBpZiB0aGF0IGlzIGxhdGVyIHRoYW4gdGhlIHJldHVybiBmcm9tCisg KiB4ZW50b29sY29yZV9yZXN0cmljdF9hbGwuICAoT2YgY291cnNlIGlmIHhlbnRvb2xjb3JlX3Jl c3RyaWN0X2FsbAorICogaXQgaXMgY2FsbGVkIGNvbmN1cnJlbnRseSB3aXRoIG9wZW5pbmcgZnVu Y3Rpb25zLCB0aGUgbmV3IGhhbmRsZXMKKyAqIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSByZXN0cmlj dGVkLikKKyAqCiAgKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAqICBJTVBPUlRBTlQgLSBJTVBMRU1FTlRBVElP TiBTVEFUVVMKICAqCmRpZmYgLS1naXQgYS90b29scy9saWJzL3Rvb2xjb3JlL2luY2x1ZGUveGVu dG9vbGNvcmVfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnMvdG9vbGNvcmUvaW5jbHVkZS94ZW50b29s Y29yZV9pbnRlcm5hbC5oCmluZGV4IGRiZGIxZGQuLjA0ZjU4NDggMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnMvdG9vbGNvcmUvaW5jbHVkZS94ZW50b29sY29yZV9pbnRlcm5hbC5oCisrKyBiL3Rvb2xz L2xpYnMvdG9vbGNvcmUvaW5jbHVkZS94ZW50b29sY29yZV9pbnRlcm5hbC5oCkBAIC00OCw4ICs0 OCwxMCBAQAogICogICAgIDQuIE9OTFkgVEhFTiBhY3R1YWxseSBvcGVuIHRoZSByZWxldmFudCBm ZCBvciB3aGF0ZXZlcgogICoKICAqICAgSUlJLiBkdXJpbmcgdGhlICJjbG9zZSBoYW5kbGUiIGZ1 bmN0aW9uCi0gKiAgICAgMS4gRklSU1QgY2xvc2UgdGhlIHJlbGV2YW50IGZkIG9yIHdoYXRldmVy Ci0gKiAgICAgMi4gY2FsbCB4ZW50b29sY29yZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxlCisg KiAgICAgMS4gRklSU1QgY2FsbCB4ZW50b29sY29yZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxl CisgKiAgICAgMi4gY2xvc2UgdGhlIHJlbGV2YW50IGZkIG9yIHdoYXRldmVyCisgKgorICogWyBJ SUkoYikuIERvIHRoZSBzYW1lIGFzIElJSSBmb3IgZXJyb3IgZXhpdCBmcm9tIHRoZSBvcGVuIGZ1 bmN0aW9uLiBdCiAgKgogICogICBJVi4gaW4gdGhlIHJlc3RyaWN0X2NhbGxiYWNrIGZ1bmN0aW9u CiAgKiAgICAgKiBBcnJhbmdlIHRoYXQgdGhlIGZkIChvciBvdGhlciBoYW5kbGUpIGNhbiBubyBs b25nZXIgYnkgdXNlZApkaWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmUveHMuYyBiL3Rvb2xzL3hl bnN0b3JlL3hzLmMKaW5kZXggMjNmM2YwOS4uYWJmZmQ5YyAxMDA2NDQKLS0tIGEvdG9vbHMveGVu c3RvcmUveHMuYworKysgYi90b29scy94ZW5zdG9yZS94cy5jCkBAIC0yNzksOSArMjc5LDkgQEAg ZXJyOgogCXNhdmVkX2Vycm5vID0gZXJybm87CiAKIAlpZiAoaCkgeworCQl4ZW50b29sY29yZV9f ZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxlKCZoLT50Y19haCk7CiAJCWlmIChoLT5mZCA+PSAwKQog CQkJY2xvc2UoaC0+ZmQpOwotCQl4ZW50b29sY29yZV9fZGVyZWdpc3Rlcl9hY3RpdmVfaGFuZGxl KCZoLT50Y19haCk7CiAJfQogCWZyZWUoaCk7CiAKQEAgLTM0Miw4ICszNDIsOCBAQCBzdGF0aWMg dm9pZCBjbG9zZV9mZHNfZnJlZShzdHJ1Y3QgeHNfaGFuZGxlICpoKSB7CiAJCWNsb3NlKGgtPndh dGNoX3BpcGVbMV0pOwogCX0KIAotICAgICAgICBjbG9zZShoLT5mZCk7CiAJeGVudG9vbGNvcmVf X2RlcmVnaXN0ZXJfYWN0aXZlX2hhbmRsZSgmaC0+dGNfYWgpOworICAgICAgICBjbG9zZShoLT5m ZCk7CiAgICAgICAgIAogCWZyZWUoaCk7CiB9Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=