From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [RFC Patch v4 2/8] ioreq: bump the number of IOREQ page to 4 pages Date: Wed, 6 Dec 2017 15:50:08 +0800 Message-ID: <1512546614-9937-3-git-send-email-chao.gao@intel.com> References: <1512546614-9937-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1512546614-9937-1-git-send-email-chao.gao@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Tim Deegan , Paul Durrant , Jan Beulich , Ian Jackson , Chao Gao List-Id: xen-devel@lists.xenproject.org T25lIDRLLWJ5dGUgcGFnZSBhdCBtb3N0IGNvbnRhaW5zIDEyOCAnaW9yZXFfdCcuIEluIG9yZGVy IHRvIHJlbW92ZSB0aGUgdmNwdQpudW1iZXIgY29uc3RyYWludCBpbXBvc2VkIGJ5IG9uZSBJT1JF USBwYWdlLCBidW1wIHRoZSBudW1iZXIgb2YgSU9SRVEgcGFnZSB0bwo0IHBhZ2VzLiBXaXRoIHRo aXMgcGF0Y2gsIG11bHRpcGxlIHBhZ2VzIGNhbiBiZSB1c2VkIGFzIElPUkVRIHBhZ2UuCgpCYXNp Y2FsbHksIHRoaXMgcGF0Y2ggZXh0ZW5kcyAnaW9yZXEnIGZpZWxkIGluIHN0cnVjdCBodm1faW9y ZXFfc2VydmVyIHRvIGFuCmFycmF5LiBBbGwgYWNjZXNzZXMgdG8gJ2lvcmVxJyBmaWVsZCBzdWNo IGFzICdzLT5pb3JlcScgYXJlIHJlcGxhY2VkIHdpdGgKRk9SX0VBQ0hfSU9SRVFfUEFHRSBtYWNy by4KCkluIG9yZGVyIHRvIGFjY2VzcyBhbiBJT1JFUSBwYWdlLCBRRU1VIHNob3VsZCBnZXQgdGhl IGdtZm4gYW5kIG1hcCB0aGlzIGdtZm4KdG8gaXRzIHZpcnR1YWwgYWRkcmVzcyBzcGFjZS4gTm93 IHRoZXJlIGFyZSBzZXZlcmFsIHBhZ2VzLCB0byBiZSBjb21wYXRpYmxlCndpdGggcHJldmlvdXMg UUVNVSwgdGhlIGludGVyZmFjZSB0byBnZXQgdGhlIGdtZm4gZG9lc24ndCBjaGFuZ2UuIEJ1dCBu ZXdlcgpRRU1VIG5lZWRzIHRvIGdldCB0aGUgZ21mbiByZXBlYXRseSB1bnRpbCBhIHNhbWUgZ21m biBpcyBmb3VuZC4gVG8gaW1wbGVtZW50CnRoaXMsIGFuIGludGVybmFsIGluZGV4IGlzIGludHJv ZHVjZWQ6IHdoZW4gUUVNVSBxdWVyaWVzIHRoZSBnbWZuLCB0aGUgZ21mbiBvZgpJT1JFUSBwYWdl IHJlZmVyZW5jZWQgYnkgdGhlIGluZGV4IGlzIHJldHVybmVkLiAgQWZ0ZXIgZWFjaCBvcGVyYXRp b24sIHRoZQppbmRleCBpbmNyZWFzZXMgYnkgMSBhbmQgcmV3aW5kcyB3aGVuIGl0IG92ZXJmbG93 cy4KClNpZ25lZC1vZmYtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0tLQp2NDoK IC0gbmV3Ci0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCAgICAgfCAgIDIgKy0KIHRv b2xzL2xpYnhjL3hjX2RvbV94ODYuYyAgICAgICAgIHwgICA2ICstCiB4ZW4vYXJjaC94ODYvaHZt L2h2bS5jICAgICAgICAgICB8ICAgMSArCiB4ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgICAgICAg ICB8IDExNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHhlbi9pbmNs dWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oIHwgICA2ICstCiB4ZW4vaW5jbHVkZS9wdWJsaWMvaHZt L2lvcmVxLmggICB8ICAgMiArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oICB8ICAg OCArKy0KIDcgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmggYi90b29scy9saWJ4 Yy9pbmNsdWRlL3hjX2RvbS5oCmluZGV4IDQ1YzlkNjcuLjJmOGI0MTIgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94Y19k b20uaApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgPHhlbmd1ZXN0Lmg+CiAKICNkZWZpbmUg SU5WQUxJRF9QRk4gKCh4ZW5fcGZuX3QpLTEpCi0jZGVmaW5lIFg4Nl9IVk1fTlJfU1BFQ0lBTF9Q QUdFUyAgICA4CisjZGVmaW5lIFg4Nl9IVk1fTlJfU1BFQ0lBTF9QQUdFUyAgICAxMQogI2RlZmlu ZSBYODZfSFZNX0VORF9TUEVDSUFMX1JFR0lPTiAgMHhmZjAwMHUKIAogLyogLS0tIHR5cGVkZWZz IGFuZCBzdHJ1Y3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8K ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYuYyBiL3Rvb2xzL2xpYnhjL3hjX2Rv bV94ODYuYwppbmRleCBiZmY2OGEwLi5iMzE2ZWJjIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94 Y19kb21feDg2LmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jCkBAIC0zMiw2ICszMiw3 IEBACiAjaW5jbHVkZSA8eGVuL2ZvcmVpZ24veDg2XzMyLmg+CiAjaW5jbHVkZSA8eGVuL2ZvcmVp Z24veDg2XzY0Lmg+CiAjaW5jbHVkZSA8eGVuL2h2bS9odm1faW5mb190YWJsZS5oPgorI2luY2x1 ZGUgPHhlbi9odm0vaW9yZXEuaD4KICNpbmNsdWRlIDx4ZW4vYXJjaC14ODYvaHZtL3N0YXJ0X2lu Zm8uaD4KICNpbmNsdWRlIDx4ZW4vaW8vcHJvdG9jb2xzLmg+CiAKQEAgLTU3LDggKzU4LDggQEAK ICNkZWZpbmUgU1BFQ0lBTFBBR0VfQlVGSU9SRVEgMwogI2RlZmluZSBTUEVDSUFMUEFHRV9YRU5T VE9SRSA0CiAjZGVmaW5lIFNQRUNJQUxQQUdFX0lPUkVRICAgIDUKLSNkZWZpbmUgU1BFQ0lBTFBB R0VfSURFTlRfUFQgNgotI2RlZmluZSBTUEVDSUFMUEFHRV9DT05TT0xFICA3CisjZGVmaW5lIFNQ RUNJQUxQQUdFX0lERU5UX1BUICg1ICsgTUFYX0lPUkVRX1BBR0UpCisjZGVmaW5lIFNQRUNJQUxQ QUdFX0NPTlNPTEUgIChTUEVDSUFMUEFHRV9JREVOVF9QVCArIDEpCiAjZGVmaW5lIHNwZWNpYWxf cGZuKHgpIFwKICAgICAoWDg2X0hWTV9FTkRfU1BFQ0lBTF9SRUdJT04gLSBYODZfSFZNX05SX1NQ RUNJQUxfUEFHRVMgKyAoeCkpCiAKQEAgLTYxMiw2ICs2MTMsNyBAQCBzdGF0aWMgaW50IGFsbG9j X21hZ2ljX3BhZ2VzX2h2bShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWDg2X0hWTV9OUl9TUEVDSUFMX1BBR0VTKSApCiAgICAgICAgICAg ICBnb3RvIGVycm9yX291dDsKIAorICAgIHhjX2h2bV9wYXJhbV9zZXQoeGNoLCBkb21pZCwgSFZN X1BBUkFNX0lPUkVRX1BBR0VTLCBNQVhfSU9SRVFfUEFHRSk7CiAgICAgeGNfaHZtX3BhcmFtX3Nl dCh4Y2gsIGRvbWlkLCBIVk1fUEFSQU1fU1RPUkVfUEZOLAogICAgICAgICAgICAgICAgICAgICAg c3BlY2lhbF9wZm4oU1BFQ0lBTFBBR0VfWEVOU1RPUkUpKTsKICAgICB4Y19odm1fcGFyYW1fc2V0 KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA1ZDA2NzY3Li4w YjNiZDA0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNo L3g4Ni9odm0vaHZtLmMKQEAgLTQwNzcsNiArNDA3Nyw3IEBAIHN0YXRpYyBpbnQgaHZtX2FsbG93 X3NldF9wYXJhbShzdHJ1Y3QgZG9tYWluICpkLAogICAgIGNhc2UgSFZNX1BBUkFNX05SX0lPUkVR X1NFUlZFUl9QQUdFUzoKICAgICBjYXNlIEhWTV9QQVJBTV9BTFRQMk06CiAgICAgY2FzZSBIVk1f UEFSQU1fTUNBX0NBUDoKKyAgICBjYXNlIEhWTV9QQVJBTV9JT1JFUV9QQUdFUzoKICAgICAgICAg aWYgKCB2YWx1ZSAhPSAwICYmIGEtPnZhbHVlICE9IHZhbHVlICkKICAgICAgICAgICAgIHJjID0g LUVFWElTVDsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lv cmVxLmMgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKaW5kZXggYTg3OWYyMC4uMGEzNjAwMSAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9o dm0vaW9yZXEuYwpAQCAtNjQsMTQgKzY0LDI0IEBAIHN0YXRpYyBzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqZ2V0X2lvcmVxX3NlcnZlcihjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAg ICAgY29udGludWU7IFwKICAgICAgICAgZWxzZQogCisvKiBJdGVyYXRlIG92ZXIgYWxsIGlvcmVx IHBhZ2VzICovCisjZGVmaW5lIEZPUl9FQUNIX0lPUkVRX1BBR0UocywgaSwgaW9ycCkgXAorICAg IGZvciAoIChpKSA9IDAsIGlvcnAgPSBzLT5pb3JlcTsgKGkpIDwgKHMpLT5pb3JlcV9wYWdlX25y OyAoaSkrKywgaW9ycCsrICkKKwogc3RhdGljIGlvcmVxX3QgKmdldF9pb3JlcShzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciAqcywgc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgc2hhcmVkX2lvcGFnZV90 ICpwID0gcy0+aW9yZXEudmE7CisgICAgc2hhcmVkX2lvcGFnZV90ICpwID0gcy0+aW9yZXFbdi0+ dmNwdV9pZCAvIElPUkVRX05VTV9QRVJfUEFHRV0udmE7CiAKICAgICBBU1NFUlQoKHYgPT0gY3Vy cmVudCkgfHwgIXZjcHVfcnVubmFibGUodikpOwogICAgIEFTU0VSVChwICE9IE5VTEwpOwogCi0g ICAgcmV0dXJuICZwLT52Y3B1X2lvcmVxW3YtPnZjcHVfaWRdOworICAgIHJldHVybiAmcC0+dmNw dV9pb3JlcVt2LT52Y3B1X2lkICUgSU9SRVFfTlVNX1BFUl9QQUdFXTsKK30KKworc3RhdGljIGlv cmVxX3QgKmdldF9pb3JlcV9mYWxsaWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgc3Ry dWN0IHZjcHUgKnYpCit7CisgICAgcmV0dXJuIHMtPmlvcmVxW3YtPnZjcHVfaWQgLyBJT1JFUV9O VU1fUEVSX1BBR0VdLnZhID8KKyAgICAgICAgICAgZ2V0X2lvcmVxKHMsIHYpIDogTlVMTDsKIH0K IAogYm9vbCBodm1faW9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdikKQEAgLTI1MiwxMCArMjYyLDEw IEBAIHN0YXRpYyB2b2lkIGh2bV91bm1hcF9pb3JlcV9nZm4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2 ZXIgKnMsCiAgICAgaW9ycC0+Z2ZuID0gSU5WQUxJRF9HRk47CiB9CiAKLXN0YXRpYyBpbnQgaHZt X21hcF9pb3JlcV9nZm4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2wgYnVmKQorc3Rh dGljIGludCBodm1fbWFwX2lvcmVxX2dmbihzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgYm9v bCBidWYsIHVpbnQ4X3QgaSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+ZG9tYWluOwot ICAgIHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycCA9IGJ1ZiA/ICZzLT5idWZpb3JlcSA6ICZz LT5pb3JlcTsKKyAgICBzdHJ1Y3QgaHZtX2lvcmVxX3BhZ2UgKmlvcnAgPSBidWYgPyAmcy0+YnVm aW9yZXEgOiAmcy0+aW9yZXFbaV07CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCBpb3JwLT5wYWdl ICkKQEAgLTI3Nyw3ICsyODcsNyBAQCBzdGF0aWMgaW50IGh2bV9tYXBfaW9yZXFfZ2ZuKHN0cnVj dCBodm1faW9yZXFfc2VydmVyICpzLCBib29sIGJ1ZikKICAgICBpZiAoIElTX0RFRkFVTFQocykg KQogICAgICAgICBpb3JwLT5nZm4gPSBfZ2ZuKGJ1ZiA/CiAgICAgICAgICAgICAgICAgICAgICAg ICAgZC0+YXJjaC5odm1fZG9tYWluLnBhcmFtc1tIVk1fUEFSQU1fQlVGSU9SRVFfUEZOXSA6Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5odm1fZG9tYWluLnBhcmFtc1tIVk1fUEFS QU1fSU9SRVFfUEZOXSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5odm1fZG9t YWluLnBhcmFtc1tIVk1fUEFSQU1fSU9SRVFfUEZOXSArIGkpOwogICAgIGVsc2UKICAgICAgICAg aW9ycC0+Z2ZuID0gaHZtX2FsbG9jX2lvcmVxX2dmbihzKTsKIApAQCAtMzY2LDcgKzM3NiwyMiBA QCBib29sIGlzX2lvcmVxX3NlcnZlcl9wYWdlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IHN0cnVj dCBwYWdlX2luZm8gKnBhZ2UpCiAKICAgICBGT1JfRUFDSF9JT1JFUV9TRVJWRVIoZCwgaWQsIHMp CiAgICAgewotICAgICAgICBpZiAoIChzLT5pb3JlcS5wYWdlID09IHBhZ2UpIHx8IChzLT5idWZp b3JlcS5wYWdlID09IHBhZ2UpICkKKyAgICAgICAgaW50IGk7CisgICAgICAgIGNvbnN0IHN0cnVj dCBodm1faW9yZXFfcGFnZSAqaW9ycDsKKworICAgICAgICBGT1JfRUFDSF9JT1JFUV9QQUdFKHMs IGksIGlvcnApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggaW9ycC0+cGFnZSA9PSBwYWdl ICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAo IGZvdW5kICkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGlmICggcy0+YnVmaW9yZXEu cGFnZSA9PSBwYWdlICkKICAgICAgICAgewogICAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAg ICAgICAgICAgYnJlYWs7CkBAIC00MTUsMTQgKzQ0MCwxMiBAQCBzdGF0aWMgaW50IGh2bV9hZGRf aW9yZXFfZ2ZuKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogc3RhdGljIHZvaWQgaHZtX3Vw ZGF0ZV9pb3JlcV9ldnRjaG4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2KQogewot ICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmcy0+bG9jaykpOworICAgIGlvcmVxX3QgKnAgPSBn ZXRfaW9yZXFfZmFsbGlibGUocywgc3YtPnZjcHUpOwogCi0gICAgaWYgKCBzLT5pb3JlcS52YSAh PSBOVUxMICkKLSAgICB7Ci0gICAgICAgIGlvcmVxX3QgKnAgPSBnZXRfaW9yZXEocywgc3YtPnZj cHUpOworICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmcy0+bG9jaykpOwogCisgICAgaWYgKCBw ICkKICAgICAgICAgcC0+dnBfZXBvcnQgPSBzdi0+aW9yZXFfZXZ0Y2huOwotICAgIH0KIH0KIAog I2RlZmluZSBIQU5ETEVfQlVGSU9SRVEocykgXApAQCAtNTQwLDQ0ICs1NjMsNjYgQEAgc3RhdGlj IHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9yZW1vdmVfYWxsX3ZjcHVzKHN0cnVjdCBodm1faW9yZXFf c2VydmVyICpzKQogCiBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfbWFwX3BhZ2VzKHN0cnVj dCBodm1faW9yZXFfc2VydmVyICpzKQogewotICAgIGludCByYzsKKyAgICBpbnQgaSwgcmMgPSAt RUlOVkFMOworICAgIHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycDsKIAotICAgIHJjID0gaHZt X21hcF9pb3JlcV9nZm4ocywgZmFsc2UpOworICAgIGZvciAoIGkgPSAwOyBpIDwgcy0+aW9yZXFf cGFnZV9ucjsgaSsrICkKKyAgICB7CisgICAgICAgIHJjID0gaHZtX21hcF9pb3JlcV9nZm4ocywg ZmFsc2UsIGkpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0K IAogICAgIGlmICggIXJjICYmIEhBTkRMRV9CVUZJT1JFUShzKSApCi0gICAgICAgIHJjID0gaHZt X21hcF9pb3JlcV9nZm4ocywgdHJ1ZSk7CisgICAgICAgIHJjID0gaHZtX21hcF9pb3JlcV9nZm4o cywgdHJ1ZSwgMCk7CiAKICAgICBpZiAoIHJjICkKLSAgICAgICAgaHZtX3VubWFwX2lvcmVxX2dm bihzLCAmcy0+aW9yZXEpOworICAgICAgICBGT1JfRUFDSF9JT1JFUV9QQUdFKHMsIGksIGlvcnAp CisgICAgICAgICAgICBodm1fdW5tYXBfaW9yZXFfZ2ZuKHMsIGlvcnApOwogCiAgICAgcmV0dXJu IHJjOwogfQogCiBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHN0cnVj dCBodm1faW9yZXFfc2VydmVyICpzKQogewotICAgIGh2bV91bm1hcF9pb3JlcV9nZm4ocywgJnMt PmlvcmVxKTsKKyAgICBpbnQgaTsKKyAgICBzdHJ1Y3QgaHZtX2lvcmVxX3BhZ2UgKmlvcnA7CisK KyAgICBGT1JfRUFDSF9JT1JFUV9QQUdFKHMsIGksIGlvcnApCisgICAgICAgIGh2bV91bm1hcF9p b3JlcV9nZm4ocywgaW9ycCk7CiAgICAgaHZtX3VubWFwX2lvcmVxX2dmbihzLCAmcy0+YnVmaW9y ZXEpOwogfQogCiBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfYWxsb2NfcGFnZXMoc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCiB7Ci0gICAgaW50IHJjOworICAgIGludCBpLCByYyA9IC1F SU5WQUw7CisgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwOwogCi0gICAgcmMgPSBodm1f YWxsb2NfaW9yZXFfbWZuKHMsICZzLT5pb3JlcSk7CisgICAgRk9SX0VBQ0hfSU9SRVFfUEFHRShz LCBpLCBpb3JwKQorICAgIHsKKyAgICAgICAgcmMgPSBodm1fYWxsb2NfaW9yZXFfbWZuKHMsIGlv cnApOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KIAogICAg IGlmICggIXJjICYmIChzLT5idWZpb3JlcV9oYW5kbGluZyAhPSBIVk1fSU9SRVFTUlZfQlVGSU9S RVFfT0ZGKSApCiAgICAgICAgIHJjID0gaHZtX2FsbG9jX2lvcmVxX21mbihzLCAmcy0+YnVmaW9y ZXEpOwogCiAgICAgaWYgKCByYyApCi0gICAgICAgIGh2bV9mcmVlX2lvcmVxX21mbihzLCAmcy0+ aW9yZXEpOworICAgICAgICBGT1JfRUFDSF9JT1JFUV9QQUdFKHMsIGksIGlvcnApCisgICAgICAg ICAgICBodm1fZnJlZV9pb3JlcV9tZm4ocywgaW9ycCk7CiAKICAgICByZXR1cm4gcmM7CiB9CiAK IHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcykKIHsKKyAgICBpbnQgaTsKKyAgICBzdHJ1Y3QgaHZtX2lvcmVxX3BhZ2UgKmlv cnA7CisKICAgICBodm1fZnJlZV9pb3JlcV9tZm4ocywgJnMtPmJ1ZmlvcmVxKTsKLSAgICBodm1f ZnJlZV9pb3JlcV9tZm4ocywgJnMtPmlvcmVxKTsKKyAgICBGT1JfRUFDSF9JT1JFUV9QQUdFKHMs IGksIGlvcnApCisgICAgICAgIGh2bV9mcmVlX2lvcmVxX21mbihzLCBpb3JwKTsKIH0KIAogc3Rh dGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9mcmVlX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcykKQEAgLTYzOCwxMyArNjgzLDE2IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3Nl cnZlcl9hbGxvY19yYW5nZXNldHMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiBzdGF0aWMg dm9pZCBodm1faW9yZXFfc2VydmVyX2VuYWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykK IHsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2OworICAgIHN0cnVjdCBodm1faW9yZXFf cGFnZSAqaW9ycDsKKyAgICBpbnQgaTsKIAogICAgIHNwaW5fbG9jaygmcy0+bG9jayk7CiAKICAg ICBpZiAoIHMtPmVuYWJsZWQgKQogICAgICAgICBnb3RvIGRvbmU7CiAKLSAgICBodm1fcmVtb3Zl X2lvcmVxX2dmbihzLCAmcy0+aW9yZXEpOworICAgIEZPUl9FQUNIX0lPUkVRX1BBR0UocywgaSwg aW9ycCkKKyAgICAgICAgaHZtX3JlbW92ZV9pb3JlcV9nZm4ocywgaW9ycCk7CiAgICAgaHZtX3Jl bW92ZV9pb3JlcV9nZm4ocywgJnMtPmJ1ZmlvcmVxKTsKIAogICAgIHMtPmVuYWJsZWQgPSB0cnVl OwpAQCAtNjYwLDEzICs3MDgsMTcgQEAgc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9lbmFi bGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCiAKIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9z ZXJ2ZXJfZGlzYWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKIHsKKyAgICBzdHJ1Y3Qg aHZtX2lvcmVxX3BhZ2UgKmlvcnA7CisgICAgaW50IGk7CisKICAgICBzcGluX2xvY2soJnMtPmxv Y2spOwogCiAgICAgaWYgKCAhcy0+ZW5hYmxlZCApCiAgICAgICAgIGdvdG8gZG9uZTsKIAogICAg IGh2bV9hZGRfaW9yZXFfZ2ZuKHMsICZzLT5idWZpb3JlcSk7Ci0gICAgaHZtX2FkZF9pb3JlcV9n Zm4ocywgJnMtPmlvcmVxKTsKKyAgICBGT1JfRUFDSF9JT1JFUV9QQUdFKHMsIGksIGlvcnApCisg ICAgICAgIGh2bV9hZGRfaW9yZXFfZ2ZuKHMsIGlvcnApOwogCiAgICAgcy0+ZW5hYmxlZCA9IGZh bHNlOwogCkBAIC02NzksNyArNzMxLDggQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2lu aXQoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgYnVmaW9yZXFfaGFuZGxpbmcsIGlvc2VydmlkX3QgaWQpCiB7CiAgICAgc3Ry dWN0IHZjcHUgKnY7Ci0gICAgaW50IHJjOworICAgIGludCByYywgaTsKKyAgICBzdHJ1Y3QgaHZt X2lvcmVxX3BhZ2UgKmlvcnA7CiAKICAgICBzLT5kb21haW4gPSBkOwogICAgIHMtPmRvbWlkID0g ZG9taWQ7CkBAIC02ODgsOCArNzQxLDE1IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9p bml0KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgIElOSVRfTElTVF9IRUFEKCZzLT5p b3JlcV92Y3B1X2xpc3QpOwogICAgIHNwaW5fbG9ja19pbml0KCZzLT5idWZpb3JlcV9sb2NrKTsK IAotICAgIHMtPmlvcmVxLmdmbiA9IElOVkFMSURfR0ZOOworICAgIEZPUl9FQUNIX0lPUkVRX1BB R0UocywgaSwgaW9ycCkKKyAgICAgICAgaW9ycC0+Z2ZuID0gSU5WQUxJRF9HRk47CiAgICAgcy0+ YnVmaW9yZXEuZ2ZuID0gSU5WQUxJRF9HRk47CisgICAgcy0+aW9yZXFfcGFnZV9uciA9IChkLT5t YXhfdmNwdXMgKyBJT1JFUV9OVU1fUEVSX1BBR0UgLSAxKSAvCisgICAgICAgICAgICAgICAgICAg ICAgIElPUkVRX05VTV9QRVJfUEFHRTsKKyAgICBpZiAoIHMtPmlvcmVxX3BhZ2VfbnIgPiBkLT5h cmNoLmh2bV9kb21haW4ucGFyYW1zW0hWTV9QQVJBTV9JT1JFUV9QQUdFU10gKQorICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKKworICAgIHMtPmlvcmVxX2lkeCA9IDA7CiAKICAgICByYyA9IGh2bV9p b3JlcV9zZXJ2ZXJfYWxsb2NfcmFuZ2VzZXRzKHMsIGlkKTsKICAgICBpZiAoIHJjICkKQEAgLTg2 Niw3ICs5MjYsMTAgQEAgaW50IGh2bV9nZXRfaW9yZXFfc2VydmVyX2luZm8oc3RydWN0IGRvbWFp biAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICB9CiAKICAgICBpZiAoIGlvcmVxX2dmbiApCi0gICAg ICAgICppb3JlcV9nZm4gPSBnZm5feChzLT5pb3JlcS5nZm4pOworICAgIHsKKyAgICAgICAgKmlv cmVxX2dmbiA9IGdmbl94KHMtPmlvcmVxW3MtPmlvcmVxX2lkeF0uZ2ZuKTsKKyAgICAgICAgcy0+ aW9yZXFfaWR4ID0gKHMtPmlvcmVxX2lkeCArIDEpICUgcy0+aW9yZXFfcGFnZV9ucjsKKyAgICB9 CiAKICAgICBpZiAoIEhBTkRMRV9CVUZJT1JFUShzKSApCiAgICAgewpAQCAtOTE2LDcgKzk3OSw4 IEBAIGludCBodm1fZ2V0X2lvcmVxX3NlcnZlcl9mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCBpb3Nl cnZpZF90IGlkLAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgWEVOTUVNX3Jlc291cmNlX2lv cmVxX3NlcnZlcl9mcmFtZV9pb3JlcSgwKToKLSAgICAgICAgKm1mbiA9IF9tZm4ocGFnZV90b19t Zm4ocy0+aW9yZXEucGFnZSkpOworICAgICAgICAqbWZuID0gX21mbihwYWdlX3RvX21mbihzLT5p b3JlcVtzLT5pb3JlcV9pZHhdLnBhZ2UpKTsKKyAgICAgICAgcy0+aW9yZXFfaWR4ID0gKHMtPmlv cmVxX2lkeCArIDEpICUgcy0+aW9yZXFfcGFnZV9ucjsKICAgICAgICAgcmMgPSAwOwogICAgICAg ICBicmVhazsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAppbmRleCA4N2Y3OTk0Li5mZjhjNDRk IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaApAQCAtNTEsNiArNTEsNyBAQCBzdHJ1Y3QgaHZt X2lvcmVxX3ZjcHUgewogCiAjZGVmaW5lIE5SX0lPX1JBTkdFX1RZUEVTIChYRU5fRE1PUF9JT19S QU5HRV9QQ0kgKyAxKQogI2RlZmluZSBNQVhfTlJfSU9fUkFOR0VTICAyNTYKKyNkZWZpbmUgSU9S RVFfTlVNX1BFUl9QQUdFIChQQUdFX1NJWkUgLyBzaXplb2YoaW9yZXFfdCkpCiAKIHN0cnVjdCBo dm1faW9yZXFfc2VydmVyIHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgIGxpc3RfZW50cnk7 CkBAIC02MSw3ICs2MiwxMCBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciB7CiAKICAgICAvKiBE b21haW4gaWQgb2YgZW11bGF0aW5nIGRvbWFpbiAqLwogICAgIGRvbWlkX3QgICAgICAgICAgICAg ICAgZG9taWQ7Ci0gICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICBpb3JlcTsKKyAgICAvKiBJbmRl eCBhbmQgc2l6ZSBvZiBpb3JlcSBwYWdlIGFycmF5ICovCisgICAgdWludDhfdCAgICAgICAgICAg ICAgICBpb3JlcV9pZHg7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICBpb3JlcV9wYWdlX25y OworICAgIHN0cnVjdCBodm1faW9yZXFfcGFnZSAgaW9yZXFbTUFYX0lPUkVRX1BBR0VdOwogICAg IHN0cnVjdCBsaXN0X2hlYWQgICAgICAgaW9yZXFfdmNwdV9saXN0OwogICAgIHN0cnVjdCBodm1f aW9yZXFfcGFnZSAgYnVmaW9yZXE7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9o dm0vaW9yZXEuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaW9yZXEuaAppbmRleCBkMzA5ZDEy Li5kNjI4MzAzIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2lvcmVxLmgKKysr IGIveGVuL2luY2x1ZGUvcHVibGljL2h2bS9pb3JlcS5oCkBAIC03MSw2ICs3MSw4IEBAIHN0cnVj dCBzaGFyZWRfaW9wYWdlIHsKIH07CiB0eXBlZGVmIHN0cnVjdCBzaGFyZWRfaW9wYWdlIHNoYXJl ZF9pb3BhZ2VfdDsKIAorI2RlZmluZSBNQVhfSU9SRVFfUEFHRSA0CisKIHN0cnVjdCBidWZfaW9y ZXEgewogICAgIHVpbnQ4X3QgIHR5cGU7ICAgLyogSS9PIHR5cGUgICAgICAgICAgICAgICAgICAg ICovCiAgICAgdWludDhfdCAgcGFkOjE7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMv aHZtL3BhcmFtcy5oIGIveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAppbmRleCAyZWMy ZTdjLi41Mzc3OTlkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5o CisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKQEAgLTI3OSw2ICsyNzksMTIg QEAKICNkZWZpbmUgWEVOX0hWTV9NQ0FfQ0FQX0xNQ0UgICAoeGVuX21rX3VsbG9uZygxKSA8PCAw KQogI2RlZmluZSBYRU5fSFZNX01DQV9DQVBfTUFTSyAgIFhFTl9IVk1fTUNBX0NBUF9MTUNFCiAK LSNkZWZpbmUgSFZNX05SX1BBUkFNUyAzOQorLyoKKyAqIE51bWJlciBvZiBwYWdlcyB0aGF0IGFy ZSByZXNlcnZlZCBmb3IgZGVmYXVsdCBJT1JFUSBzZXJ2ZXIuIFRoZSBiYXNlIFBGTgorICogaXMg c2V0IHZpYSBIVk1fUEFSQU1fSU9SRVFfUEZOLgorICovCisjZGVmaW5lIEhWTV9QQVJBTV9JT1JF UV9QQUdFUyAzOQorCisjZGVmaW5lIEhWTV9OUl9QQVJBTVMgNDAKIAogI2VuZGlmIC8qIF9fWEVO X1BVQkxJQ19IVk1fUEFSQU1TX0hfXyAqLwotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=