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.8 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 328F3C5ACAE for ; Wed, 11 Sep 2019 14:36:52 +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 F02822053B for ; Wed, 11 Sep 2019 14:36:51 +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="HXVSKJzl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F02822053B 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 1i83jS-0005me-5i; Wed, 11 Sep 2019 14:36:30 +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 1i83jQ-0005mM-Ul for xen-devel@lists.xenproject.org; Wed, 11 Sep 2019 14:36:28 +0000 X-Inumbo-ID: 8954463e-d4a1-11e9-83d5-12813bfff9fa Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 8954463e-d4a1-11e9-83d5-12813bfff9fa; Wed, 11 Sep 2019 14:36:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1568212587; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T/OmK8cgnAMqLNIMN+DLYnXrAoH6k7umb04+WKRlLRk=; b=HXVSKJzlcPlBoszkzoHXVsEHsnz2cPzQ1YMeARi1/XIz7F5f5E9HbZpO RTTxGMeRHkv7fLr4iB2fRg/5qr6HERiOJYuRPtvury09iHI2hNC94JGRM huKBCWLJ9CNqWzHktyjgzDfzrpfu7b2jQ4XWWH5dcKhT0Kt2M1Q9MaRrC c=; Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=paul.durrant@citrix.com; spf=Pass smtp.mailfrom=Paul.Durrant@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of paul.durrant@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="paul.durrant@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of Paul.Durrant@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@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 (esa5.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=esa5.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 3OTi9wDh9RvHxeWOvIZ+kuuiSVACKGsvJuBW87nQbgOKhCBN8w1rfnphQ+EqsfdvoQXgzdLgc6 VzqS81TPCqqr638s9x+LVZ21/MqMNnfQIJg6hcauTE1qRcoBPnStUdcDls89rIziPlHhKf3wtl ppZx8lU67Ekstn1vFbVLk0yEn/kYkiSFlJlz1xlPyKxHEc4vVzOfhwfX6Bb9w7LzeRFTJl8t8a UAp+sCrKt1z+0woBeXjdfA7d5keHJ5rlrNEAnGyUPETpFpkMOLQTVKUgH6mGoLF8esgUmxHsFH 3nU= X-SBRS: 2.7 X-MesageID: 5629854 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,493,1559534400"; d="scan'208";a="5629854" From: Paul Durrant To: , Date: Wed, 11 Sep 2019 15:36:18 +0100 Message-ID: <20190911143618.23477-4-paul.durrant@citrix.com> X-Mailer: git-send-email 2.20.1.2.gb21ebb6 In-Reply-To: <20190911143618.23477-1-paul.durrant@citrix.com> References: <20190911143618.23477-1-paul.durrant@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 3/3] xen: perform XenDevice clean-up in XenBus watch handler 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: Anthony Perard , Paul Durrant , Stefano Stabellini Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Q2xlYW5pbmcgdXAgb2ZmaW5lIFhlbkRldmljZSBvYmplY3RzIGRpcmVjdGx5IGluCnhlbl9kZXZp Y2VfYmFja2VuZF9jaGFuZ2VkKCkgaXMgZGFuZ2Vyb3VzIGFzIHhlbl9kZXZpY2VfdW5yZWFsaXpl KCkgd2lsbAptb2RpZnkgdGhlIHdhdGNoIGxpc3QgdGhhdCBpcyBiZWluZyB3YWxrZWQuIEV2ZW4g dGhlIFFMSVNUX0ZPUkVBQ0hfU0FGRSgpCnVzZWQgaW4gbm90aWZpZXJfbGlzdF9ub3RpZnkoKSBp cyBpbnN1ZmZpY2llbnQgYXMgKnR3byogbm90aWZpZXJzIChmb3IKdGhlIGZyb250ZW5kIGFuZCBi YWNrZW5kIHdhdGNoZXMpIGFyZSByZW1vdmVkLCB0aHVzIHBvdGVudGlhbGx5IHJlbmRlcmluZwp0 aGUgJ25leHQnIHBvaW50ZXIgdW5zYWZlLgoKVGhlIHNvbHV0aW9uIGlzIHRvIHVzZSB0aGUgWGVu QnVzIGJhY2tlbmRfd2F0Y2ggaGFuZGxlciB0byBkbyB0aGUgY2xlYW4tdXAKaW5zdGVhZCwgYXMg aXQgaXMgaW52b2tlZCB3aGlsc3Qgd2Fsa2luZyBhIHNlcGFyYXRlIHdhdGNoIGxpc3QuCgpUaGlz IHBhdGNoIHRoZXJlZm9yZSBhZGRzIGEgbmV3ICdvZmZsaW5lX2RldmljZXMnIGxpc3QgdG8gWGVu QnVzLCB0byB3aGljaApvZmZsaW5lIGRldmljZXMgYXJlIGFkZGVkIGJ5IHhlbl9kZXZpY2VfYmFj a2VuZF9jaGFuZ2VkKCkuIFRoZSBYZW5CdXMKYmFja2VuZF93YXRjaCByZWdpc3RyYXRpb24gaXMg YWxzbyBjaGFuZ2VkIHRvIG5vdCBvbmx5IGludm9rZQp4ZW5fYnVzX2VudW1lcmF0ZSgpIGJ1dCBh bHNvIGEgbmV3IHhlbl9idXNfY2xlYW51cCgpIGZ1bmN0aW9uLCB3aGljaCB3aWxsCndhbGsgJ29m ZmxpbmVfZGV2aWNlcycgYW5kIHBlcmZvcm0gdGhlIG5lY2Vzc2FyeSBhY3Rpb25zLgpGb3Igc2Fm ZXR5IGEgYW4gZXh0cmEgJ29ubGluZScgY2hlY2sgaXMgYWxzbyBhZGRlZCB0bwp4ZW5fYnVzX3R5 cGVfZW51bWVyYXRlKCkgdG8gbWFrZSBzdXJlIHRoYXQgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIGNy ZWF0ZSBhCm5ldyBYZW5EZXZpY2Ugb2JqZWN0IGZvciBhIGJhY2tlbmQgdGhhdCBpcyBvZmZsaW5l LgoKTk9URTogVGhpcyBwYXRjaCBhbHNvIGluY2x1ZGUgc29tZSBjb3NtZXRpYyBjaGFuZ2VzOgog ICAgICAtIHN1YnN0aXR1dGUgdGhlIGxvY2FsIHZhcmlhYmxlIG5hbWUgJ2JhY2tlbmRfc3RhdGUn CiAgICAgICAgaW4geGVuX2J1c190eXBlX2VudW1lcmF0ZSgpIHdpdGggJ3N0YXRlJywgc2luY2Ug dGhlcmUKICAgICAgICBpcyBubyBhbWJpZ3VpdHkgd2l0aCBhbnkgb3RoZXIgc3RhdGUgaW4gdGhh dCBjb250ZXh0LgogICAgICAtIGNoYW5nZSB4ZW5fZGV2aWNlX3N0YXRlX2lzX2FjdGl2ZSgpIHRv CiAgICAgICAgeGVuX2RldmljZV9mcm9udGVuZF9pc19hY3RpdmUoKSAoYW5kIHBhc3MgYSBYZW5E ZXZpY2UgZGlyZWN0bHkpCiAgICAgICAgc2luY2UgdGhlIHN0YXRlIHRlc3RzIGNvbnRhaW5lZCB0 aGVyZWluIG9ubHkgYXBwbHkgdG8gYSBmcm9udGVuZC4KICAgICAgLSB1c2UgJ3N0YXRlJyByYXRo ZXIgdGhlbiAneGVuZGV2LT5iYWNrZW5kX3N0YXRlJyBpbgogICAgICAgIHhlbl9kZXZpY2VfYmFj a2VuZF9jaGFuZ2VkKCkgdG8gc2hvcnRlbiB0aGUgY29kZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwg RHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpDYzogU3RlZmFubyBTdGFiZWxs aW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogQW50aG9ueSBQZXJhcmQgPGFudGhvbnku cGVyYXJkQGNpdHJpeC5jb20+Ci0tLQogaHcveGVuL3RyYWNlLWV2ZW50cyAgICAgIHwgIDIgKwog aHcveGVuL3hlbi1idXMuYyAgICAgICAgIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLQogaW5jbHVkZS9ody94ZW4veGVuLWJ1cy5oIHwgIDIgKwogMyBmaWxlcyBj aGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9o dy94ZW4vdHJhY2UtZXZlbnRzIGIvaHcveGVuL3RyYWNlLWV2ZW50cwppbmRleCA4MGNlM2RhZmFk Li5lNjg4NWJjNzUxIDEwMDY0NAotLS0gYS9ody94ZW4vdHJhY2UtZXZlbnRzCisrKyBiL2h3L3hl bi90cmFjZS1ldmVudHMKQEAgLTE3LDggKzE3LDEwIEBAIHhlbl9kb21pZF9yZXN0cmljdChpbnQg ZXJyKSAiZXJyOiAldSIKIHhlbl9idXNfcmVhbGl6ZSh2b2lkKSAiIgogeGVuX2J1c191bnJlYWxp emUodm9pZCkgIiIKIHhlbl9idXNfZW51bWVyYXRlKHZvaWQpICIiCit4ZW5fYnVzX2NsZWFudXAo dm9pZCkgIiIKIHhlbl9idXNfdHlwZV9lbnVtZXJhdGUoY29uc3QgY2hhciAqdHlwZSkgInR5cGU6 ICVzIgogeGVuX2J1c19iYWNrZW5kX2NyZWF0ZShjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFy ICpwYXRoKSAidHlwZTogJXMgcGF0aDogJXMiCit4ZW5fYnVzX2RldmljZV9jbGVhbnVwKGNvbnN0 IGNoYXIgKnR5cGUsIGNoYXIgKm5hbWUpICJ0eXBlOiAlcyBuYW1lOiAlcyIKIHhlbl9idXNfYWRk X3dhdGNoKGNvbnN0IGNoYXIgKm5vZGUsIGNvbnN0IGNoYXIgKmtleSkgIm5vZGU6ICVzIGtleTog JXMiCiB4ZW5fYnVzX3JlbW92ZV93YXRjaChjb25zdCBjaGFyICpub2RlLCBjb25zdCBjaGFyICpr ZXkpICJub2RlOiAlcyBrZXk6ICVzIgogeGVuX2RldmljZV9yZWFsaXplKGNvbnN0IGNoYXIgKnR5 cGUsIGNoYXIgKm5hbWUpICJ0eXBlOiAlcyBuYW1lOiAlcyIKZGlmZiAtLWdpdCBhL2h3L3hlbi94 ZW4tYnVzLmMgYi9ody94ZW4veGVuLWJ1cy5jCmluZGV4IDgxMGE0ZTJkZjMuLjA1NWJlYjcyNjAg MTAwNjQ0Ci0tLSBhL2h3L3hlbi94ZW4tYnVzLmMKKysrIGIvaHcveGVuL3hlbi1idXMuYwpAQCAt MzQwLDEzICszNDAsMTggQEAgc3RhdGljIHZvaWQgeGVuX2J1c190eXBlX2VudW1lcmF0ZShYZW5C dXMgKnhlbmJ1cywgY29uc3QgY2hhciAqdHlwZSkKICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsr KSB7CiAgICAgICAgIGNoYXIgKmJhY2tlbmRfcGF0aCA9IGdfc3RyZHVwX3ByaW50ZigiJXMvJXMi LCBkb21haW5fcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJhY2tlbmRbaV0pOwotICAgICAgICBlbnVtIHhlbmJ1c19zdGF0ZSBiYWNrZW5kX3N0YXRl OworICAgICAgICBlbnVtIHhlbmJ1c19zdGF0ZSBzdGF0ZTsKKyAgICAgICAgdW5zaWduZWQgaW50 IG9ubGluZTsKIAogICAgICAgICBpZiAoeHNfbm9kZV9zY2FuZih4ZW5idXMtPnhzaCwgWEJUX05V TEwsIGJhY2tlbmRfcGF0aCwgInN0YXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwgIiV1IiwgJmJhY2tlbmRfc3RhdGUpICE9IDEpCi0gICAgICAgICAgICBiYWNrZW5kX3N0YXRl ID0gWGVuYnVzU3RhdGVVbmtub3duOworICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAi JXUiLCAmc3RhdGUpICE9IDEpCisgICAgICAgICAgICBzdGF0ZSA9IFhlbmJ1c1N0YXRlVW5rbm93 bjsKIAotICAgICAgICBpZiAoYmFja2VuZF9zdGF0ZSA9PSBYZW5idXNTdGF0ZUluaXRpYWxpc2lu ZykgeworICAgICAgICBpZiAoeHNfbm9kZV9zY2FuZih4ZW5idXMtPnhzaCwgWEJUX05VTEwsIGJh Y2tlbmRfcGF0aCwgIm9ubGluZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsICIl dSIsICZvbmxpbmUpICE9IDEpCisgICAgICAgICAgICBvbmxpbmUgPSAwOworCisgICAgICAgIGlm IChvbmxpbmUgJiYgc3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpIHsKICAgICAgICAg ICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwogCiAgICAgICAgICAgICB4ZW5fYnVzX2JhY2tl bmRfY3JlYXRlKHhlbmJ1cywgdHlwZSwgYmFja2VuZFtpXSwgYmFja2VuZF9wYXRoLApAQCAtMzY1 LDkgKzM3MCw4IEBAIG91dDoKICAgICBnX2ZyZWUoZG9tYWluX3BhdGgpOwogfQogCi1zdGF0aWMg dm9pZCB4ZW5fYnVzX2VudW1lcmF0ZSh2b2lkICpvcGFxdWUpCitzdGF0aWMgdm9pZCB4ZW5fYnVz X2VudW1lcmF0ZShYZW5CdXMgKnhlbmJ1cykKIHsKLSAgICBYZW5CdXMgKnhlbmJ1cyA9IG9wYXF1 ZTsKICAgICBjaGFyICoqdHlwZTsKICAgICB1bnNpZ25lZCBpbnQgaSwgbjsKIApAQCAtMzg1LDYg KzM4OSw0NCBAQCBzdGF0aWMgdm9pZCB4ZW5fYnVzX2VudW1lcmF0ZSh2b2lkICpvcGFxdWUpCiAg ICAgZnJlZSh0eXBlKTsKIH0KIAorc3RhdGljIHZvaWQgeGVuX2J1c19kZXZpY2VfY2xlYW51cChY ZW5EZXZpY2UgKnhlbmRldikKK3sKKyAgICBjb25zdCBjaGFyICp0eXBlID0gb2JqZWN0X2dldF90 eXBlbmFtZShPQkpFQ1QoeGVuZGV2KSk7CisgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisK KyAgICB0cmFjZV94ZW5fYnVzX2RldmljZV9jbGVhbnVwKHR5cGUsIHhlbmRldi0+bmFtZSk7CisK KyAgICBnX2Fzc2VydCgheGVuZGV2LT5iYWNrZW5kX29ubGluZSk7CisKKyAgICBpZiAoIXhlbl9i YWNrZW5kX3RyeV9kZXZpY2VfZGVzdHJveSh4ZW5kZXYsICZsb2NhbF9lcnIpKSB7CisgICAgICAg IG9iamVjdF91bnBhcmVudChPQkpFQ1QoeGVuZGV2KSk7CisgICAgfQorCisgICAgaWYgKGxvY2Fs X2VycikgeworICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisgICAgfQorfQor CitzdGF0aWMgdm9pZCB4ZW5fYnVzX2NsZWFudXAoWGVuQnVzICp4ZW5idXMpCit7CisgICAgWGVu RGV2aWNlICp4ZW5kZXYsICpuZXh0OworCisgICAgdHJhY2VfeGVuX2J1c19jbGVhbnVwKCk7CisK KyAgICBRTElTVF9GT1JFQUNIX1NBRkUoeGVuZGV2LCAmeGVuYnVzLT5vZmZsaW5lX2RldmljZXMs IGxpc3QsIG5leHQpIHsKKyAgICAgICAgUUxJU1RfUkVNT1ZFKHhlbmRldiwgbGlzdCk7CisgICAg ICAgIHhlbl9idXNfZGV2aWNlX2NsZWFudXAoeGVuZGV2KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2 b2lkIHhlbl9idXNfYmFja2VuZF9jaGFuZ2VkKHZvaWQgKm9wYXF1ZSkKK3sKKyAgICBYZW5CdXMg KnhlbmJ1cyA9IG9wYXF1ZTsKKworICAgIHhlbl9idXNfZW51bWVyYXRlKHhlbmJ1cyk7CisgICAg eGVuX2J1c19jbGVhbnVwKHhlbmJ1cyk7Cit9CisKIHN0YXRpYyB2b2lkIHhlbl9idXNfdW5yZWFs aXplKEJ1c1N0YXRlICpidXMsIEVycm9yICoqZXJycCkKIHsKICAgICBYZW5CdXMgKnhlbmJ1cyA9 IFhFTl9CVVMoYnVzKTsKQEAgLTQzMyw3ICs0NzUsNyBAQCBzdGF0aWMgdm9pZCB4ZW5fYnVzX3Jl YWxpemUoQnVzU3RhdGUgKmJ1cywgRXJyb3IgKiplcnJwKQogCiAgICAgeGVuYnVzLT5iYWNrZW5k X3dhdGNoID0KICAgICAgICAgeGVuX2J1c19hZGRfd2F0Y2goeGVuYnVzLCAiIiwgLyogZG9tYWlu IHJvb3Qgbm9kZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFja2VuZCIsIHhlbl9i dXNfZW51bWVyYXRlLCAmbG9jYWxfZXJyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImJh Y2tlbmQiLCB4ZW5fYnVzX2JhY2tlbmRfY2hhbmdlZCwgJmxvY2FsX2Vycik7CiAgICAgaWYgKGxv Y2FsX2VycikgewogICAgICAgICAvKiBUaGlzIG5lZWQgbm90IGJlIHRyZWF0ZWQgYXMgYSBoYXJk IGVycm9yIHNvIGRvbid0IHByb3BhZ2F0ZSAqLwogICAgICAgICBlcnJvcl9yZXBvcnRmX2Vycihs b2NhbF9lcnIsCkBAIC01NTUsOSArNTk3LDkgQEAgc3RhdGljIHZvaWQgeGVuX2RldmljZV9iYWNr ZW5kX3NldF9vbmxpbmUoWGVuRGV2aWNlICp4ZW5kZXYsIGJvb2wgb25saW5lKQogICogVGVsbCBm cm9tIHRoZSBzdGF0ZSB3aGV0aGVyIHRoZSBmcm9udGVuZCBpcyBsaWtlbHkgYWxpdmUsCiAgKiBp LmUuIGl0IHdpbGwgcmVhY3QgdG8gYSBjaGFuZ2Ugb2Ygc3RhdGUgb2YgdGhlIGJhY2tlbmQuCiAg Ki8KLXN0YXRpYyBib29sIHhlbl9kZXZpY2Vfc3RhdGVfaXNfYWN0aXZlKGVudW0geGVuYnVzX3N0 YXRlIHN0YXRlKQorc3RhdGljIGJvb2wgeGVuX2RldmljZV9mcm9udGVuZF9pc19hY3RpdmUoWGVu RGV2aWNlICp4ZW5kZXYpCiB7Ci0gICAgc3dpdGNoIChzdGF0ZSkgeworICAgIHN3aXRjaCAoeGVu ZGV2LT5mcm9udGVuZF9zdGF0ZSkgewogICAgIGNhc2UgWGVuYnVzU3RhdGVJbml0V2FpdDoKICAg ICBjYXNlIFhlbmJ1c1N0YXRlSW5pdGlhbGlzZWQ6CiAgICAgY2FzZSBYZW5idXNTdGF0ZUNvbm5l Y3RlZDoKQEAgLTU5NCwzMCArNjM2LDI5IEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfYmFja2Vu ZF9jaGFuZ2VkKHZvaWQgKm9wYXF1ZSkKICAgICAgKiBzdGF0ZSB0byBDbG9zaW5nLCBidXQgdGhl cmUgaXMgbm8gYWN0aXZlIGZyb250ZW5kIHRoZW4gc2V0IHRoZQogICAgICAqIGJhY2tlbmQgc3Rh dGUgdG8gQ2xvc2VkLgogICAgICAqLwotICAgIGlmICh4ZW5kZXYtPmJhY2tlbmRfc3RhdGUgPT0g WGVuYnVzU3RhdGVDbG9zaW5nICYmCi0gICAgICAgICF4ZW5fZGV2aWNlX3N0YXRlX2lzX2FjdGl2 ZSh4ZW5kZXYtPmZyb250ZW5kX3N0YXRlKSkgeworICAgIGlmIChzdGF0ZSA9PSBYZW5idXNTdGF0 ZUNsb3NpbmcgJiYKKyAgICAgICAgIXhlbl9kZXZpY2VfZnJvbnRlbmRfaXNfYWN0aXZlKHhlbmRl dikpIHsKICAgICAgICAgeGVuX2RldmljZV9iYWNrZW5kX3NldF9zdGF0ZSh4ZW5kZXYsIFhlbmJ1 c1N0YXRlQ2xvc2VkKTsKICAgICB9CiAKICAgICAvKgogICAgICAqIElmIGEgYmFja2VuZCBpcyBz dGlsbCAnb25saW5lJyB0aGVuIHdlIHNob3VsZCBsZWF2ZSBpdCBhbG9uZSBidXQsCi0gICAgICog aWYgYSBiYWNrZW5kIGlzIG5vdCAnb25saW5lJywgdGhlbiB0aGUgZGV2aWNlIHNob3VsZCBiZSBk ZXN0cm95ZWQKLSAgICAgKiBvbmNlIHRoZSBzdGF0ZSBpcyBDbG9zZWQuCisgICAgICogaWYgYSBi YWNrZW5kIGlzIG5vdCAnb25saW5lJywgdGhlbiB0aGUgZGV2aWNlIGlzIGEgY2FuZGlkYXRlCisg ICAgICogZm9yIGRlc3RydWN0aW9uLiBIZW5jZSBhZGQgaXQgdG8gdGhlICdvZmZsaW5lJyBsaXN0 IHRvIGJlIGNsZWFuZWQKKyAgICAgKiBieSB4ZW5fYnVzX2NsZWFudXAoKS4KICAgICAgKi8KLSAg ICBpZiAoIXhlbmRldi0+YmFja2VuZF9vbmxpbmUgJiYKLSAgICAgICAgKHhlbmRldi0+YmFja2Vu ZF9zdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NlZCB8fAotICAgICAgICAgeGVuZGV2LT5iYWNrZW5k X3N0YXRlID09IFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nIHx8Ci0gICAgICAgICB4ZW5kZXYtPmJh Y2tlbmRfc3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0V2FpdCB8fAotICAgICAgICAgeGVuZGV2LT5i YWNrZW5kX3N0YXRlID09IFhlbmJ1c1N0YXRlVW5rbm93bikpIHsKLSAgICAgICAgRXJyb3IgKmxv Y2FsX2VyciA9IE5VTEw7CisgICAgaWYgKCFvbmxpbmUgJiYKKyAgICAgICAgKHN0YXRlID09IFhl bmJ1c1N0YXRlQ2xvc2VkIHx8ICBzdGF0ZSA9PSBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyB8fAor ICAgICAgICAgc3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0V2FpdCB8fCBzdGF0ZSA9PSBYZW5idXNT dGF0ZVVua25vd24pKSB7CisgICAgICAgIFhlbkJ1cyAqeGVuYnVzID0gWEVOX0JVUyhxZGV2X2dl dF9wYXJlbnRfYnVzKERFVklDRSh4ZW5kZXYpKSk7CiAKLSAgICAgICAgaWYgKCF4ZW5fYmFja2Vu ZF90cnlfZGV2aWNlX2Rlc3Ryb3koeGVuZGV2LCAmbG9jYWxfZXJyKSkgewotICAgICAgICAgICAg b2JqZWN0X3VucGFyZW50KE9CSkVDVCh4ZW5kZXYpKTsKLSAgICAgICAgfQorICAgICAgICBRTElT VF9JTlNFUlRfSEVBRCgmeGVuYnVzLT5vZmZsaW5lX2RldmljZXMsIHhlbmRldiwgbGlzdCk7CiAK LSAgICAgICAgaWYgKGxvY2FsX2VycikgewotICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihs b2NhbF9lcnIpOwotICAgICAgICB9CisgICAgICAgIC8qCisgICAgICAgICAqIFJlLXdyaXRlIHRo ZSBzdGF0ZSB0byBjYXVzZSBhIFhlbkJ1cyBiYWNrZW5kX3dhdGNoIG5vdGlmaWNhdGlvbiwKKyAg ICAgICAgICogcmVzdWx0aW5nIGluIGEgY2FsbCB0byB4ZW5fYnVzX2NsZWFudXAoKS4KKyAgICAg ICAgICovCisgICAgICAgIHhlbl9kZXZpY2VfYmFja2VuZF9wcmludGYoeGVuZGV2LCAic3RhdGUi LCAiJXUiLCBzdGF0ZSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3hlbi94 ZW4tYnVzLmggYi9pbmNsdWRlL2h3L3hlbi94ZW4tYnVzLmgKaW5kZXggMGQxOTgxNDhmNi4uMTVk NzFhZmY3MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody94ZW4veGVuLWJ1cy5oCisrKyBiL2luY2x1 ZGUvaHcveGVuL3hlbi1idXMuaApAQCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBYZW5E ZXZpY2UgewogICAgIHhlbmdudHRhYl9oYW5kbGUgKnhndGg7CiAgICAgYm9vbCBmZWF0dXJlX2dy YW50X2NvcHk7CiAgICAgUUxJU1RfSEVBRCgsIFhlbkV2ZW50Q2hhbm5lbCkgZXZlbnRfY2hhbm5l bHM7CisgICAgUUxJU1RfRU5UUlkoWGVuRGV2aWNlKSBsaXN0OwogfSBYZW5EZXZpY2U7CiAKIHR5 cGVkZWYgY2hhciAqKCpYZW5EZXZpY2VHZXROYW1lKShYZW5EZXZpY2UgKnhlbmRldiwgRXJyb3Ig KiplcnJwKTsKQEAgLTY4LDYgKzY5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgWGVuQnVzIHsKICAgICBz dHJ1Y3QgeHNfaGFuZGxlICp4c2g7CiAgICAgWGVuV2F0Y2hMaXN0ICp3YXRjaF9saXN0OwogICAg IFhlbldhdGNoICpiYWNrZW5kX3dhdGNoOworICAgIFFMSVNUX0hFQUQoLCBYZW5EZXZpY2UpIG9m ZmxpbmVfZGV2aWNlczsKIH0gWGVuQnVzOwogCiB0eXBlZGVmIHN0cnVjdCBYZW5CdXNDbGFzcyB7 Ci0tIAoyLjIwLjEuMi5nYjIxZWJiNgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=