From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v1 08/12] tmem: Handle 'struct tmem_info' as a seperate field in the Date: Wed, 28 Sep 2016 05:42:22 -0400 Message-ID: <1475055746-22401-9-git-send-email-konrad.wilk@oracle.com> References: <1475055746-22401-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpBO6-0008W4-Iw for xen-devel@lists.xenproject.org; Wed, 28 Sep 2016 09:42:50 +0000 In-Reply-To: <1475055746-22401-1-git-send-email-konrad.wilk@oracle.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, konrad@kernel.org Cc: Wei Liu , Ian Jackson , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org dGhlIHN0cnVjdCB0bWVtX29wLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuIEJ1dCBpdCBtYWtlcyB0 aGUgY29kZSBzbyBtdWNoIGVhc2llcgp0byByZWFkLgoKTm90ZTogV2Ugc3RpbGwgaGF2ZSB0byBk byB0aGlzIGF3a3dhcmQgJ2d1ZXN0X2hhbmRsZV9jYXN0JwpvdGhlcndpc2UgaXQgd2lsbCBub3Qg Y29tcGlsZSBvbiBBUk0gLSB3aGljaCBkZWZpbmVzIF90d29fCm9mIHRoZXNlIG1hY3JvcyAoX19n dWVzdF9oYW5kbGVfNjRfeGVuX3N5c2N0bF90bWVtX2NsaWVudF90CmFuZCBfX2d1ZXN0X2hhbmRs ZV94ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QpLiBBbmQgaWYgY2FzdCBpcwpub3QgdXNlZCB0aGVu IGEgY29tcGlsZSBlcnJvciBjb21lcyB1cCBhcyB3ZSB1c2UgdGhlIHdyb25nIG9uZS4KClNpZ25l ZC1vZmYtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4K LS0tCkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Cgp2MTogRmlyc3Qgc3VibWlzc2lvbi4KLS0tCiB0b29s cy9saWJ4Yy94Y190bWVtLmMgICAgICAgfCAgNCArLS0KIHhlbi9jb21tb24vdG1lbS5jICAgICAg ICAgICB8ICA4ICsrKy0tLQogeGVuL2NvbW1vbi90bWVtX2NvbnRyb2wuYyAgIHwgNjggKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9wdWJs aWMvc3lzY3RsLmggfCAxMSArKysrKy0tLQogNCBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25z KCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y190bWVtLmMg Yi90b29scy9saWJ4Yy94Y190bWVtLmMKaW5kZXggNzRkMmQ4NS4uY2IwZGZhMSAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGMveGNfdG1lbS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX3RtZW0uYwpAQCAt ODcsNyArODcsNyBAQCBpbnQgeGNfdG1lbV9jb250cm9sKHhjX2ludGVyZmFjZSAqeGNoLAogICAg ICAgICB9CiAgICAgfQogCi0gICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUoc3lzY3RsLnUudG1lbV9v cC5idWYsIGJ1Zik7CisgICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUoc3lzY3RsLnUudG1lbV9vcC51 LmJ1ZiwgYnVmKTsKIAogICAgIHJjID0gZG9fc3lzY3RsKHhjaCwgJnN5c2N0bCk7CiAKQEAgLTEz Myw3ICsxMzMsNyBAQCBpbnQgeGNfdG1lbV9jb250cm9sX29pZCh4Y19pbnRlcmZhY2UgKnhjaCwK ICAgICAgICAgfQogICAgIH0KIAotICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHN5c2N0bC51LnRt ZW1fb3AuYnVmLCBidWYpOworICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHN5c2N0bC51LnRtZW1f b3AudS5idWYsIGJ1Zik7CiAKICAgICByYyA9IGRvX3N5c2N0bCh4Y2gsICZzeXNjdGwpOwogCmRp ZmYgLS1naXQgYS94ZW4vY29tbW9uL3RtZW0uYyBiL3hlbi9jb21tb24vdG1lbS5jCmluZGV4IDI3 MTY0Y2UuLmFiMzU0YjYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vdG1lbS5jCisrKyBiL3hlbi9j b21tb24vdG1lbS5jCkBAIC0xODQzLDE5ICsxODQzLDE5IEBAIGludCBkb190bWVtX2NvbnRyb2wo c3RydWN0IHhlbl9zeXNjdGxfdG1lbV9vcCAqb3ApCiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1f T1BfUkVTVE9SRV9CRUdJTjoKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0VORDoK ICAgICAgICAgcmV0ID0gdG1lbWNfc2F2ZV9zdWJvcChvcC0+Y2xpX2lkLCBwb29sX2lkLCBjbWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qob3AtPmJ1 ZiwgY2hhciksIG9wLT5hcmcxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVz dF9oYW5kbGVfY2FzdChvcC0+dS5idWYsIGNoYXIpLCBvcC0+YXJnMSk7CiAgICAgICAgIGJyZWFr OwogICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVfR0VUX05FWFRfUEFHRToKICAgICAg ICAgcmV0ID0gdG1lbWNfc2F2ZV9nZXRfbmV4dF9wYWdlKG9wLT5jbGlfaWQsIHBvb2xfaWQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdF9oYW5kbGVfY2FzdChv cC0+YnVmLCBjaGFyKSwgb3AtPmFyZzEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qob3AtPnUuYnVmLCBjaGFyKSwgb3AtPmFyZzEpOwog ICAgICAgICBicmVhazsKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0dFVF9ORVhU X0lOVjoKICAgICAgICAgcmV0ID0gdG1lbWNfc2F2ZV9nZXRfbmV4dF9pbnYob3AtPmNsaV9pZCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qo b3AtPmJ1ZiwgY2hhciksIG9wLT5hcmcxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qob3AtPnUuYnVmLCBjaGFyKSwgb3AtPmFyZzEpOwog ICAgICAgICBicmVhazsKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9SRVNUT1JFX1BVVF9Q QUdFOgogICAgICAgICByZXQgPSB0bWVtY19yZXN0b3JlX3B1dF9wYWdlKG9wLT5jbGlfaWQsIHBv b2xfaWQsIG9pZHAsIG9wLT5hcmcyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGd1ZXN0X2hhbmRsZV9jYXN0KG9wLT5idWYsIGNoYXIpLCBvcC0+YXJnMSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qob3AtPnUuYnVm LCBjaGFyKSwgb3AtPmFyZzEpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhFTl9TWVNDVExf VE1FTV9PUF9SRVNUT1JFX0ZMVVNIX1BBR0U6CiAgICAgICAgIHJldCA9IHRtZW1jX3Jlc3RvcmVf Zmx1c2hfcGFnZShvcC0+Y2xpX2lkLCBwb29sX2lkLCBvaWRwLCBvcC0+YXJnMik7CmRpZmYgLS1n aXQgYS94ZW4vY29tbW9uL3RtZW1fY29udHJvbC5jIGIveGVuL2NvbW1vbi90bWVtX2NvbnRyb2wu YwppbmRleCA4YmI5ZDQ4Li45NDJkNGM5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3RtZW1fY29u dHJvbC5jCisrKyBiL3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMKQEAgLTI1OCw3ICsyNTgsNyBA QCBzdGF0aWMgaW50IHRtZW1jX2xpc3QoZG9taWRfdCBjbGlfaWQsIHRtZW1fY2xpX3ZhX3BhcmFt X3QgYnVmLCB1aW50MzJfdCBsZW4sCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgX190 bWVtY19zZXRfdmFyKHN0cnVjdCBjbGllbnQgKmNsaWVudCwgdWludDMyX3Qgc3Vib3AsCitzdGF0 aWMgaW50IF9fdG1lbWNfc2V0X3ZhcihzdHJ1Y3QgY2xpZW50ICpjbGllbnQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9zeXNjdGxfdG1lbV9j bGllbnRfdCkgYnVmKQogewogICAgIGRvbWlkX3QgY2xpX2lkID0gY2xpZW50LT5jbGlfaWQ7CkBA IC0yNjcsMTEgKzI2Nyw2IEBAIHN0YXRpYyBpbnQgX190bWVtY19zZXRfdmFyKHN0cnVjdCBjbGll bnQgKmNsaWVudCwgdWludDMyX3Qgc3Vib3AsCiAKICAgICBBU1NFUlQoY2xpZW50KTsKIAotICAg IGlmICggc3Vib3AgIT0gWEVOX1NZU0NUTF9UTUVNX09QX1NFVF9DTElFTlRfSU5GTyApCi0gICAg ewotICAgICAgICB0bWVtX2NsaWVudF93YXJuKCJ0bWVtOiB1bmtub3duIHN1Ym9wICVkIGZvciB0 bWVtY19zZXRfdmFyXG4iLCBzdWJvcCk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9CiAgICAg aWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJmluZm8sIGJ1ZiwgMSkgKQogICAgICAgICByZXR1cm4gLUVG QVVMVDsKIApAQCAtMjk2LDIwICsyOTEsMTcgQEAgc3RhdGljIGludCBfX3RtZW1jX3NldF92YXIo c3RydWN0IGNsaWVudCAqY2xpZW50LCB1aW50MzJfdCBzdWJvcCwKICAgICByZXR1cm4gMDsKIH0K IAotc3RhdGljIGludCB0bWVtY19zZXRfdmFyKGRvbWlkX3QgY2xpX2lkLCB1aW50MzJfdCBzdWJv cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQp IGJ1ZikKK3N0YXRpYyBpbnQgdG1lbWNfc2V0X2NsaWVudF9pbmZvKGRvbWlkX3QgY2xpX2lkLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4 ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QpIGluZm8pCiB7CiAgICAgc3RydWN0IGNsaWVudCAqY2xp ZW50OwogICAgIGludCByZXQgPSAtRU5PRU5UOwotICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o eGVuX3N5c2N0bF90bWVtX2NsaWVudF90KSBpbmZvOwotCi0gICAgaW5mbyA9IGd1ZXN0X2hhbmRs ZV9jYXN0KGJ1ZiwgeGVuX3N5c2N0bF90bWVtX2NsaWVudF90KTsKIAogICAgIGlmICggY2xpX2lk ID09IFRNRU1fQ0xJX0lEX05VTEwgKQogICAgIHsKICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRy eShjbGllbnQsJnRtZW1fZ2xvYmFsLmNsaWVudF9saXN0LGNsaWVudF9saXN0KQogICAgICAgICB7 Ci0gICAgICAgICAgICByZXQgPSAgX190bWVtY19zZXRfdmFyKGNsaWVudCwgc3Vib3AsIGluZm8p OworICAgICAgICAgICAgcmV0ID0gIF9fdG1lbWNfc2V0X3ZhcihjbGllbnQsIGluZm8pOwogICAg ICAgICAgICAgaWYgKHJldCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAt MzE4LDExICszMTAsMzIgQEAgc3RhdGljIGludCB0bWVtY19zZXRfdmFyKGRvbWlkX3QgY2xpX2lk LCB1aW50MzJfdCBzdWJvcCwKICAgICB7CiAgICAgICAgIGNsaWVudCA9IHRtZW1fY2xpZW50X2Zy b21fY2xpX2lkKGNsaV9pZCk7CiAgICAgICAgIGlmICggY2xpZW50ICkKLSAgICAgICAgICAgIHJl dCA9IF9fdG1lbWNfc2V0X3ZhcihjbGllbnQsIHN1Ym9wLCBpbmZvKTsKKyAgICAgICAgICAgIHJl dCA9IF9fdG1lbWNfc2V0X3ZhcihjbGllbnQsIGluZm8pOwogICAgIH0KICAgICByZXR1cm4gcmV0 OwogfQogCitzdGF0aWMgaW50IHRtZW1jX2dldF9jbGllbnRfaW5mbyhpbnQgY2xpX2lkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5f c3lzY3RsX3RtZW1fY2xpZW50X3QpIGluZm8pCit7CisgICAgc3RydWN0IGNsaWVudCAqY2xpZW50 ID0gdG1lbV9jbGllbnRfZnJvbV9jbGlfaWQoY2xpX2lkKTsKKworICAgIGlmICggY2xpZW50ICkK KyAgICB7CisgICAgICAgIGlmICggY29weV90b19ndWVzdChpbmZvLCAmY2xpZW50LT5pbmZvLCAx KSApCisgICAgICAgICAgICByZXR1cm4gIC1FRkFVTFQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7 CisgICAgICAgICAgICB4ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QgZ2VuZXJpYyA9IHsgLnZlcnNp b24gPSBUTUVNX1NQRUNfVkVSU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAubWF4cG9vbHMgPSBNQVhfUE9PTFNfUEVSX0RPTUFJTiB9OworICAg ICAgICBpZiAoIGNvcHlfdG9fZ3Vlc3QoaW5mbywgJmdlbmVyaWMsIDEpICkKKyAgICAgICAgICAg IHJldHVybiAtRUZBVUxUOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgaW50 IHRtZW1jX3NhdmVfc3Vib3AoaW50IGNsaV9pZCwgdWludDMyX3QgcG9vbF9pZCwgdWludDMyX3Qg c3Vib3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJB TSh2b2lkKSBidWYsIHVpbnQzMl90IGFyZzEpCiB7CkBAIC0zMzAsMjcgKzM0Myw5IEBAIHN0YXRp YyBpbnQgdG1lbWNfc2F2ZV9zdWJvcChpbnQgY2xpX2lkLCB1aW50MzJfdCBwb29sX2lkLCB1aW50 MzJfdCBzdWJvcCwKICAgICBzdHJ1Y3QgdG1lbV9wb29sICpwb29sID0gKGNsaWVudCA9PSBOVUxM IHx8IHBvb2xfaWQgPj0gTUFYX1BPT0xTX1BFUl9ET01BSU4pCiAgICAgICAgICAgICAgICAgICAg PyBOVUxMIDogY2xpZW50LT5wb29sc1twb29sX2lkXTsKICAgICBpbnQgcmMgPSAtMTsKLSAgICBY RU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9zeXNjdGxfdG1lbV9jbGllbnRfdCkgaW5mbzsKIAog ICAgIHN3aXRjaChzdWJvcCkKICAgICB7Ci0gICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfR0VU X0NMSUVOVF9JTkZPOgotICAgICAgICByYyA9IDA7Ci0gICAgICAgIGluZm8gPSBndWVzdF9oYW5k bGVfY2FzdChidWYsIHhlbl9zeXNjdGxfdG1lbV9jbGllbnRfdCk7Ci0gICAgICAgIGlmICggY2xp ZW50ICkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCBjb3B5X3RvX2d1ZXN0KGluZm8sICZj bGllbnQtPmluZm8sIDEpICkKLSAgICAgICAgICAgICAgICByYyA9IC1FRkFVTFQ7Ci0gICAgICAg IH0KLSAgICAgICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICB4ZW5fc3lzY3RsX3RtZW1f Y2xpZW50X3QgZ2VuZXJpYyA9IHsgLnZlcnNpb24gPSBUTUVNX1NQRUNfVkVSU0lPTiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWF4cG9vbHMgPSBN QVhfUE9PTFNfUEVSX0RPTUFJTiB9OwotCi0gICAgICAgICAgICBpZiAoIGNvcHlfdG9fZ3Vlc3Qo aW5mbywgJmdlbmVyaWMsIDEpICkKLSAgICAgICAgICAgICAgICByYyA9IC1FRkFVTFQ7Ci0gICAg ICAgIH0KLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9H RVRfUE9PTF9GTEFHUzoKICAgICAgICAgIGlmICggcG9vbCA9PSBOVUxMICkKICAgICAgICAgICAg ICBicmVhazsKQEAgLTQwMCwyMSArMzk1LDI0IEBAIGludCB0bWVtX2NvbnRyb2woc3RydWN0IHhl bl9zeXNjdGxfdG1lbV9vcCAqb3ApCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWEVOX1NZU0NU TF9UTUVNX09QX0xJU1Q6CiAgICAgICAgIHJldCA9IHRtZW1jX2xpc3Qob3AtPmNsaV9pZCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICBndWVzdF9oYW5kbGVfY2FzdChvcC0+YnVmLCBjaGFyKSwg b3AtPmFyZzEsIG9wLT5hcmcyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdF9oYW5k bGVfY2FzdChvcC0+dS5idWYsIGNoYXIpLCBvcC0+YXJnMSwgb3AtPmFyZzIpOwogICAgICAgICBi cmVhazsKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TRVRfQ0xJRU5UX0lORk86Ci0gICAg ICAgIHJldCA9IHRtZW1jX3NldF92YXIob3AtPmNsaV9pZCwgY21kLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0KG9wLT5idWYsIHZvaWQpKTsKKyAgICAgICAg cmV0ID0gdG1lbWNfc2V0X2NsaWVudF9pbmZvKG9wLT5jbGlfaWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBndWVzdF9oYW5kbGVfY2FzdChvcC0+dS5jbGllbnQsIHhlbl9z eXNjdGxfdG1lbV9jbGllbnRfdCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhFTl9TWVND VExfVE1FTV9PUF9RVUVSWV9GUkVFQUJMRV9NQjoKICAgICAgICAgcmV0ID0gdG1lbV9mcmVlYWJs ZV9wYWdlcygpID4+ICgyMCAtIFBBR0VfU0hJRlQpOwogICAgICAgICBicmVhazsKICAgICBjYXNl IFhFTl9TWVNDVExfVE1FTV9PUF9HRVRfQ0xJRU5UX0lORk86CisgICAgICAgIHJldCA9IHRtZW1j X2dldF9jbGllbnRfaW5mbyhvcC0+Y2xpX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qob3AtPnUuY2xpZW50LCB4ZW5fc3lzY3RsX3RtZW1f Y2xpZW50X3QpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1Bf U0FWRV9HRVRfUE9PTF9GTEFHUzoKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0dF VF9QT09MX05QQUdFUzoKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0dFVF9QT09M X1VVSUQ6CiAgICAgICAgIHJldCA9IHRtZW1jX3NhdmVfc3Vib3Aob3AtPmNsaV9pZCwgcG9vbF9p ZCwgY21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0 KG9wLT5idWYsIHZvaWQpLCBvcC0+YXJnMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3Vlc3RfaGFuZGxlX2Nhc3Qob3AtPnUuYnVmLCB2b2lkKSwgb3AtPmFyZzEpOwogICAgICAg ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXQgPSBkb190bWVtX2NvbnRyb2wob3Ap OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oIGIveGVuL2luY2x1ZGUv cHVibGljL3N5c2N0bC5oCmluZGV4IDI3ZTA1MWIuLjUyODk4YTcgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL3B1YmxpYy9zeXNjdGwuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmgK QEAgLTc4Miw4ICs3ODIsOCBAQCBzdHJ1Y3QgdG1lbV9oYW5kbGUgewogfTsKIAogLyoKLSAqIFhF Tl9TWVNDVExfVE1FTV9PUF9bR0VULFNBVkVdX0NMSUVOVCBvdmVycmlkZXMgdGhlICdidWYnIGlu Ci0gKiB4ZW5fc3lzY3RsX3RtZW1fb3Agd2l0aCB0aGlzIHN0cnVjdHVyZSAtIGFuZCBjb250YWlu IGRhdGEgdXNlZAorICogWEVOX1NZU0NUTF9UTUVNX09QX1tHRVQsU0FWRV1fQ0xJRU5UIHVzZXMg dGhlICdjbGllbnQnIGluCisgKiB4ZW5fc3lzY3RsX3RtZW1fb3Agd2l0aCB0aGlzIHN0cnVjdHVy ZSAtIHdoaWNoIGlzIG1vc3RseSB1c2VkCiAgKiBkdXJpbmcgbWlncmF0aW9uLgogICovCiBzdHJ1 Y3QgdG1lbV9jbGllbnQgewpAQCAtODEyLDggKzgxMiwxMSBAQCBzdHJ1Y3QgeGVuX3N5c2N0bF90 bWVtX29wIHsKICAgICB1aW50MzJfdCBhcmcyOyAgICAgIC8qIElOOiBJZiBub3QgYXBwbGljYWJs ZSB0byBjb21tYW5kIHVzZSAwLiAqLwogICAgIHVpbnQzMl90IHBhZDsgICAgICAgLyogUGFkZGlu ZyBzbyBzdHJ1Y3R1cmUgaXMgdGhlIHNhbWUgdW5kZXIgMzIgYW5kIDY0LiAqLwogICAgIHhlbl90 bWVtX29pZF90IG9pZDsgLyogSU46IElmIG5vdCBhcHBsaWNhYmxlIHRvIGNvbW1hbmQgdXNlIDBz LiAqLwotICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikgYnVmOyAvKiBJTi9PVVQ6IEJ1ZmZl ciB0byBzYXZlL3Jlc3RvcmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFuZCBzZXQvZ2V0IG9wcy4gKi8KKyAgICB1bmlvbiB7CisgICAgICAgIFhFTl9HVUVTVF9IQU5E TEVfNjQoY2hhcikgYnVmOyAvKiBJTi9PVVQ6IEJ1ZmZlciB0byBzYXZlL3Jlc3RvcmUgKi8KKyAg ICAgICAgWEVOX0dVRVNUX0hBTkRMRV82NCh4ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QpIGNsaWVu dDsgLyogSU4vT1VUIGZvciAqLworICAgICAgICAgICAgICAgICAgICAgICAgLyogIFhFTl9TWVND VExfVE1FTV9PUF9bR0VULFNBVkVdX0NMSUVOVC4gKi8KKyAgICB9IHU7CiB9OwogdHlwZWRlZiBz dHJ1Y3QgeGVuX3N5c2N0bF90bWVtX29wIHhlbl9zeXNjdGxfdG1lbV9vcF90OwogREVGSU5FX1hF Tl9HVUVTVF9IQU5ETEUoeGVuX3N5c2N0bF90bWVtX29wX3QpOwotLSAKMi40LjExCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==