From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 REPOST 08/12] x86/hvm/ioreq: move is_default into struct hvm_ioreq_server Date: Tue, 22 Aug 2017 15:51:02 +0100 Message-ID: <20170822145107.6877-9-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 1dkAX2-0002PB-CE for xen-devel@lists.xenproject.org; Tue, 22 Aug 2017 14:51:52 +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: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org TGVnYWN5IGVtdWxhdG9ycyB1c2UgdGhlICdkZWZhdWx0JyBJT1JFUSBzZXJ2ZXIgd2hpY2ggaGFz IHNsaWdodGx5CmRpZmZlcmVudCBzZW1hbnRpY3MgdGhhbiBvdGhlciwgZXhwbGljaXRseSBjcmVh dGVkLCBJT1JFUSBzZXJ2ZXJzLgoKQmVjYXVzZSBvZiB0aGlzLCBtb3N0IG9mIHRoZSBpbml0aWFs aXphdGlvbiBhbmQgdGVhcmRvd24gY29kZSBuZWVkcyB0bwprbm93IHdoZXRoZXIgdGhlIHNlcnZl ciBpcyBkZWZhdWx0IG9yIG5vdC4gVGhpcyBpcyBjdXJyZW50bHkgYWNoaWV2ZWQKYnkgcGFzc2lu ZyBhbiBpc19kZWZhdWx0IGJvb2xlYW4gYXJndW1lbnQgdG8gdGhlIGZ1bmN0aW9ucyBpbiBxdWVz dGlvbiwKd2hlcmVhcyB0aGlzIGFyZ3VtZW50IGNvdWxkIGJlIGF2b2lkZWQgYnkgYWRkaW5nIGEg ZmllbGQgdG8gdGhlCmh2bV9pb3JlcV9zZXJ2ZXIgc3RydWN0dXJlIHdoaWNoIGlzIGFsc28gcGFz c2VkIGFzIGFuIGFyZ3VtZW50IHRvIGFsbAp0aGUgcmVsZXZhbnQgZnVuY3Rpb25zLgoKU2lnbmVk LW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCkNjOiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYyAgICAgICAg IHwgODAgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2Vy dGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v aW9yZXEuYyBiL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYwppbmRleCA1ZTAxZTFhNmQyLi41NzM3 MDgyMjM4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKKysrIGIveGVuL2Fy Y2gveDg2L2h2bS9pb3JlcS5jCkBAIC0zMDIsNyArMzAyLDcgQEAgc3RhdGljIHZvaWQgaHZtX3Vw ZGF0ZV9pb3JlcV9ldnRjaG4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiB9CiAKIHN0YXRp YyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9hZGRfdmNwdShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQs IHN0cnVjdCB2Y3B1ICp2KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVjdCBodm1faW9yZXFfdmNwdSAqc3Y7CiAgICAgaW50 IHJjOwpAQCAtMzMxLDcgKzMzMSw3IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9hZGRf dmNwdShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICAgICAgICAgIGdvdG8gZmFpbDM7 CiAKICAgICAgICAgcy0+YnVmaW9yZXFfZXZ0Y2huID0gcmM7Ci0gICAgICAgIGlmICggaXNfZGVm YXVsdCApCisgICAgICAgIGlmICggcy0+aXNfZGVmYXVsdCApCiAgICAgICAgICAgICBkLT5hcmNo Lmh2bV9kb21haW4ucGFyYW1zW0hWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE5dID0KICAgICAgICAg ICAgICAgICBzLT5idWZpb3JlcV9ldnRjaG47CiAgICAgfQpAQCAtNDMxLDcgKzQzMSw2IEBAIHN0 YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9tYXBfcGFnZXMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2 ZXIgKnMsCiB9CiAKIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9zZXR1cF9wYWdlcyhzdHJ1 Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGlzX2RlZmF1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCBoYW5kbGVfYnVmaW9yZXEpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9 IHMtPmRvbWFpbjsKQEAgLTQzOSw3ICs0MzgsNyBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2 ZXJfc2V0dXBfcGFnZXMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgdW5zaWduZWQg bG9uZyBidWZpb3JlcV9nZm4gPSBnZm5feChJTlZBTElEX0dGTik7CiAgICAgaW50IHJjOwogCi0g ICAgaWYgKCBpc19kZWZhdWx0ICkKKyAgICBpZiAoIHMtPmlzX2RlZmF1bHQgKQogICAgIHsKICAg ICAgICAgLyoKICAgICAgICAgICogVGhlIGRlZmF1bHQgaW9yZXEgc2VydmVyIG11c3QgaGFuZGxl IGJ1ZmZlcmVkIGlvcmVxcywgZm9yCkBAIC00NjgsOCArNDY3LDcgQEAgc3RhdGljIGludCBodm1f aW9yZXFfc2VydmVyX3NldHVwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAg IHJldHVybiByYzsKIH0KIAotc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl91bm1hcF9wYWdl cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBpc19kZWZhdWx0KQorc3RhdGljIHZvaWQgaHZtX2lvcmVxX3Nl cnZlcl91bm1hcF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKIHsKICAgICBzdHJ1 Y3QgZG9tYWluICpkID0gcy0+ZG9tYWluOwogICAgIGJvb2wgaGFuZGxlX2J1ZmlvcmVxID0gISFz LT5idWZpb3JlcS52YTsKQEAgLTQ3OSw3ICs0NzcsNyBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFf c2VydmVyX3VubWFwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogCiAgICAgaHZt X3VubWFwX2lvcmVxX3BhZ2UocywgZmFsc2UpOwogCi0gICAgaWYgKCAhaXNfZGVmYXVsdCApCisg ICAgaWYgKCAhcy0+aXNfZGVmYXVsdCApCiAgICAgewogICAgICAgICBpZiAoIGhhbmRsZV9idWZp b3JlcSApCiAgICAgICAgICAgICBodm1fZnJlZV9pb3JlcV9nZm4oZCwgcy0+YnVmaW9yZXEuZ2Zu KTsKQEAgLTQ4OCwyNSArNDg2LDIzIEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfdW5t YXBfcGFnZXMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgfQogfQogCi1zdGF0aWMg dm9pZCBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHN0cnVjdCBodm1faW9yZXFfc2Vy dmVyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IGlzX2RlZmF1bHQpCitzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRz KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzKQogewogICAgIHVuc2lnbmVkIGludCBpOwogCi0g ICAgaWYgKCBpc19kZWZhdWx0ICkKKyAgICBpZiAoIHMtPmlzX2RlZmF1bHQgKQogICAgICAgICBy ZXR1cm47CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IE5SX0lPX1JBTkdFX1RZUEVTOyBpKysgKQog ICAgICAgICByYW5nZXNldF9kZXN0cm95KHMtPnJhbmdlW2ldKTsKIH0KIAotc3RhdGljIGludCBo dm1faW9yZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19k ZWZhdWx0KQorc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzdHJ1 Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsKICAgICBpbnQg cmM7CiAKLSAgICBpZiAoIGlzX2RlZmF1bHQgKQorICAgIGlmICggcy0+aXNfZGVmYXVsdCApCiAg ICAgICAgIGdvdG8gZG9uZTsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgTlJfSU9fUkFOR0VfVFlQ RVM7IGkrKyApCkBAIC01MzcsMTMgKzUzMywxMiBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2 ZXJfYWxsb2NfcmFuZ2VzZXRzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgIHJldHVy biAwOwogCiAgZmFpbDoKLSAgICBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHMsIGZh bHNlKTsKKyAgICBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHMpOwogCiAgICAgcmV0 dXJuIHJjOwogfQogCi1zdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2VuYWJsZShzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgaXNfZGVmYXVsdCkKK3N0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHN0 cnVjdCBodm1faW9yZXFfc2VydmVyICpzKQogewogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT5k b21haW47CiAgICAgc3RydWN0IGh2bV9pb3JlcV92Y3B1ICpzdjsKQEAgLTU1NCw3ICs1NDksNyBA QCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2VuYWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqcywKICAgICBpZiAoIHMtPmVuYWJsZWQgKQogICAgICAgICBnb3RvIGRvbmU7CiAKLSAg ICBpZiAoICFpc19kZWZhdWx0ICkKKyAgICBpZiAoICFzLT5pc19kZWZhdWx0ICkKICAgICB7CiAg ICAgICAgIGh2bV9yZW1vdmVfaW9yZXFfZ2ZuKGQsICZzLT5pb3JlcSk7CiAKQEAgLTU3Myw4ICs1 NjgsNyBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2VuYWJsZShzdHJ1Y3QgaHZtX2lv cmVxX3NlcnZlciAqcywKICAgICBzcGluX3VubG9jaygmcy0+bG9jayk7CiB9CiAKLXN0YXRpYyB2 b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQpCitz dGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2Rpc2FibGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2 ZXIgKnMpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHMtPmRvbWFpbjsKICAgICBib29sIGhh bmRsZV9idWZpb3JlcSA9ICEhcy0+YnVmaW9yZXEudmE7CkBAIC01ODQsNyArNTc4LDcgQEAgc3Rh dGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9kaXNhYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVy ICpzLAogICAgIGlmICggIXMtPmVuYWJsZWQgKQogICAgICAgICBnb3RvIGRvbmU7CiAKLSAgICBp ZiAoICFpc19kZWZhdWx0ICkKKyAgICBpZiAoICFzLT5pc19kZWZhdWx0ICkKICAgICB7CiAgICAg ICAgIGlmICggaGFuZGxlX2J1ZmlvcmVxICkKICAgICAgICAgICAgIGh2bV9hZGRfaW9yZXFfZ2Zu KGQsICZzLT5idWZpb3JlcSk7CkBAIC02MDAsOCArNTk0LDcgQEAgc3RhdGljIHZvaWQgaHZtX2lv cmVxX3NlcnZlcl9kaXNhYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogCiBzdGF0aWMg aW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQsIGRvbWlkX3Qg ZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQs IGludCBidWZpb3JlcV9oYW5kbGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlvc2VydmlkX3QgaWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnVm aW9yZXFfaGFuZGxpbmcsIGlvc2VydmlkX3QgaWQpCiB7CiAgICAgc3RydWN0IHZjcHUgKnY7CiAg ICAgaW50IHJjOwpAQCAtNjE0LDcgKzYwNyw3IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZl cl9pbml0KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgIElOSVRfTElTVF9IRUFEKCZz LT5pb3JlcV92Y3B1X2xpc3QpOwogICAgIHNwaW5fbG9ja19pbml0KCZzLT5idWZpb3JlcV9sb2Nr KTsKIAotICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9hbGxvY19yYW5nZXNldHMocywgaXNfZGVm YXVsdCk7CisgICAgcmMgPSBodm1faW9yZXFfc2VydmVyX2FsbG9jX3Jhbmdlc2V0cyhzKTsKICAg ICBpZiAoIHJjICkKICAgICAgICAgcmV0dXJuIHJjOwogCkBAIC02MjIsMTMgKzYxNSwxMyBAQCBz dGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAq cywKICAgICAgICAgcy0+YnVmaW9yZXFfYXRvbWljID0gdHJ1ZTsKIAogICAgIHJjID0gaHZtX2lv cmVxX3NlcnZlcl9zZXR1cF9wYWdlcygKLSAgICAgICAgICAgICBzLCBpc19kZWZhdWx0LCBidWZp b3JlcV9oYW5kbGluZyAhPSBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfT0ZGKTsKKyAgICAgICAgICAg ICBzLCBidWZpb3JlcV9oYW5kbGluZyAhPSBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfT0ZGKTsKICAg ICBpZiAoIHJjICkKICAgICAgICAgZ290byBmYWlsX21hcDsKIAogICAgIGZvcl9lYWNoX3ZjcHUg KCBkLCB2ICkKICAgICB7Ci0gICAgICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9hZGRfdmNwdShz LCBpc19kZWZhdWx0LCB2KTsKKyAgICAgICAgcmMgPSBodm1faW9yZXFfc2VydmVyX2FkZF92Y3B1 KHMsIHYpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIGdvdG8gZmFpbF9hZGQ7CiAg ICAgfQpAQCAtNjM3LDIxICs2MzAsMjAgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2lu aXQoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAKICBmYWlsX2FkZDoKICAgICBodm1faW9y ZXFfc2VydmVyX3JlbW92ZV9hbGxfdmNwdXMocyk7Ci0gICAgaHZtX2lvcmVxX3NlcnZlcl91bm1h cF9wYWdlcyhzLCBpc19kZWZhdWx0KTsKKyAgICBodm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2Vz KHMpOwogCiAgZmFpbF9tYXA6Ci0gICAgaHZtX2lvcmVxX3NlcnZlcl9mcmVlX3Jhbmdlc2V0cyhz LCBpc19kZWZhdWx0KTsKKyAgICBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHMpOwog CiAgICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2RlaW5p dChzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgaXNfZGVmYXVsdCkKK3N0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJf ZGVpbml0KHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzKQogewogICAgIEFTU0VSVCghcy0+ZW5h YmxlZCk7CiAgICAgaHZtX2lvcmVxX3NlcnZlcl9yZW1vdmVfYWxsX3ZjcHVzKHMpOwotICAgIGh2 bV9pb3JlcV9zZXJ2ZXJfdW5tYXBfcGFnZXMocywgaXNfZGVmYXVsdCk7Ci0gICAgaHZtX2lvcmVx X3NlcnZlcl9mcmVlX3Jhbmdlc2V0cyhzLCBpc19kZWZhdWx0KTsKKyAgICBodm1faW9yZXFfc2Vy dmVyX3VubWFwX3BhZ2VzKHMpOworICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMo cyk7CiB9CiAKIHN0YXRpYyBpb3NlcnZpZF90IG5leHRfaW9zZXJ2aWQoc3RydWN0IGRvbWFpbiAq ZCkKQEAgLTY5NSw2ICs2ODcsOCBAQCBpbnQgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoc3RydWN0 IGRvbWFpbiAqZCwgZG9taWRfdCBkb21pZCwKICAgICBpZiAoICFzICkKICAgICAgICAgZ290byBm YWlsMTsKIAorICAgIHMtPmlzX2RlZmF1bHQgPSBpc19kZWZhdWx0OworCiAgICAgZG9tYWluX3Bh dXNlKGQpOwogICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3Jl cV9zZXJ2ZXIubG9jayk7CiAKQEAgLTcwMiw3ICs2OTYsNyBAQCBpbnQgaHZtX2NyZWF0ZV9pb3Jl cV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgZG9taWRfdCBkb21pZCwKICAgICBpZiAoIGlzX2Rl ZmF1bHQgJiYgZC0+YXJjaC5odm1fZG9tYWluLmRlZmF1bHRfaW9yZXFfc2VydmVyICE9IE5VTEwg KQogICAgICAgICBnb3RvIGZhaWwyOwogCi0gICAgcmMgPSBodm1faW9yZXFfc2VydmVyX2luaXQo cywgZCwgZG9taWQsIGlzX2RlZmF1bHQsIGJ1ZmlvcmVxX2hhbmRsaW5nLAorICAgIHJjID0gaHZt X2lvcmVxX3NlcnZlcl9pbml0KHMsIGQsIGRvbWlkLCBidWZpb3JlcV9oYW5kbGluZywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0X2lvc2VydmlkKGQpKTsKICAgICBpZiAoIHJj ICkKICAgICAgICAgZ290byBmYWlsMzsKQEAgLTcxMyw3ICs3MDcsNyBAQCBpbnQgaHZtX2NyZWF0 ZV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgZG9taWRfdCBkb21pZCwKICAgICBpZiAo IGlzX2RlZmF1bHQgKQogICAgIHsKICAgICAgICAgZC0+YXJjaC5odm1fZG9tYWluLmRlZmF1bHRf aW9yZXFfc2VydmVyID0gczsKLSAgICAgICAgaHZtX2lvcmVxX3NlcnZlcl9lbmFibGUocywgdHJ1 ZSk7CisgICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHMpOwogICAgIH0KIAogICAgIGlm ICggaWQgKQpAQCAtNzU2LDExICs3NTAsMTEgQEAgaW50IGh2bV9kZXN0cm95X2lvcmVxX3NlcnZl cihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkKQogCiAgICAgICAgIHAybV9zZXRfaW9y ZXFfc2VydmVyKGQsIDAsIHMpOwogCi0gICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShz LCBmYWxzZSk7CisgICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShzKTsKIAogICAgICAg ICBsaXN0X2RlbCgmcy0+bGlzdF9lbnRyeSk7CiAKLSAgICAgICAgaHZtX2lvcmVxX3NlcnZlcl9k ZWluaXQocywgZmFsc2UpOworICAgICAgICBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzKTsKIAog ICAgICAgICBkb21haW5fdW5wYXVzZShkKTsKIApAQCAtOTkyLDkgKzk4Niw5IEBAIGludCBodm1f c2V0X2lvcmVxX3NlcnZlcl9zdGF0ZShzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAog ICAgICAgICBkb21haW5fcGF1c2UoZCk7CiAKICAgICAgICAgaWYgKCBlbmFibGVkICkKLSAgICAg ICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHMsIGZhbHNlKTsKKyAgICAgICAgICAgIGh2 bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHMpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBodm1f aW9yZXFfc2VydmVyX2Rpc2FibGUocywgZmFsc2UpOworICAgICAgICAgICAgaHZtX2lvcmVxX3Nl cnZlcl9kaXNhYmxlKHMpOwogCiAgICAgICAgIGRvbWFpbl91bnBhdXNlKGQpOwogCkBAIC0xMDE3 LDkgKzEwMTEsNyBAQCBpbnQgaHZtX2FsbF9pb3JlcV9zZXJ2ZXJzX2FkZF92Y3B1KHN0cnVjdCBk b21haW4gKmQsIHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAmZC0+ YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5saXN0LAogICAgICAgICAgICAgICAgICAgICAg ICAgICBsaXN0X2VudHJ5ICkKICAgICB7Ci0gICAgICAgIGJvb2wgaXNfZGVmYXVsdCA9IChzID09 IGQtPmFyY2guaHZtX2RvbWFpbi5kZWZhdWx0X2lvcmVxX3NlcnZlcik7Ci0KLSAgICAgICAgcmMg PSBodm1faW9yZXFfc2VydmVyX2FkZF92Y3B1KHMsIGlzX2RlZmF1bHQsIHYpOworICAgICAgICBy YyA9IGh2bV9pb3JlcV9zZXJ2ZXJfYWRkX3ZjcHUocywgdik7CiAgICAgICAgIGlmICggcmMgKQog ICAgICAgICAgICAgZ290byBmYWlsOwogICAgIH0KQEAgLTEwNjYsMTYgKzEwNTgsMTQgQEAgdm9p ZCBodm1fZGVzdHJveV9hbGxfaW9yZXFfc2VydmVycyhzdHJ1Y3QgZG9tYWluICpkKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVy Lmxpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdF9lbnRyeSApCiAgICAg ewotICAgICAgICBib29sIGlzX2RlZmF1bHQgPSAocyA9PSBkLT5hcmNoLmh2bV9kb21haW4uZGVm YXVsdF9pb3JlcV9zZXJ2ZXIpOwotCi0gICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShz LCBpc19kZWZhdWx0KTsKKyAgICAgICAgaHZtX2lvcmVxX3NlcnZlcl9kaXNhYmxlKHMpOwogCi0g ICAgICAgIGlmICggaXNfZGVmYXVsdCApCisgICAgICAgIGlmICggcy0+aXNfZGVmYXVsdCApCiAg ICAgICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9zZXJ2ZXIgPSBOVUxM OwogCiAgICAgICAgIGxpc3RfZGVsKCZzLT5saXN0X2VudHJ5KTsKIAotICAgICAgICBodm1faW9y ZXFfc2VydmVyX2RlaW5pdChzLCBpc19kZWZhdWx0KTsKKyAgICAgICAgaHZtX2lvcmVxX3NlcnZl cl9kZWluaXQocyk7CiAKICAgICAgICAgeGZyZWUocyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9k b21haW4uaAppbmRleCA3ZjEyOGMwNWZmLi4xNjM0NGQxNzNiIDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS9hc20teDg2L2h2bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9k b21haW4uaApAQCAtNzEsNiArNzEsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciB7CiAgICAg c3RydWN0IHJhbmdlc2V0ICAgICAgICAqcmFuZ2VbTlJfSU9fUkFOR0VfVFlQRVNdOwogICAgIGJv b2wgICAgICAgICAgICAgICAgICAgZW5hYmxlZDsKICAgICBib29sICAgICAgICAgICAgICAgICAg IGJ1ZmlvcmVxX2F0b21pYzsKKyAgICBib29sICAgICAgICAgICAgICAgICAgIGlzX2RlZmF1bHQ7 CiB9OwogCiAvKgotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==