From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7933C3A5A8 for ; Tue, 3 Sep 2019 16:15:12 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8EF862341F for ; Tue, 3 Sep 2019 16:15:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="d4nIYO7V" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EF862341F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5BSD-0001s7-2j; Tue, 03 Sep 2019 16:14:49 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5BSC-0001rv-1E for xen-devel@lists.xenproject.org; Tue, 03 Sep 2019 16:14:48 +0000 X-Inumbo-ID: f24a4446-ce65-11e9-ab97-12813bfff9fa Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id f24a4446-ce65-11e9-ab97-12813bfff9fa; Tue, 03 Sep 2019 16:14:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1567527287; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qt960/TRo1SbW4x+6PlOt+hn82QaKoUVl+HwvwZNaTs=; b=d4nIYO7Vc5q/55EHEyiGO4tEfthrWe/8CdG7sONFVCEJ5K7e4BYT9QgB ztoXGMmhFfG8TYK6pvC6JwvcrI3DlL0FUi1P2TKI+jTuZBidsoJ4jhuS9 Q2WV5KlY/iikytqPvmoePk4pAEMqfwRWefv4jGI3Z4ZDMZCjmn35I3y5o U=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: MQgDxRFDgY2qkXyYx9EhX8pYHExyYJpVkIwzlzEhbT2OiwJnCbpmX9ptFd4rzldySLa++GldwA Z+5j1sBUEOmI3tq/e+PJ++SE8qsV7fx4iM53RAh1ykmMrX2fT++2s4Qhtw3HWezMevHABrYH4x uJcZ4LAMuxyD1guo5OUQlnRQZHu6Z7jDk38gYFFV/3EOSFR/WjPOB8jlB7Bq4y2ERVrxykhzX/ RLrGDPcS+PUwrKJ3t4usQNglgKonLjTe9CYHLGVyjwzvL0br8B+uSMnXbEgq7C/6jnc9kZvQPS uXQ= X-SBRS: 2.7 X-MesageID: 5068893 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,463,1559534400"; d="scan'208";a="5068893" From: Roger Pau Monne To: Date: Tue, 3 Sep 2019 18:14:20 +0200 Message-ID: <20190903161428.7159-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190903161428.7159-1-roger.pau@citrix.com> References: <20190903161428.7159-1-roger.pau@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2 03/11] ioreq: switch selection and forwarding to use ioservid_t X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jan Beulich , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" aHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIgYW5kIGh2bV9zZW5kX2lvcmVxIHdoZXJlIGJvdGggdXNp bmcKaHZtX2lvcmVxX3NlcnZlciBkaXJlY3RseSwgc3dpdGNoIHRvIHVzZSBpb3NlcnZpZF90IGlu IG9yZGVyIHRvIHNlbGVjdAphbmQgZm9yd2FyZCBpb3JlcXMuCgpUaGlzIGlzIGEgcHJlcGFyYXRv cnkgY2hhbmdlLCBzaW5jZSBmdXR1cmUgcGF0Y2hlcyB3aWxsIHVzZSB0aGUgaW9yZXEKc2VydmVy IGlkIGluIG9yZGVyIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBpbnRlcm5hbCBhbmQgZXh0ZXJu YWwKaW9yZXEgc2VydmVycy4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy LnBhdUBjaXRyaXguY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToKIC0gTmV3IGluIHRoaXMgdmVy c2lvbi4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2RtLmMgICAgICAgICAgIHwgIDIgKy0KIHhlbi9h cmNoL3g4Ni9odm0vZW11bGF0ZS5jICAgICAgfCAxNCArKysrKysrLS0tLS0tLQogeGVuL2FyY2gv eDg2L2h2bS9pb3JlcS5jICAgICAgICB8IDI0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVu L2FyY2gveDg2L2h2bS9zdGR2Z2EuYyAgICAgICB8ICA4ICsrKystLS0tCiB4ZW4vYXJjaC94ODYv bW0vcDJtLmMgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvaHZtL2lvcmVxLmggfCAgNSArKy0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0u aCAgICAgICB8ICA5ICsrKystLS0tLQogeGVuL2luY2x1ZGUvcHVibGljL2h2bS9kbV9vcC5oICB8 ICAxICsKIDggZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9kbS5jIGIveGVuL2FyY2gveDg2L2h2bS9k bS5jCmluZGV4IGQ2ZDBlOGJlODkuLmMyZmNhOWY3MjkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vZG0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RtLmMKQEAgLTI2Myw3ICsyNjMsNyBA QCBzdGF0aWMgaW50IHNldF9tZW1fdHlwZShzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAg cmV0dXJuIC1FT1BOT1RTVVBQOwogCiAgICAgICAgIC8qIERvIG5vdCBjaGFuZ2UgdG8gSFZNTUVN X2lvcmVxX3NlcnZlciBpZiBubyBpb3JlcSBzZXJ2ZXIgbWFwcGVkLiAqLwotICAgICAgICBpZiAo ICFwMm1fZ2V0X2lvcmVxX3NlcnZlcihkLCAmZmxhZ3MpICkKKyAgICAgICAgaWYgKCBwMm1fZ2V0 X2lvcmVxX3NlcnZlcihkLCAmZmxhZ3MpID09IFhFTl9JTlZBTElEX0lPU0VSVklEICkKICAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2h2bS9lbXVsYXRlLmMgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwppbmRleCBkNzVkM2U2 ZmQ2Li41MWQyZmNiYTJkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpAQCAtMjU0LDcgKzI1NCw3IEBAIHN0YXRp YyBpbnQgaHZtZW11bF9kb19pbygKICAgICAgICAgICogSG93ZXZlciwgdGhlcmUncyBubyBjaGVh cCBhcHByb2FjaCB0byBhdm9pZCBhYm92ZSBzaXR1YXRpb25zIGluIHhlbiwKICAgICAgICAgICog c28gdGhlIGRldmljZSBtb2RlbCBzaWRlIG5lZWRzIHRvIGNoZWNrIHRoZSBpbmNvbWluZyBpb3Jl cSBldmVudC4KICAgICAgICAgICovCi0gICAgICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpz ID0gTlVMTDsKKyAgICAgICAgaW9zZXJ2aWRfdCBpZCA9IFhFTl9JTlZBTElEX0lPU0VSVklEOwog ICAgICAgICBwMm1fdHlwZV90IHAybXQgPSBwMm1faW52YWxpZDsKIAogICAgICAgICBpZiAoIGlz X21taW8gKQpAQCAtMjY3LDkgKzI2Nyw5IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9kb19pbygKICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKLSAgICAg ICAgICAgICAgICBzID0gcDJtX2dldF9pb3JlcV9zZXJ2ZXIoY3VycmQsICZmbGFncyk7CisgICAg ICAgICAgICAgICAgaWQgPSBwMm1fZ2V0X2lvcmVxX3NlcnZlcihjdXJyZCwgJmZsYWdzKTsKIAot ICAgICAgICAgICAgICAgIGlmICggcyA9PSBOVUxMICkKKyAgICAgICAgICAgICAgICBpZiAoIGlk ID09IFhFTl9JTlZBTElEX0lPU0VSVklEICkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgIHJjID0gWDg2RU1VTF9SRVRSWTsKICAgICAgICAgICAgICAgICAgICAgdmlvLT5p b19yZXEuc3RhdGUgPSBTVEFURV9JT1JFUV9OT05FOwpAQCAtMjg5LDE4ICsyODksMTggQEAgc3Rh dGljIGludCBodm1lbXVsX2RvX2lvKAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAg ICAgaWYgKCAhcyApCi0gICAgICAgICAgICBzID0gaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoY3Vy cmQsICZwKTsKKyAgICAgICAgaWYgKCBpZCA9PSBYRU5fSU5WQUxJRF9JT1NFUlZJRCApCisgICAg ICAgICAgICBpZCA9IGh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKGN1cnJkLCAmcCk7CiAKICAgICAg ICAgLyogSWYgdGhlcmUgaXMgbm8gc3VpdGFibGUgYmFja2luZyBETSwganVzdCBpZ25vcmUgYWNj ZXNzZXMgKi8KLSAgICAgICAgaWYgKCAhcyApCisgICAgICAgIGlmICggaWQgPT0gWEVOX0lOVkFM SURfSU9TRVJWSUQgKQogICAgICAgICB7CiAgICAgICAgICAgICByYyA9IGh2bV9wcm9jZXNzX2lv X2ludGVyY2VwdCgmbnVsbF9oYW5kbGVyLCAmcCk7CiAgICAgICAgICAgICB2aW8tPmlvX3JlcS5z dGF0ZSA9IFNUQVRFX0lPUkVRX05PTkU7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAg ICB7Ci0gICAgICAgICAgICByYyA9IGh2bV9zZW5kX2lvcmVxKHMsICZwLCAwKTsKKyAgICAgICAg ICAgIHJjID0gaHZtX3NlbmRfaW9yZXEoaWQsICZwLCAwKTsKICAgICAgICAgICAgIGlmICggcmMg IT0gWDg2RU1VTF9SRVRSWSB8fCBjdXJyZC0+aXNfc2h1dHRpbmdfZG93biApCiAgICAgICAgICAg ICAgICAgdmlvLT5pb19yZXEuc3RhdGUgPSBTVEFURV9JT1JFUV9OT05FOwogICAgICAgICAgICAg ZWxzZSBpZiAoICFodm1faW9yZXFfbmVlZHNfY29tcGxldGlvbigmdmlvLT5pb19yZXEpICkKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYyBiL3hlbi9hcmNoL3g4Ni9odm0vaW9y ZXEuYwppbmRleCA2OTY1MmUxMDgwLi45NTQ5MmJjMTExIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL2lvcmVxLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jCkBAIC0zOSw2ICsz OSw3IEBAIHN0YXRpYyB2b2lkIHNldF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IGlkLAogewogICAgIEFTU0VSVChpZCA8IE1BWF9OUl9JT1JFUV9TRVJWRVJTKTsK ICAgICBBU1NFUlQoIXMgfHwgIWQtPmFyY2guaHZtLmlvcmVxX3NlcnZlci5zZXJ2ZXJbaWRdKTsK KyAgICBCVUlMRF9CVUdfT04oTUFYX05SX0lPUkVRX1NFUlZFUlMgPj0gWEVOX0lOVkFMSURfSU9T RVJWSUQpOwogCiAgICAgZC0+YXJjaC5odm0uaW9yZXFfc2VydmVyLnNlcnZlcltpZF0gPSBzOwog fQpAQCAtODY4LDcgKzg2OSw3IEBAIGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3RydWN0 IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCkKIAogICAgIGRvbWFpbl9wYXVzZShkKTsKIAotICAg IHAybV9zZXRfaW9yZXFfc2VydmVyKGQsIDAsIHMpOworICAgIHAybV9zZXRfaW9yZXFfc2VydmVy KGQsIDAsIGlkKTsKIAogICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGlzYWJsZShzKTsKIApAQCAtMTEz MSw3ICsxMTMyLDcgQEAgaW50IGh2bV9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyKHN0cnVj dCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgaWYgKCBzLT5lbXVsYXRvciAhPSBjdXJy ZW50LT5kb21haW4gKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIHJjID0gcDJtX3NldF9pb3Jl cV9zZXJ2ZXIoZCwgZmxhZ3MsIHMpOworICAgIHJjID0gcDJtX3NldF9pb3JlcV9zZXJ2ZXIoZCwg ZmxhZ3MsIGlkKTsKIAogIG91dDoKICAgICBzcGluX3VubG9ja19yZWN1cnNpdmUoJmQtPmFyY2gu aHZtLmlvcmVxX3NlcnZlci5sb2NrKTsKQEAgLTEyNTUsOCArMTI1Niw3IEBAIHZvaWQgaHZtX2Rl c3Ryb3lfYWxsX2lvcmVxX3NlcnZlcnMoc3RydWN0IGRvbWFpbiAqZCkKICAgICBzcGluX3VubG9j a19yZWN1cnNpdmUoJmQtPmFyY2guaHZtLmlvcmVxX3NlcnZlci5sb2NrKTsKIH0KIAotc3RydWN0 IGh2bV9pb3JlcV9zZXJ2ZXIgKmh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4g KmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9y ZXFfdCAqcCkKK2lvc2VydmlkX3QgaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFp biAqZCwgaW9yZXFfdCAqcCkKIHsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKICAg ICB1aW50MzJfdCBjZjg7CkBAIC0xMjY1LDcgKzEyNjUsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqaHZtX3NlbGVjdF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICB1bnNp Z25lZCBpbnQgaWQ7CiAKICAgICBpZiAoIHAtPnR5cGUgIT0gSU9SRVFfVFlQRV9DT1BZICYmIHAt PnR5cGUgIT0gSU9SRVFfVFlQRV9QSU8gKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAg cmV0dXJuIFhFTl9JTlZBTElEX0lPU0VSVklEOwogCiAgICAgY2Y4ID0gZC0+YXJjaC5odm0ucGNp X2NmODsKIApAQCAtMTMyMCw3ICsxMzIwLDcgQEAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKmh2 bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICBzdGFy dCA9IGFkZHI7CiAgICAgICAgICAgICBlbmQgPSBzdGFydCArIHAtPnNpemUgLSAxOwogICAgICAg ICAgICAgaWYgKCByYW5nZXNldF9jb250YWluc19yYW5nZShyLCBzdGFydCwgZW5kKSApCi0gICAg ICAgICAgICAgICAgcmV0dXJuIHM7CisgICAgICAgICAgICAgICAgcmV0dXJuIGlkOwogCiAgICAg ICAgICAgICBicmVhazsKIApAQCAtMTMyOSw3ICsxMzI5LDcgQEAgc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKmh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICBlbmQgPSBodm1fbW1pb19sYXN0X2J5dGUocCk7CiAKICAgICAgICAgICAgIGlmICggcmFu Z2VzZXRfY29udGFpbnNfcmFuZ2Uociwgc3RhcnQsIGVuZCkgKQotICAgICAgICAgICAgICAgIHJl dHVybiBzOworICAgICAgICAgICAgICAgIHJldHVybiBpZDsKIAogICAgICAgICAgICAgYnJlYWs7 CiAKQEAgLTEzMzgsMTQgKzEzMzgsMTQgQEAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKmh2bV9z ZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgcC0+dHlwZSA9IElPUkVRX1RZUEVfUENJX0NPTkZJRzsKICAgICAgICAgICAg ICAgICBwLT5hZGRyID0gYWRkcjsKLSAgICAgICAgICAgICAgICByZXR1cm4gczsKKyAgICAgICAg ICAgICAgICByZXR1cm4gaWQ7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIFhFTl9JTlZB TElEX0lPU0VSVklEOwogfQogCiBzdGF0aWMgaW50IGh2bV9zZW5kX2J1ZmZlcmVkX2lvcmVxKHN0 cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBpb3JlcV90ICpwKQpAQCAtMTQ0MSwxMiArMTQ0MSwx MiBAQCBzdGF0aWMgaW50IGh2bV9zZW5kX2J1ZmZlcmVkX2lvcmVxKHN0cnVjdCBodm1faW9yZXFf c2VydmVyICpzLCBpb3JlcV90ICpwKQogICAgIHJldHVybiBYODZFTVVMX09LQVk7CiB9CiAKLWlu dCBodm1fc2VuZF9pb3JlcShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywgaW9yZXFfdCAqcHJv dG9fcCwKLSAgICAgICAgICAgICAgICAgICBib29sIGJ1ZmZlcmVkKQoraW50IGh2bV9zZW5kX2lv cmVxKGlvc2VydmlkX3QgaWQsIGlvcmVxX3QgKnByb3RvX3AsIGJvb2wgYnVmZmVyZWQpCiB7CiAg ICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OwogICAgIHN0cnVjdCBkb21haW4gKmQgPSBj dXJyLT5kb21haW47CiAgICAgc3RydWN0IGh2bV9pb3JlcV92Y3B1ICpzdjsKKyAgICBzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcyA9IGdldF9pb3JlcV9zZXJ2ZXIoZCwgaWQpOwogCiAgICAgQVNT RVJUKHMpOwogCkBAIC0xNTEyLDcgKzE1MTIsNyBAQCB1bnNpZ25lZCBpbnQgaHZtX2Jyb2FkY2Fz dF9pb3JlcShpb3JlcV90ICpwLCBib29sIGJ1ZmZlcmVkKQogICAgICAgICBpZiAoICFzLT5lbmFi bGVkICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICggaHZtX3NlbmRfaW9y ZXEocywgcCwgYnVmZmVyZWQpID09IFg4NkVNVUxfVU5IQU5ETEVBQkxFICkKKyAgICAgICAgaWYg KCBodm1fc2VuZF9pb3JlcShpZCwgcCwgYnVmZmVyZWQpID09IFg4NkVNVUxfVU5IQU5ETEVBQkxF ICkKICAgICAgICAgICAgIGZhaWxlZCsrOwogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS9zdGR2Z2EuYyBiL3hlbi9hcmNoL3g4Ni9odm0vc3RkdmdhLmMKaW5kZXggYmQzOThk YmIxYi4uYTY4OTI2OTcxMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdGR2Z2EuYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL3N0ZHZnYS5jCkBAIC00NjYsNyArNDY2LDcgQEAgc3RhdGlj IGludCBzdGR2Z2FfbWVtX3dyaXRlKGNvbnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaGFuZGxl ciwKICAgICAgICAgLmRpciA9IElPUkVRX1dSSVRFLAogICAgICAgICAuZGF0YSA9IGRhdGEsCiAg ICAgfTsKLSAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqc3J2OworICAgIGlvc2VydmlkX3Qg aWQ7CiAKICAgICBpZiAoICFzdGR2Z2FfY2FjaGVfaXNfZW5hYmxlZChzKSB8fCAhcy0+c3Rkdmdh ICkKICAgICAgICAgZ290byBkb25lOwpAQCAtNTA3LDExICs1MDcsMTEgQEAgc3RhdGljIGludCBz dGR2Z2FfbWVtX3dyaXRlKGNvbnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaGFuZGxlciwKICAg ICB9CiAKICBkb25lOgotICAgIHNydiA9IGh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKGN1cnJlbnQt PmRvbWFpbiwgJnApOwotICAgIGlmICggIXNydiApCisgICAgaWQgPSBodm1fc2VsZWN0X2lvcmVx X3NlcnZlcihjdXJyZW50LT5kb21haW4sICZwKTsKKyAgICBpZiAoIGlkID09IFhFTl9JTlZBTElE X0lPU0VSVklEICkKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOwogCi0gICAg cmV0dXJuIGh2bV9zZW5kX2lvcmVxKHNydiwgJnAsIDEpOworICAgIHJldHVybiBodm1fc2VuZF9p b3JlcShpZCwgJnAsIDEpOwogfQogCiBzdGF0aWMgYm9vbF90IHN0ZHZnYV9tZW1fYWNjZXB0KGNv bnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaGFuZGxlciwKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCA4YTUyMjllZTIxLi40 Mzg0OWNiYmQ5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2Fy Y2gveDg2L21tL3AybS5jCkBAIC0xMDIsNiArMTAyLDcgQEAgc3RhdGljIGludCBwMm1faW5pdGlh bGlzZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQogICAgICAgICBw Mm1fcHRfaW5pdChwMm0pOwogCiAgICAgc3Bpbl9sb2NrX2luaXQoJnAybS0+aW9yZXEubG9jayk7 CisgICAgcDJtLT5pb3JlcS5zZXJ2ZXIgPSBYRU5fSU5WQUxJRF9JT1NFUlZJRDsKIAogICAgIHJl dHVybiByZXQ7CiB9CkBAIC0zNjEsNyArMzYyLDcgQEAgdm9pZCBwMm1fbWVtb3J5X3R5cGVfY2hh bmdlZChzdHJ1Y3QgZG9tYWluICpkKQogCiBpbnQgcDJtX3NldF9pb3JlcV9zZXJ2ZXIoc3RydWN0 IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3Ms Ci0gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCisg ICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpZCkKIHsKICAgICBzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJtKGQpOwogICAgIGludCByYzsKQEAgLTM3Niwx NiArMzc3LDE2IEBAIGludCBwMm1fc2V0X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLAog ICAgIGlmICggZmxhZ3MgPT0gMCApCiAgICAgewogICAgICAgICByYyA9IC1FSU5WQUw7Ci0gICAg ICAgIGlmICggcDJtLT5pb3JlcS5zZXJ2ZXIgIT0gcyApCisgICAgICAgIGlmICggcDJtLT5pb3Jl cS5zZXJ2ZXIgIT0gaWQgKQogICAgICAgICAgICAgZ290byBvdXQ7CiAKLSAgICAgICAgcDJtLT5p b3JlcS5zZXJ2ZXIgPSBOVUxMOworICAgICAgICBwMm0tPmlvcmVxLnNlcnZlciA9IFhFTl9JTlZB TElEX0lPU0VSVklEOwogICAgICAgICBwMm0tPmlvcmVxLmZsYWdzID0gMDsKICAgICB9CiAgICAg ZWxzZQogICAgIHsKICAgICAgICAgcmMgPSAtRUJVU1k7Ci0gICAgICAgIGlmICggcDJtLT5pb3Jl cS5zZXJ2ZXIgIT0gTlVMTCApCisgICAgICAgIGlmICggcDJtLT5pb3JlcS5zZXJ2ZXIgIT0gWEVO X0lOVkFMSURfSU9TRVJWSUQgKQogICAgICAgICAgICAgZ290byBvdXQ7CiAKICAgICAgICAgLyoK QEAgLTM5Nyw3ICszOTgsNyBAQCBpbnQgcDJtX3NldF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFp biAqZCwKICAgICAgICAgaWYgKCByZWFkX2F0b21pYygmcDJtLT5pb3JlcS5lbnRyeV9jb3VudCkg KQogICAgICAgICAgICAgZ290byBvdXQ7CiAKLSAgICAgICAgcDJtLT5pb3JlcS5zZXJ2ZXIgPSBz OworICAgICAgICBwMm0tPmlvcmVxLnNlcnZlciA9IGlkOwogICAgICAgICBwMm0tPmlvcmVxLmZs YWdzID0gZmxhZ3M7CiAgICAgfQogCkBAIC00MDksMTkgKzQxMCwxOCBAQCBpbnQgcDJtX3NldF9p b3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0cnVj dCBodm1faW9yZXFfc2VydmVyICpwMm1fZ2V0X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpk LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCAqZmxhZ3MpCitpb3NlcnZpZF90IHAybV9nZXRfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGludCAqZmxhZ3MpCiB7CiAgICAgc3RydWN0IHAybV9kb21haW4gKnAy bSA9IHAybV9nZXRfaG9zdHAybShkKTsKLSAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsK KyAgICBpb3NlcnZpZF90IGlkOwogCiAgICAgc3Bpbl9sb2NrKCZwMm0tPmlvcmVxLmxvY2spOwog Ci0gICAgcyA9IHAybS0+aW9yZXEuc2VydmVyOworICAgIGlkID0gcDJtLT5pb3JlcS5zZXJ2ZXI7 CiAgICAgKmZsYWdzID0gcDJtLT5pb3JlcS5mbGFnczsKIAogICAgIHNwaW5fdW5sb2NrKCZwMm0t PmlvcmVxLmxvY2spOwotICAgIHJldHVybiBzOworICAgIHJldHVybiBpZDsKIH0KIAogdm9pZCBw Mm1fZW5hYmxlX2hhcmR3YXJlX2xvZ19kaXJ0eShzdHJ1Y3QgZG9tYWluICpkKQpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv aHZtL2lvcmVxLmgKaW5kZXggZTI1ODhlOTEyZi4uNjU0OTFjNDhkMiAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9pb3JlcS5oCkBAIC00Nyw5ICs0Nyw4IEBAIGludCBodm1fYWxsX2lvcmVxX3NlcnZlcnNfYWRk X3ZjcHUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYpOwogdm9pZCBodm1fYWxsX2lv cmVxX3NlcnZlcnNfcmVtb3ZlX3ZjcHUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYp Owogdm9pZCBodm1fZGVzdHJveV9hbGxfaW9yZXFfc2VydmVycyhzdHJ1Y3QgZG9tYWluICpkKTsK IAotc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKmh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKHN0cnVj dCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW9yZXFfdCAqcCk7Ci1pbnQgaHZtX3NlbmRfaW9yZXEoc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKnMsIGlvcmVxX3QgKnByb3RvX3AsCitpb3NlcnZpZF90IGh2bV9zZWxlY3RfaW9yZXFf c2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvcmVxX3QgKnApOworaW50IGh2bV9zZW5kX2lvcmVx KGlvc2VydmlkX3QgaWQsIGlvcmVxX3QgKnByb3RvX3AsCiAgICAgICAgICAgICAgICAgICAgYm9v bCBidWZmZXJlZCk7CiB1bnNpZ25lZCBpbnQgaHZtX2Jyb2FkY2FzdF9pb3JlcShpb3JlcV90ICpw LCBib29sIGJ1ZmZlcmVkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0u aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5kZXggOTQyODVkYjFiNC4uOTlhMWRhYjMx MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L3AybS5oCkBAIC0zNTQsNyArMzU0LDcgQEAgc3RydWN0IHAybV9kb21haW4gewog ICAgICAgICAgICogaW9yZXEgc2VydmVyIHdobydzIHJlc3BvbnNpYmxlIGZvciB0aGUgZW11bGF0 aW9uIG9mCiAgICAgICAgICAgKiBnZm5zIHdpdGggc3BlY2lmaWMgcDJtIHR5cGUoZm9yIG5vdywg cDJtX2lvcmVxX3NlcnZlcikuCiAgICAgICAgICAgKi8KLSAgICAgICAgIHN0cnVjdCBodm1faW9y ZXFfc2VydmVyICpzZXJ2ZXI7CisgICAgICAgICBpb3NlcnZpZF90IHNlcnZlcjsKICAgICAgICAg IC8qCiAgICAgICAgICAgKiBmbGFncyBzcGVjaWZpZXMgd2hldGhlciByZWFkLCB3cml0ZSBvciBi b3RoIG9wZXJhdGlvbnMKICAgICAgICAgICAqIGFyZSB0byBiZSBlbXVsYXRlZCBieSBhbiBpb3Jl cSBzZXJ2ZXIuCkBAIC04MTksNyArODE5LDcgQEAgc3RhdGljIGlubGluZSBwMm1fdHlwZV90IHAy bV9yZWNhbGNfdHlwZV9yYW5nZShib29sIHJlY2FsYywgcDJtX3R5cGVfdCB0LAogICAgIGlmICgg IXJlY2FsYyB8fCAhcDJtX2lzX2NoYW5nZWFibGUodCkgKQogICAgICAgICByZXR1cm4gdDsKIAot ICAgIGlmICggdCA9PSBwMm1faW9yZXFfc2VydmVyICYmIHAybS0+aW9yZXEuc2VydmVyICE9IE5V TEwgKQorICAgIGlmICggdCA9PSBwMm1faW9yZXFfc2VydmVyICYmIHAybS0+aW9yZXEuc2VydmVy ICE9IFhFTl9JTlZBTElEX0lPU0VSVklEICkKICAgICAgICAgcmV0dXJuIHQ7CiAKICAgICByZXR1 cm4gcDJtX2lzX2xvZ2RpcnR5X3JhbmdlKHAybSwgZ2ZuX3N0YXJ0LCBnZm5fZW5kKSA/IHAybV9y YW1fbG9nZGlydHkKQEAgLTkzOCw5ICs5MzgsOCBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGlu dCBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJtdCwgbWZuX3QgbWZuKQogfQogCiBp bnQgcDJtX3NldF9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGZs YWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpz KTsKLXN0cnVjdCBodm1faW9yZXFfc2VydmVyICpwMm1fZ2V0X2lvcmVxX3NlcnZlcihzdHJ1Y3Qg ZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCAqZmxhZ3MpOworICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2Vydmlk X3QgaWQpOworaW9zZXJ2aWRfdCBwMm1fZ2V0X2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBpbnQgKmZsYWdzKTsKIAogc3RhdGljIGlubGluZSBpbnQgcDJtX2VudHJ5X21v ZGlmeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBwMm1fdHlwZV90IG50LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IG90LCBtZm5fdCBuZm4sIG1mbl90IG9m biwKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaCBiL3hlbi9pbmNs dWRlL3B1YmxpYy9odm0vZG1fb3AuaAppbmRleCBkM2I1NTRkMDE5Li44NzI1Y2MyMGQzIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmgKKysrIGIveGVuL2luY2x1ZGUv cHVibGljL2h2bS9kbV9vcC5oCkBAIC01NCw2ICs1NCw3IEBACiAgKi8KIAogdHlwZWRlZiB1aW50 MTZfdCBpb3NlcnZpZF90OworI2RlZmluZSBYRU5fSU5WQUxJRF9JT1NFUlZJRCAweGZmZmYKIAog LyoKICAqIFhFTl9ETU9QX2NyZWF0ZV9pb3JlcV9zZXJ2ZXI6IEluc3RhbnRpYXRlIGEgbmV3IElP UkVRIFNlcnZlciBmb3IgYQotLSAKMi4yMi4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==