From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTP id 7E3055A0082 for ; Wed, 22 Feb 2023 14:30:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677072621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=67zx+E4YHWa8MBL5GNApJwGqf6I6mKsVmiEM+TbM/gU=; b=JlRE6RDgr9ZrIvR1ABtrZ9/gFyS/hjI39Whu6OWyWmuPvsE6vh8RKZcYmtyhKfgv2KMd4Y 9jmQYGzXYdmF8iCEpruplyOpcNWAJ76sPINaktIh4rm894gE0gNf7p+yaavtoE6KVXVQtn yX/hYqaR+tmhdMG6WORrV4sTEt2S7rI= Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-29-7-Eejr1TNRSxzeCRBSC6tw-1; Wed, 22 Feb 2023 08:30:20 -0500 X-MC-Unique: 7-Eejr1TNRSxzeCRBSC6tw-1 Received: by mail-qt1-f199.google.com with SMTP id b17-20020ac844d1000000b003b829a0eda2so3648069qto.21 for ; Wed, 22 Feb 2023 05:30:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=67zx+E4YHWa8MBL5GNApJwGqf6I6mKsVmiEM+TbM/gU=; b=O7h/NVrmOJHSuekqpEOuK9woWfwVcbnypcmtY406A73ppj0wNW+efmUbDiide90y/I dGExvPnIwQLWnpURyTLgUp5/v1G3pvwPCLUMY0+OKQbLWrEbIoTTTKkuU1ygwPed3sOq RbymfU7Q1kUXstOigzR5uxBkV5w9bJ6WHoQsHuhetyFb5N8Q9okM1v3aijOu6VE7gnq7 NYDZzOpOvFeTN3M2EPc1Gvi/iMuSZrrLkNJ7Hw37QZn4uFwRhFnT7l4f/EeY0Xd2Esyy /aKf6sEVmTaqUoQ2DukgZH/e2PTaN0fBKv/dJtnuPsSlKMk8HHafOIFCv7DF5SE+a5uT dOgQ== X-Gm-Message-State: AO0yUKX60RwNRT7vp23vZTxYl618FaAWpCuAkBF74EVk0XcBk/Y77SLl 2MG7GoajaIIi5lNU46a1oNIuSaVHWjwi6FJcA2l/JKkKLTNIZYZ/qu5JvBWH2PBIGTlyRII1P+f HC6KSufVqXj3m X-Received: by 2002:a05:622a:514:b0:3b8:525e:15ec with SMTP id l20-20020a05622a051400b003b8525e15ecmr647559qtx.27.1677072619806; Wed, 22 Feb 2023 05:30:19 -0800 (PST) X-Google-Smtp-Source: AK7set/Ev7mWJgDXiESLFunuo0N+Fcw3LRLKJFXWYbu22Z3fSqRNdDkynv+9I9fTHVd2dKJfu8hw7Q== X-Received: by 2002:a05:622a:514:b0:3b8:525e:15ec with SMTP id l20-20020a05622a051400b003b8525e15ecmr647524qtx.27.1677072619473; Wed, 22 Feb 2023 05:30:19 -0800 (PST) Received: from ?IPV6:2600:8805:3a00:3:3b4f:6d3c:92c4:a5c7? ([2600:8805:3a00:3:3b4f:6d3c:92c4:a5c7]) by smtp.gmail.com with ESMTPSA id n205-20020a3740d6000000b0073b7f2a0bcbsm850348qka.36.2023.02.22.05.30.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Feb 2023 05:30:18 -0800 (PST) Message-ID: Date: Wed, 22 Feb 2023 08:30:18 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [libvirt PATCH 3/3] qemu: respond to NETDEV_STREAM_DISCONNECTED event To: libvir-list@redhat.com References: <20230222003559.62442-1-laine@redhat.com> <20230222003559.62442-4-laine@redhat.com> <8f40512a-5d39-e7e7-4e7b-b880e6660347@redhat.com> From: Laine Stump Organization: Red Hat In-Reply-To: <8f40512a-5d39-e7e7-4e7b-b880e6660347@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: WK26OUVSRFKBL2P5A2XH4ORII5ZHEOKS X-Message-ID-Hash: WK26OUVSRFKBL2P5A2XH4ORII5ZHEOKS X-MailFrom: laine@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top, =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gMi8yMi8yMyA1OjIxIEFNLCBNaWNoYWwgUHLDrXZvem7DrWsgd3JvdGU6DQo+IE9uIDIvMjIv MjMgMDE6MzUsIExhaW5lIFN0dW1wIHdyb3RlOg0KPj4gV2hlbiBhIFFFTVUgbmV0ZGV2IGlzIG9m IHR5cGUgInN0cmVhbSIsIGlmIHRoZSBzb2NrZXQgaXQgdXNlcyBmb3INCj4+IGNvbm5lY3Rpdml0 eSB0byB0aGUgaG9zdCBuZXR3b3JrIGdldHMgY2xvc2VkLCB0aGVuIFFFTVUgd2lsbCBzZW5kIGEN Cj4+IE5FVERFVl9TVFJFQU1fRElTQ09OTkVDVEVEIGV2ZW50LiBXZSBrbm93IHRoYXQgYW55IHN0 cmVhbSBuZXRkZXYgd2UndmUNCj4+IGNyZWF0ZWQgaXMgYmFja2VkIGJ5IGEgcGFzc3QgcHJvY2Vz cywgYW5kIGlmIHRoZSBzb2NrZXQgd2FzIGNsb3NlZCwNCj4+IHRoYXQgbWVhbnMgdGhlIHBhc3N0 IHByb2Nlc3MgaGFzIGRpc2FwcGVhcmVkLg0KPj4NCj4+IFdoZW4gd2UgcmVjZWl2ZSB0aGlzIGV2 ZW50LCB3ZSBjYW4gcmVzcG9uZCBieSBzdGFydGluZyBhIG5ldyBwYXNzdA0KPj4gcHJvY2VzcyB3 aXRoIHRoZSBzYW1lIG9wdGlvbnMgKGluY2x1ZGluZyBzb2NrZXQgcGF0aCkgd2Ugb3JpZ2luYWxs eQ0KPj4gdXNlZC4gSWYgd2UgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgdGhlIHN0cmVhbSBuZXRk ZXYgZGV2aWNlIHdpdGggYQ0KPj4gInJlY29ubmVjdCIgb3B0aW9uLCB0aGVuIFFFTVUgd2lsbCBh dXRvbWF0aWNhbGx5IHJlY29ubmVjdCB0byB0aGlzIG5ldw0KPj4gcGFzc3QgcHJvY2Vzcy4gKElm IHdlIGhhZG4ndCB1c2VkICJyZWNvbm5lY3QiLCB0aGVuIFFFTVUgd2lsbCBuZXZlcg0KPj4gdHJ5 IHRvIHJlY29ubmVjdCB0byB0aGUgbmV3IHBhc3N0IHByb2Nlc3MsIHNvIHRoZXJlJ3Mgbm8gcG9p bnQgaW4NCj4+IHN0YXJ0aW5nIGl0LikNCj4+DQo+PiBOb3RlIHRoYXQgTkVUREVWX1NUUkVBTV9E SVNDT05ORUNURUQgaXMgYW4gZXZlbnQgc2VudCBmb3IgdGhlIG5ldGRldg0KPj4gKGllICJob3N0 IHNpZGUiKSBvZiB0aGUgbmV0d29yayBkZXZpY2UsIGFuZCBzbyBpdCBzZW5kcyB0aGUNCj4+ICJu ZXRkZXYtaWQiIHRvIHNwZWNpZnkgd2hpY2ggZGV2aWNlIHdhcyBkaXNjb25uZWN0ZWQuIEJ1dCBs aWJ2aXJ0J3MNCj4+IHZpckRvbWFpbk5ldERlZiAodGhlIG9iamVjdCB1c2VkIHRvIGtlZXAgdHJh Y2sgb2YgbmV0d29yayBkZXZpY2VzKSBpcw0KPj4gdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9u IG9mIGJvdGggdGhlIGhvc3Qtc2lkZSAibmV0ZGV2IiwgYW5kIHRoZQ0KPj4gZ3Vlc3Qgc2lkZSBk ZXZpY2UsIGFuZCB2aXJEb21haW5OZXREZWYgZG9lc24ndCBkaXJlY3RseSBrZWVwIHRyYWNrIG9m DQo+PiB0aGUgbmV0ZGV2LWlkLCBvbmx5IG9mIHRoZSBkZXZpY2UncyAiYWxpYXMiICh3aGljaCBp cyB0aGUgImlkIg0KPj4gcGFyYW1ldGVyIG9mIHRoZSAqZ3Vlc3QqIHNpZGUgb2YgdGhlIGRldmlj ZSkuIEZvcnR1bmF0ZWx5LCBieSBjb252ZW50aW9uDQo+PiBsaWJ2aXJ0IGFsd2F5cyBuYW1lcyB0 aGUgaG9zdC1zaWRlIG9mIGRldmljZXMgYXMgImhvc3QiICsgYWxpYXMsIHNvIGluDQo+PiBvcmRl ciB0byBzZWFyY2ggZm9yIHRoZSBhZmZlY3RlZCBOZXREZWYsIGFsbCB3ZSBuZWVkIHRvIGRvIGlz IHRyaW0gdGhlDQo+PiAxc3QgNCBjaGFyYWN0ZXJzIGZyb20gdGhlIG5ldGRldi1pZCBhbmQgbG9v ayBmb3IgdGhlIE5ldERlZiBoYXZpbmcNCj4+IHRoYXQgcmVzdWx0aW5nIHRyaW1tZWQgc3RyaW5n IGFzIGl0cyBhbGlhcy4gKENvbnRyYXN0IHRoaXMgdG8NCj4+IE5JQ19SWF9GSUxURVJfQ0hBTkdF RCwgd2hpY2ggaXMgYW4gZXZlbnQgcmVjZWl2ZWQgZm9yIHRoZSBndWVzdCBzaWRlDQo+PiBvZiB0 aGUgZGV2aWNlLCBhbmQgc28gZGlyZWN0bHkgY29udGFpbnMgdGhlIGRldmljZSBhbGlhcy4pDQo+ Pg0KPj4gUmVzb2x2ZXM6IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS8yMTcyMDk4DQo+PiBT aWduZWQtb2ZmLWJ5OiBMYWluZSBTdHVtcCA8bGFpbmVAcmVkaGF0LmNvbT4NCj4+IC0tLQ0KPj4g ICBzcmMvcWVtdS9xZW11X2RvbWFpbi5jICAgICAgIHwgIDEgKw0KPj4gICBzcmMvcWVtdS9xZW11 X2RvbWFpbi5oICAgICAgIHwgIDEgKw0KPj4gICBzcmMvcWVtdS9xZW11X2RyaXZlci5jICAgICAg IHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgIHNyYy9xZW11 L3FlbXVfbW9uaXRvci5jICAgICAgfCAxMSArKysrKw0KPj4gICBzcmMvcWVtdS9xZW11X21vbml0 b3IuaCAgICAgIHwgIDYgKysrDQo+PiAgIHNyYy9xZW11L3FlbXVfbW9uaXRvcl9qc29uLmMgfCAx NiArKysrKysrDQo+PiAgIHNyYy9xZW11L3FlbXVfcHJvY2Vzcy5jICAgICAgfCAxOCArKysrKysr Kw0KPj4gICA3IGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspDQo+Pg0KPj4gZGlmZiAt LWdpdCBhL3NyYy9xZW11L3FlbXVfZG9tYWluLmMgYi9zcmMvcWVtdS9xZW11X2RvbWFpbi5jDQo+ PiBpbmRleCBlOWJjMGYzNzVkLi40Y2Y5YTI1OWVhIDEwMDY0NA0KPj4gLS0tIGEvc3JjL3FlbXUv cWVtdV9kb21haW4uYw0KPj4gKysrIGIvc3JjL3FlbXUvcWVtdV9kb21haW4uYw0KPj4gQEAgLTEx MjM4LDYgKzExMjM4LDcgQEAgcWVtdVByb2Nlc3NFdmVudEZyZWUoc3RydWN0IHFlbXVQcm9jZXNz RXZlbnQgKmV2ZW50KQ0KPj4gICAgICAgICAgIGJyZWFrOw0KPj4gICAgICAgY2FzZSBRRU1VX1BS T0NFU1NfRVZFTlRfV0FUQ0hET0c6DQo+PiAgICAgICBjYXNlIFFFTVVfUFJPQ0VTU19FVkVOVF9E RVZJQ0VfREVMRVRFRDoNCj4+ICsgICAgY2FzZSBRRU1VX1BST0NFU1NfRVZFTlRfTkVUREVWX1NU UkVBTV9ESVNDT05ORUNURUQ6DQo+PiAgICAgICBjYXNlIFFFTVVfUFJPQ0VTU19FVkVOVF9OSUNf UlhfRklMVEVSX0NIQU5HRUQ6DQo+PiAgICAgICBjYXNlIFFFTVVfUFJPQ0VTU19FVkVOVF9TRVJJ QUxfQ0hBTkdFRDoNCj4+ICAgICAgIGNhc2UgUUVNVV9QUk9DRVNTX0VWRU5UX01PTklUT1JfRU9G Og0KPj4gZGlmZiAtLWdpdCBhL3NyYy9xZW11L3FlbXVfZG9tYWluLmggYi9zcmMvcWVtdS9xZW11 X2RvbWFpbi5oDQo+PiBpbmRleCAxMDUzZDFkNGNiLi42YWRjMDY3NjgxIDEwMDY0NA0KPj4gLS0t IGEvc3JjL3FlbXUvcWVtdV9kb21haW4uaA0KPj4gKysrIGIvc3JjL3FlbXUvcWVtdV9kb21haW4u aA0KPj4gQEAgLTQ0Nyw2ICs0NDcsNyBAQCB0eXBlZGVmIGVudW0gew0KPj4gICAgICAgUUVNVV9Q Uk9DRVNTX0VWRU5UX1dBVENIRE9HID0gMCwNCj4+ICAgICAgIFFFTVVfUFJPQ0VTU19FVkVOVF9H VUVTVFBBTklDLA0KPj4gICAgICAgUUVNVV9QUk9DRVNTX0VWRU5UX0RFVklDRV9ERUxFVEVELA0K Pj4gKyAgICBRRU1VX1BST0NFU1NfRVZFTlRfTkVUREVWX1NUUkVBTV9ESVNDT05ORUNURUQsDQo+ PiAgICAgICBRRU1VX1BST0NFU1NfRVZFTlRfTklDX1JYX0ZJTFRFUl9DSEFOR0VELA0KPj4gICAg ICAgUUVNVV9QUk9DRVNTX0VWRU5UX1NFUklBTF9DSEFOR0VELA0KPj4gICAgICAgUUVNVV9QUk9D RVNTX0VWRU5UX0pPQl9TVEFUVVNfQ0hBTkdFLA0KPj4gZGlmZiAtLWdpdCBhL3NyYy9xZW11L3Fl bXVfZHJpdmVyLmMgYi9zcmMvcWVtdS9xZW11X2RyaXZlci5jDQo+PiBpbmRleCA2MTU0ZmU5YmZl Li40N2Q2YTBkZDk1IDEwMDY0NA0KPj4gLS0tIGEvc3JjL3FlbXUvcWVtdV9kcml2ZXIuYw0KPj4g KysrIGIvc3JjL3FlbXUvcWVtdV9kcml2ZXIuYw0KPj4gQEAgLTQwLDYgKzQwLDcgQEANCj4+ICAg I2luY2x1ZGUgInFlbXVfaG9zdGRldi5oIg0KPj4gICAjaW5jbHVkZSAicWVtdV9ob3RwbHVnLmgi DQo+PiAgICNpbmNsdWRlICJxZW11X21vbml0b3IuaCINCj4+ICsjaW5jbHVkZSAicWVtdV9wYXNz dC5oIg0KPj4gICAjaW5jbHVkZSAicWVtdV9wcm9jZXNzLmgiDQo+PiAgICNpbmNsdWRlICJxZW11 X21pZ3JhdGlvbi5oIg0KPj4gICAjaW5jbHVkZSAicWVtdV9taWdyYXRpb25fcGFyYW1zLmgiDQo+ PiBAQCAtMzYyMiw2ICszNjIzLDg0IEBAIHByb2Nlc3NEZXZpY2VEZWxldGVkRXZlbnQodmlyUUVN VURyaXZlciAqZHJpdmVyLA0KPj4gICB9DQo+PiAgIA0KPj4gICANCj4+ICtzdGF0aWMgdm9pZA0K Pj4gK3Byb2Nlc3NOZXRkZXZTdHJlYW1EaXNjb25uZWN0ZWRFdmVudCh2aXJEb21haW5PYmogKnZt LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpu ZXRkZXZJZCkNCj4+ICt7DQo+PiArICAgIHZpckRvbWFpbkRldmljZURlZiBkZXY7DQo+PiArICAg IHZpckRvbWFpbk5ldERlZiAqZGVmOw0KPj4gKyAgICBxZW11RG9tYWluT2JqUHJpdmF0ZSAqcHJp djsNCj4+ICsgICAgdmlyUUVNVUNhcHMgKnFlbXVDYXBzOw0KPj4gKyAgICBjb25zdCBjaGFyICpk ZXZBbGlhcyA9IE5VTEw7DQo+PiArDQo+PiArICAgIC8qIFRoZSBldmVudCBzZW5kcyB1cyB0aGUg Im5ldGRldi1pZCIsIGJ1dCB3ZSBkb24ndCBzdG9yZSB0aGUNCj4+ICsgICAgICogbmV0ZGV2LWlk IGluIHRoZSBOZXREZWYgYW5kIHRodXMgY2FuJ3QgdXNlIGl0IHRvIGZpbmQgdGhlDQo+PiArICAg ICAqIGNvcnJlY3QgTmV0RGVmLiBXZSAqZG8qIGtlZXAgdGhlIGRldmljZSBhbGlhcyBpbiB0aGUg TmV0RGVmLg0KPj4gKyAgICAgKiBCeSBkZWZpbml0aW9uLCB0aGUgbmV0ZGV2LWlkIGlzICJob3N0 IiArIGRldkFsaWFzLCBzbyB3ZSBqdXN0DQo+PiArICAgICAqIG5lZWQgdG8gcmVtb3ZlICJob3N0 IiBmcm9tIHRoZSBmcm9udCBvZiBuZXRkZXYtaWQgdG8gZ2V0DQo+PiArICAgICAqIHNvbWV0aGlu ZyB3ZSBjYW4gdXNlIHRvIGZpbmQgdGhlIHByb3BlciBOZXREZWYuDQo+PiArICAgICAqLw0KPj4g KyAgICBpZiAoU1RSRVFMRU4obmV0ZGV2SWQsICJob3N0IiwgNCkpDQo+PiArICAgICAgICBkZXZB bGlhcyA9ICZuZXRkZXZJZFs0XTsNCj4gDQo+IFRoaXMgaXMgb3BlbiBjb2RpbmcgU1RSU0tJUCgp Og0KPiANCj4gICAgZGV2QWxpYXMgPSBTVFJTS0lQKG5ldGRldklkLCAiaG9zdCIpOw0KDQpBaCB5 ZXMsIHJpZ2h0IHlvdSBhcmUhIENoYW5nZWQuDQoNCj4gDQo+PiArDQo+PiArICAgIGlmICghZGV2 QWxpYXMpIHsNCj4+ICsgICAgICAgIFZJUl9XQVJOKCJSZWNlaXZlZCBORVRERVZfU1RSRUFNX0RJ U0NPTk5FQ1RFRCBldmVudCBmb3IgdW5yZWNvZ25pemVkIG5ldGRldiAlcyBmcm9tIGRvbWFpbiAl cCAlcyIsDQo+PiArICAgICAgICAgICAgICAgICAgbmV0ZGV2SWQsIHZtLCB2bS0+ZGVmLT5uYW1l KTsNCj4+ICsgICAgICAgIHJldHVybjsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBWSVJfREVC VUcoIlJlY2VpdmVkIE5FVERFVl9TVFJFQU1fRElTQ09OTkVDVEVEIGV2ZW50IGZvciBkZXZpY2Ug JXMgZnJvbSBkb21haW4gJXAgJXMiLA0KPj4gKyAgICAgICAgICAgICAgZGV2QWxpYXMsIHZtLCB2 bS0+ZGVmLT5uYW1lKTsNCj4+ICsNCj4+ICsgICAgaWYgKHZpckRvbWFpbk9iakJlZ2luSm9iKHZt LCBWSVJfSk9CX1FVRVJZKSA8IDApDQo+PiArICAgICAgICByZXR1cm47DQo+PiArDQo+PiArICAg IGlmICghdmlyRG9tYWluT2JqSXNBY3RpdmUodm0pKSB7DQo+PiArICAgICAgICBWSVJfREVCVUco IkRvbWFpbiBpcyBub3QgcnVubmluZyIpOw0KPj4gKyAgICAgICAgZ290byBlbmRqb2I7DQo+PiAr ICAgIH0NCj4+ICsNCj4+ICsgICAgaWYgKHZpckRvbWFpbkRlZkZpbmREZXZpY2Uodm0tPmRlZiwg ZGV2QWxpYXMsICZkZXYsIHRydWUpIDwgMCkgew0KPj4gKyAgICAgICAgVklSX1dBUk4oIk5FVERF Vl9TVFJFQU1fRElTQ09OTkVDVEVEIGV2ZW50IHJlY2VpdmVkIGZvciBub24tZXhpc3RlbnQgZGV2 aWNlICVzIGluIGRvbWFpbiAlcyIsDQo+PiArICAgICAgICAgICAgICAgICBkZXZBbGlhcywgdm0t PmRlZi0+bmFtZSk7DQo+PiArICAgICAgICBnb3RvIGVuZGpvYjsNCj4+ICsgICAgfQ0KPj4gKyAg ICBpZiAoZGV2LnR5cGUgIT0gVklSX0RPTUFJTl9ERVZJQ0VfTkVUKSB7DQo+PiArICAgICAgICBW SVJfV0FSTigiTkVUREVWX1NUUkVBTV9ESVNDT05ORUNURUQgZXZlbnQgcmVjZWl2ZWQgZm9yIG5v bi1uZXR3b3JrIGRldmljZSAlcyBpbiBkb21haW4gJXMiLA0KPj4gKyAgICAgICAgICAgICAgICAg ZGV2QWxpYXMsIHZtLT5kZWYtPm5hbWUpOw0KPj4gKyAgICAgICAgZ290byBlbmRqb2I7DQo+PiAr ICAgIH0NCj4+ICsgICAgZGVmID0gZGV2LmRhdGEubmV0Ow0KPj4gKw0KPj4gKyAgICBpZiAoZGVm LT5iYWNrZW5kLnR5cGUgIT0gVklSX0RPTUFJTl9ORVRfQkFDS0VORF9QQVNTVCkgew0KPj4gKyAg ICAgICAgVklSX0RFQlVHKCJpZ25vcmUgTkVUREVWX1NUUkVBTV9ESVNDT05ORUNURUQgZXZlbnQg Zm9yIG5vbi1wYXNzdCBuZXR3b3JrIGRldmljZSAlcyBpbiBkb21haW4gJXMiLA0KPj4gKyAgICAg ICAgICAgICAgICAgIGRlZi0+aW5mby5hbGlhcywgdm0tPmRlZi0+bmFtZSk7DQo+PiArICAgICAg ICBnb3RvIGVuZGpvYjsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBwcml2ID0gdm0tPnByaXZh dGVEYXRhOw0KPj4gKyAgICBxZW11Q2FwcyA9IHByaXYtPnFlbXVDYXBzOw0KPj4gKw0KPiANCj4g VGhlc2UgdHdvIGNhbiBiZSBkb25lIGluIHZhcmlhYmxlIGRlY2xhcmF0aW9uLiBBbHRlcm5hdGl2 ZWx5LCBpZiB5b3UNCj4gd2FudCB0byBsb3NlIEBwcml2IHZhcmlhYmxlIGNvbXBsZXRlbHkgeW91 IGNhbiBnbyB3aXRoOg0KPiANCj4gICAgdmlyUUVNVUNhcHMgKmNhcHMgPSBRRU1VX0RPTUFJTl9Q UklWQVRFKHZtKS0+cWVtdUNhcHM7DQoNCkkgaGFkIG9yaWdpbmFsbHkgaGFkIHRoZW0gaW5pdGlh bGl6ZWQsIGJ1dCBtb3ZlZCB0aGUgYXNzaWdubWVudCBkb3duIA0KdW50aWwgaXQgd2FzIGFjdHVh bGx5IG5lZWRlZCBiZWNhdXNlIG9mIHNvbWUgd2FycGVkIGlkZWEgYWJvdXQgc2F2aW5nIA0KY3lj bGVzLCBvciBhdm9pZGluZyBhIGRvdWJsZSBkZS1yZWZlcmVuY2UgaW4gY2FzZSBvbmUgb2YgdGhl bSBtaWdodCBiZSANCk5VTEwgb3Igc29tZXRoaW5nLiBCdXQgaW4gcmV0cm9zcGVjdCwganVzdCBk ZWxheWluZyB3b3VsZG4ndCBoYXZlIHNvbHZlZCANCnRoYXQgcHJvYmxlbSBhbnl3YXkuIEknbSBj aGFuZ2luZyBpdCB0byB1c2UgUUVNVV9ET01BSU5fUFJJVkFURSBiZWZvcmUgDQpwdXNoaW5nLg0K DQpUaGFua3MgZm9yIHRoZSByZXZpZXchDQoNCj4gDQo+PiArICAgIGlmICghdmlyUUVNVUNhcHNH ZXQocWVtdUNhcHMsIFFFTVVfQ0FQU19ORVRERVZfU1RSRUFNX1JFQ09OTkVDVCkpIHsNCj4+ICsg ICAgICAgIFZJUl9XQVJOKCJpZ25vcmUgTkVUREVWX1NUUkVBTV9ESVNDT05ORUNURUQgZXZlbnQg Zm9yIHBhc3N0IG5ldHdvcmsgZGV2aWNlICVzIGluIGRvbWFpbiAlcyAtIFFFTVUgYmluYXJ5IGRv ZXMgbm90IHN1cHBvcnQgcmVjb25uZWN0IiwNCj4+ICsgICAgICAgICAgICAgICAgICBkZWYtPmlu Zm8uYWxpYXMsIHZtLT5kZWYtPm5hbWUpOw0KPj4gKyAgICAgICAgZ290byBlbmRqb2I7DQo+PiAr ICAgIH0NCj4+ICsNCj4+ICsgICAgLyogaGFuZGxlIHRoZSBldmVudCAtIHJlc3RhcnQgdGhlIHBh c3N0IHByb2Nlc3Mgd2l0aCBpdHMgb3JpZ2luYWwNCj4+ICsgICAgICogcGFyYW1ldGVycw0KPj4g KyAgICAgKi8NCj4+ICsgICAgVklSX0RFQlVHKCJwcm9jZXNzIE5FVERFVl9TVFJFQU1fRElTQ09O TkVDVEVEIGV2ZW50IGZvciBuZXR3b3JrIGRldmljZSAlcyBpbiBkb21haW4gJXMiLA0KPj4gKyAg ICAgICAgICAgICAgZGVmLT5pbmZvLmFsaWFzLCB2bS0+ZGVmLT5uYW1lKTsNCj4+ICsNCj4+ICsg ICAgaWYgKHFlbXVQYXNzdFN0YXJ0KHZtLCBkZWYpIDwgMCkNCj4+ICsgICAgICAgIGdvdG8gZW5k am9iOw0KPj4gKw0KPj4gKyBlbmRqb2I6DQo+PiArICAgIHZpckRvbWFpbk9iakVuZEpvYih2bSk7 DQo+PiArfQ0KPj4gKw0KPiANCj4gTWljaGFsDQo+IA0KDQo=