From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=A2Mv8t1K; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id 828675A0272 for ; Wed, 05 Feb 2025 09:58:18 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1738745897; 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=fhHBdBM5MM9hPTaxhU8mI44NhbJEvi2FySvCJwAEgM8=; b=A2Mv8t1KpDLnzlH7GRGBTTvmXhS+sQSRMCkKeqE4Yxtga0CCMQCuiIfmENeoARUJuFNSwi oHzD3uLRmFEzMSNybK4t4EXN3dL7paCX6lnJtTCyLcndbcH1AGTIKzDt5MaXNxxpkFrr16 WQ1A470oztuFyiNbHD7j+PVDd4fv0AI= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-389-jTkwwAZANb6uUDSG9S6GZQ-1; Wed, 05 Feb 2025 03:58:15 -0500 X-MC-Unique: jTkwwAZANb6uUDSG9S6GZQ-1 X-Mimecast-MFC-AGG-ID: jTkwwAZANb6uUDSG9S6GZQ Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-38da7135a19so992026f8f.2 for ; Wed, 05 Feb 2025 00:58:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738745894; x=1739350694; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fhHBdBM5MM9hPTaxhU8mI44NhbJEvi2FySvCJwAEgM8=; b=PLNIa7ZBtrhfTC0iVLvMH42mE7pbPumVmDaSR3iX9Qq4wK2BNOQl0G1OANlH5w2sqk O9Ejr7Utx5JEIhA3R5Sp853TvPnOc2lbOExut4qGlt82mdieE+yOBSR0o4iUi5SGVv8H 2Gs/IfPUbEr/ZxAkKFmUOhiF3wuW1b2eKyLvQdinxPXbv+lOW7ujouKQid09qzvZfb3u HQoCrqgZVbE0CrLjOH8IpzXa/ukLTiPn4t46et0XPwPQ4UzRgeOHlDkhQHTrsDWCqEp2 SUUdVkl94eRmGSqOJjSLRv/BCbpAG7oEBqoNHC4grMypaCSMdSU4PVfBnyajXCm+rMxo vTrA== X-Forwarded-Encrypted: i=1; AJvYcCWtzX3s8nUsyy7oYd/xnRKYT6Ed9NUcQcSjDCFIN0/WtTjMG07kugpk5TFbHiSK1Z6Lv4sjxx7x9SU=@passt.top X-Gm-Message-State: AOJu0YyK8FWfE43IvkJBRCaIeSIoY6lQHKvaIqGBNiLLttgWwavL1XHX kpE5AIDLjSVbGuZhTiLFyHaTJ1++J6e+DFVj4ss+dH9XgS/RkV2gmT74/K7s01leeMtwTpa69x+ WC8wyWBid+tbg3iqtcMN8Rp0oQjldiDeNkiPbhK4FdTq8Gu3TTw== X-Gm-Gg: ASbGncubDQD6m4/Sgr6QJJLCKNzUO//sTp9zJRYUha/SMbuIKoZ8lJJZW94fW+20b0u RP3uMf7O3Fq6Bi5sd5i+4dCt9Zrm5iuqBp9VO+PRN7/QFqkPsdsXy5ajWQ0HyTZlexpcav3pv2d hNNWGNQ56JP1O0B7Qyj6ge4/PjjMUw3iGirpxgloMj94B2AOHvvk1E4CIJbXB6RrWhBJUYvHOzX WsOKVrCTBRYVXPmpeQZuZRtUtaZXbU03Bjhn8lkEndZ0oM4JmapjyEmowC6RSp91f+PIH6GP3jS RUskRFAmkxgU/bb/t/s4d4vKvbRlXsMYW6tH9lZn2U0OUDLuqXz9bpTqm23smxtkCAC+jpUJJbk AWsAodQe3/6/u3qO7Lq7LZ45LxvQBNtXP+g== X-Received: by 2002:a5d:598b:0:b0:385:f1f2:13f1 with SMTP id ffacd0b85a97d-38db4880a58mr1246271f8f.22.1738745894337; Wed, 05 Feb 2025 00:58:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IHzJJN1k9dReXDC8KOYnDM4RxiH4WquClj8bpsf2/El+6lM7sLWG6JFmPOQifm6mHLHJORnzw== X-Received: by 2002:a5d:598b:0:b0:385:f1f2:13f1 with SMTP id ffacd0b85a97d-38db4880a58mr1246251f8f.22.1738745893837; Wed, 05 Feb 2025 00:58:13 -0800 (PST) Received: from ?IPV6:2003:cf:d712:440c:ced3:f602:2e0f:36c3? (p200300cfd712440cced3f6022e0f36c3.dip0.t-ipconnect.de. [2003:cf:d712:440c:ced3:f602:2e0f:36c3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4390d93382dsm14755465e9.4.2025.02.05.00.58.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Feb 2025 00:58:12 -0800 (PST) Message-ID: <9aa66ede-51f5-46b5-ac15-4dbe93ce8903@redhat.com> Date: Wed, 5 Feb 2025 09:58:11 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 5/6] vhost_user: Make source quit after reporting migration state To: Stefano Brivio , German Maglione References: <20250205003904.2797491-1-sbrivio@redhat.com> <20250205003904.2797491-6-sbrivio@redhat.com> <20250205064708.1af3ef28@elisabeth> From: Hanna Czenczek In-Reply-To: <20250205064708.1af3ef28@elisabeth> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 496spky4BvJj-ELUvWzaM6WmbSlqpaM_azeEGSel2jI_1738745894 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-MailFrom: hreitz@redhat.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: QXMKNPY7IXDQVFSKQ3TUKJZJHRPTRCEF X-Message-ID-Hash: QXMKNPY7IXDQVFSKQ3TUKJZJHRPTRCEF X-Mailman-Approved-At: Wed, 05 Feb 2025 14:48:42 +0100 CC: David Gibson , passt-dev@passt.top, Laurent Vivier 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: T24gMDUuMDIuMjUgMDY6NDcsIFN0ZWZhbm8gQnJpdmlvIHdyb3RlOg0KPiBUbzogR2VybWFuIHdo b20gSSBmZWVsIG9rYXkgdG8gVG86IG5vdyB0aGF0DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJl dmlydC9rdWJldmlydC9wdWxsLzEzNzU2IGlzIG1lcmdlZCwgYW5kIEhhbm5hIHdobw0KPiBrbm93 cyBvbmUgdGhpbmcgb3IgdHdvIGFib3V0IHZob3N0LXVzZXIgYmFzZWQgbWlncmF0aW9uLg0KPg0K PiBUaGlzIGlzIFN0ZWZhbm8gZnJvbSB5b3VyIG5laWdoYm91cmluZyBtYWlsaW5nIGxpc3QsIHBh c3N0LWRldi4gRGF2aWQNCj4gaXMgd29uZGVyaW5nOg0KPg0KPiBPbiBXZWQsIDUgRmViIDIwMjUg MTM6MDk6NDIgKzExMDANCj4gRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24uZHJvcGJlYXIuaWQu YXU+IHdyb3RlOg0KPg0KPj4gT24gV2VkLCBGZWIgMDUsIDIwMjUgYXQgMDE6Mzk6MDNBTSArMDEw MCwgU3RlZmFubyBCcml2aW8gd3JvdGU6DQo+Pj4gT24gbWlncmF0aW9uLCB0aGUgc291cmNlIHBy b2Nlc3MgYXNrcyBwYXNzdC1oZWxwZXIgdG8gc2V0IFRDUCBzb2NrZXRzDQo+Pj4gaW4gcmVwYWly IG1vZGUsIGR1bXBzIHRoZSBpbmZvcm1hdGlvbiB3ZSBuZWVkIHRvIG1pZ3JhdGUgY29ubmVjdGlv bnMsDQo+Pj4gYW5kIGNsb3NlcyB0aGVtLg0KPj4+DQo+Pj4gQXQgdGhpcyBwb2ludCwgd2UgY2Fu J3QgcGFzcyB0aGVtIGJhY2sgdG8gcGFzc3QtaGVscGVyIHVzaW5nDQo+Pj4gU0NNX1JJR0hUUywg YmVjYXVzZSB0aGV5IGFyZSBjbG9zZWQsIGZyb20gdGhhdCBwZXJzcGVjdGl2ZSwgYW5kDQo+Pj4g c2VuZG1zZygpIHdpbGwgZ2l2ZSB1cyBFQkFERi4gQnV0IGlmIHdlIGRvbid0IGNsZWFyIHJlcGFp ciBtb2RlLCB0aGUNCj4+PiBwb3J0IHRoZXkgYXJlIGJvdW5kIHRvIHdpbGwgbm90IGJlIGF2YWls YWJsZSBmb3IgYmluZGluZyBpbiB0aGUNCj4+PiB0YXJnZXQuDQo+Pj4NCj4+PiBUZXJtaW5hdGUg b25jZSB3ZSdyZSBkb25lIHdpdGggdGhlIG1pZ3JhdGlvbiBhbmQgd2UgcmVwb3J0ZWQgdGhlDQo+ Pj4gc3RhdGUuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBjbGVhcmluZyByZXBhaXIgbW9kZSBvbiB0 aGUgc29ja2V0cyB3ZQ0KPj4+IGp1c3QgY2xvc2VkLg0KPj4gQXMgd2UndmUgZGlzY3Vzc2VkLCBx dWl0dGluZyBzdGlsbCBtYWtlcyBzZW5zZSwgYnV0IHRoZSBkZXNjcmlwdGlvbg0KPj4gYWJvdmUg aXMgbm90IHJlYWxseSBhY2N1cmF0ZS4gIFBlcmhhcHMsDQo+Pg0KPj4gPT09DQo+PiBPbmNlIHdl J3ZlIHBhc3NlZCB0aGUgbWlncmF0aW9uJ3MgInBvaW50IG9mIG5vIHJldHVybiIsIHRoZXJlJ3Mg bm8gd2F5DQo+PiB0byByZXN1bWUgdGhlIGd1ZXN0IG9uIHRoZSBzb3VyY2Ugc2lkZSwgYmVjYXVz ZSB3ZSBubyBsb25nZXIgb3duIHRoZQ0KPj4gY29ubmVjdGlvbnMuICBUaGVyZSdzIG5vdCByZWFs bHkgYW55dGhpbmcgd2UgY2FuIGRvIGV4Y2VwdCBleGl0Lg0KPj4gPT09DQo+Pg0KPj4gRXhjZXB0 Li4gdGhpbmtpbmcgYWJvdXQgaXQsIEknbSBub3Qgc3VyZSB0aGF0J3MgdGVjaG5pY2FsbHkgdHJ1 ZS4NCj4+IEFmdGVyIG1pZ3JhdGlvbiwgdGhlIHNvdXJjZSBxZW11IGVudGVycyBhIGtpbmQgb2Yg bGltYm8gc3RhdGUuICBJDQo+PiBzdXBwb3NlIGZvciB0aGUgY2FzZSBvZiB0by1kaXNrIG1pZ3Jh dGlvbiAoc2F2ZXZtKSB0aGUgZ3Vlc3QgY2FuDQo+PiBhY3R1YWxseSBiZSByZXN1bWVkLiAgV2hp Y2ggZm9yIHVzIGlzIG5vdCByZWFsbHkgY29tcGF0aWJsZSB3aXRoDQo+PiBjb21wbGV0aW5nIGF0 IGxlYXN0IGEgbG9jYWwgbWlncmF0aW9uIHByb3Blcmx5LiAgTm90IHJlYWxseSBzdXJlIHdoYXQN Cj4+IHRvIGRvIGFib3V0IHRoYXQuDQoNCkkgd291bGRu4oCZdCBjYWxsIGl0IGEgbGltYm8gc3Rh dGUsIEFGQUlVIHRoZSBzb3VyY2Ugc2lkZSBqdXN0IGNvbnRpbnVlcyANCnRvIGJlIHRoZSBWTSB0 aGF0IGl0IHdhcywganVzdCBwYXVzZWQuwqAgU28gaW4gY2FzZSBvZiBtaWdyYXRpb24gZmFpbHVy ZSANCm9uIHRoZSBkZXN0aW5hdGlvbiAod2hpY2ggaXMgd2hlcmUgdmlydGlvZnNkIG1pZ3JhdGlv biBlcnJvcnMgYXJlIA0KcmVwb3J0ZWQpLCB5b3UgY2FuIChhbmQgc2hvdWxkLCBJIGJlbGlldmU/ KSBjb250aW51ZSB0aGUgc291cmNlIFZNLsKgIEJ1dCANCmV2ZW4gaW4gY2FzZSBvZiBzdWNjZXNz LCB5b3UgY291bGQgaGF2ZSBpdCBjb250aW51ZSwgYW5kIHRoZW4geW914oCZZCBoYXZlIA0KY2xv bmVkIHRoZSBWTSAod2hpY2ggSSB0aGluayBoYXMgYWx3YXlzIGJlZW4gYSBiaXQgb2YgYSBwcm9i bGVtIGZvciANCm5ldHdvcmtpbmcgc3BlY2lmaWNhbGx5KS4NCg0KPj4gSSB0aGluayBpdCdzIGFs c28gdGVjaG5pY2FsbHkgcG9zc2libGUgdG8gdXNlIG1vbml0b3IgY29tbWFuZHMgdG8gYm9vdA0K Pj4gdXAgZXNzZW50aWFsbHkgYW4gZW50aXJlbHkgbmV3IGd1ZXN0IGluc3RhbmNlIGluIHRoZSBv cmlnaW5hbCBxZW11LA0KPj4gaW4gd2hpY2ggY2FzZSBmb3IgdXMgaXQgd291bGQgbWFrZSBzZW5z ZSB0byBiYXNpY2FsbHkgcmVzZXQgb3Vyc2VsdmVzDQo+PiAoZmx1c2ggdGhlIGxvdyB0YWJsZSku DQo+Pg0KPj4gSHJtLi4gd2UgcmVhbGx5IG5lZWQgdG8ga25vdyB0aGUgc2VxdWVuY2Ugb2YgZXZl bnRzIGluIGEgYml0IG1vcmUNCj4+IGRldGFpbCB0byBnZXQgdGhpcyByaWdodCAobm90IHRoYXQg dGhpcyBzdG9wcyBpbXByb3ZpbmcgdGhlIGd1dHMgb2YNCj4+IHRoZSBsb2dpYyBpbiB0aGUgbWVh bnRpbWUpLg0KPj4NCj4+IEknbSBhc2tpbmcgYXJvdW5kIHRvIHNlZSBpZiBJIGNhbiBmaW5kIHdo byBkaWQgdGhlIG1pZ3JhdGlvbiBzdHVmZiBvcg0KPj4gdmlydGlvZnNkLCBzbyB3ZSBjYW4gY29t cGFyZSBub3Rlcy4NCj4gLi4ud2hhdCB3ZSBzaG91bGQgYmUgZG9pbmcgaW4gdGhlIHNvdXJjZSBw YXNzdCBhdCBkaWZmZXJlbnQgc3RhZ2VzIG9mDQo+IG1vdmluZyBvdXIgVENQIGNvbm5lY3Rpb25z IChvciBmYWlsaW5nIHRvIG1vdmUgdGhlbSkgb3ZlciB0byB0aGUgdGFyZ2V0LA0KPiB3aGljaCBt aWdodCBiZSBpbnNwaXJlZCBieSB3aGF0IHlvdSdyZSBkb2luZyB3aXRoIHlvdXIuLi4gZmlsZXN5 c3RlbQ0KPiB0aGluZ3MgaW4gdmlydGlvZnNkLg0KDQpBcyBmYXIgYXMgSSB1bmRlcnN0YW5kLCB3 aXRoIHBhc3N0LCB0aGVyZeKAmXMgb3duZXJzaGlwIHRoYXQgbmVlZHMgdG8gYmXigKYgDQpwYXNz ZXQuIChoYSBoYSnCoCBXaGljaCBsZWFkcyB0byB0aGF0IOKAnHBvaW50IG9mIG5vIHJldHVybuKA nS7CoCBXZSBkb27igJl0IA0KaGF2ZSBzdWNoIGEgdGhpbmcgaW4gdmlydGlvZnNkLCBiZWNhdXNl IG93bmVyc2hpcCBjYW4gYmUgYW5kIGlzIHNoYXJlZCANCmJldHdlZW4gc291cmNlIGFuZCBkZXN0 aW5hdGlvbiBpbnN0YW5jZSBvbmNlIHRoZSBtaWdyYXRpb24gc3RhdGUgaGFzIA0Kc3RhcnRlZCB0 byBiZSBnZW5lcmF0ZWQgKGFuZCB3ZSBrbm93IHRoYXQgdGhlIGd1ZXN0IGlzIHN0b3BwZWQgZHVy aW5nIA0Kdmhvc3QtdXNlciBtaWdyYXRpb24pLg0KDQpTbyBob3cgaXQgd29ya3MgaW4gdmlydGlv ZnNkIGlzOg0KLSBEZXBlbmRpbmcgb24gaG93IGl04oCZcyBkb25lLCBjb2xsZWN0aW5nIG91ciBz dGF0ZSBjYW4gdG9vIG11Y2ggdGFrZSANCnRpbWUgZm9yIFZNIGRvd250aW1lLsKgIFNvIG9uY2Ug d2Ugc2VlIEZfTE9HX0FMTCBzZXQsIHdlIGJlZ2luIGNvbGxlY3RpbmcgDQppdC7CoCBBdCB0aGlz IHBvaW50LCB0aGUgZ3Vlc3QgaXMgc3RpbGwgcnVubmluZywgc28gd2UgbmVlZCB0byBiZSBhYmxl IHRvIA0KY2hhbmdlIHRoZSBjb2xsZWN0ZWQgc3RhdGUgd2hlbiB0aGUgZ3Vlc3QgZG9lcyBzb21l dGhpbmcgdGhhdOKAmWQgYWZmZWN0IGl0Lg0KLSBPbmNlIHdlIHJlY2VpdmUgU0VUX0RFVklDRV9T VEFURSwgd2Ugc2VyaWFsaXplIG91ciBzdGF0ZS4qDQotIEVycm9ycyBhcmUgcmV0dXJuZWQgdGhy b3VnaCBDSEVDS19ERVZJQ0VfU1RBVEUuDQotIFRoZSBzb3VyY2UgaW5zdGFuY2UgcmVtYWlucyBv cGVuIGFuZCBvcGVyYXRpb25hbC7CoCBJZiB0aGUgKHNvdXJjZSkgDQpndWVzdCBpcyB1bnBhdXNl ZCwgaXQgY2FuIGNvbnRpbnVlIHRvIHVzZSB0aGUgZmlsZXN5c3RlbS4NCg0KVGhlIGRlc3RpbmF0 aW9uIGluc3RhbmNlIG1lYW53aGlsZSByZWNlaXZlcyB0aGF0IHN0YXRlICh3aGlsZSB0aGUgZ3Vl c3QgDQppcyBzdG9wcGVkKSwgZGVzZXJpYWxpemVzIGFuZCBhcHBsaWVzIGl0LCBhbmQgaXMgdGhl biByZWFkeSB0byBiZWdpbiANCm9wZXJhdGlvbiB3aGVuZXZlciByZXF1ZXN0cyBzdGFydCBjb21p bmcgaW4gZnJvbSB0aGUgZ3Vlc3QuDQoNClRoZXJlIGlzIG5vIHBvaW50IG9mIG5vIHJldHVybiBm b3IgdXMsIGJlY2F1c2UgdGhlIHNvdXJjZSBpbnN0YW5jZSANCnJlbWFpbnMgb3BlcmF0aW9uYWwg dGhyb3VnaG91dDsgbm90aGluZyBpcyBtb3ZlZCwganVzdCBzaGFyZWQuIFVudGlsIA0KZXhlY3V0 aW9uIGNvbnRpbnVlcyBvbiB0aGUgZGVzdGluYXRpb24gKHdoaWNoIEkgdGhpbmsgeW91IGNhbiBv bmx5IA0KZGV0ZWN0IGJ5IHNlZWluZyB0aGUgdmlydHF1ZXVlIGJlaW5nIHN0YXJ0ZWQ/KSwgYW55 dGhpbmcgY2FuIHN0aWxsIA0KcmVwb3J0IGFuIGVycm9yIGFuZCB0aHVzIGZhaWwgbWlncmF0aW9u LCByZXF1aXJpbmcgY29udGludWluZyBvbiB0aGUgc291cmNlLg0KDQpCZXNpZGVzIHdhaXRpbmcg Zm9yIHdoaWNoIGluc3RhbmNlIHdpbGwgZXZlbnR1YWxseSBjb250aW51ZSBleGVjdXRpb24sIA0K dGhlIG9ubHkgdGhpbmcgdGhhdCBjb21lcyB0byBtaW5kIHRoYXQgbWlnaHQgYmUgaGVscGZ1bCBp cyB0aGUgDQpyZXR1cm4tcGF0aCBmZWF0dXJlOyB3aXRoIGl0LCB0aGUgc291cmNlIGluc3RhbmNl IHdpbGwgYXQgbGVhc3Qga25vdyANCndoZXRoZXIgdGhlIGRlc3RpbmF0aW9uIHdhcyBzdWNjZXNz ZnVsIGluIG1pZ3JhdGluZyBvciBub3QuwqAgSXQgaXNu4oCZdCANCnJlZmxlY3RlZCBpbiB2aG9z dC11c2VyICh5ZXQpLCB0aG91Z2guDQoNCiogTm90ZSB0aGF0IGluIGNhc2Ugb2Ygc25hcHNob3R0 aW5nIChtaWdyYXRpb24gdG8gZmlsZSkgd2l0aCB0aGUgDQpiYWNrZ3JvdW5kLXNuYXBzaG90IG1p Z3JhdGlvbiBmbGFnIHNldCwgRl9MT0dfQUxMIHdvbuKAmXQgYmUgc2V0LsKgIFNvIHdlIA0KbXVz dCBhbHNvIHByZXBhcmUgZm9yIHJlY2VpdmluZyBTRVRfREVWSUNFX1NUQVRFIHdpdGhvdXQgRl9M T0dfQUxMIHNldCwgDQppbiB3aGljaCBjYXNlIHdlIG11c3QgdGhlbiBmaXJzdCBjb2xsZWN0IG91 ciBzdGF0ZSBiZWZvcmUgd2UgY2FuIA0Kc2VyaWFsaXplIGl0Lg0KDQpIYW5uYQ0KDQo+IFdlJ3Jl IHRha2luZyBmb3IgZ3JhbnRlZCB0aGF0IGFzIGxvbmcgYXMgd2UgaGF2ZSBhIGNoYW5jZSB0byBk ZXRlY3QNCj4gZmFpbHVyZSAoZS5nLiB3ZSBjYW4ndCBkdW1wIHNlcXVlbmNlIG51bWJlcnMgZnJv bSBhIFRDUCBzb2NrZXQgaW4gdGhlDQo+IHNvdXJjZSksIHdlIHNob3VsZCB1c2UgdGhhdCB0byBh Ym9ydCB0aGUgd2hvbGUgdGhpbmcuDQo+DQo+IE9uY2Ugd2UncmUgcGFzdCB0aGF0IHBvaW50LCB3 ZSBoYXZlIHNldmVyYWwgb3B0aW9ucy4gQW5kIGFjdHVhbGx5LA0KPiB0aGF0J3MgcmVnYXJkbGVz cyBvZiBmYWlsdXJlOiBiZWNhdXNlIHdlIGFsc28gaGF2ZSB0aGUgcXVlc3Rpb24gb2Ygd2hhdA0K PiB0byBkbyBpZiB3ZSBzZWUgdGhhdCBub3RoaW5nIHdlbnQgd3JvbmcuDQo+DQo+IFdlIGNhbiBl eGl0IGluIHRoZSBzb3VyY2UsIGZvciBleGFtcGxlICh0aGlzIGlzIHdoYXQgcGF0Y2ggaW1wbGVt ZW50cyk6DQo+IHdhaXQgZm9yIFZIT1NUX1VTRVJfQ0hFQ0tfREVWSUNFX1NUQVRFLCByZXBvcnQg dGhhdCwgYW5kIHF1aXQuDQo+DQo+IE9yIHdlIGNhbiBqdXN0IGNsZWFyIHVwIGFsbCBvdXIgY29u bmVjdGlvbnMgYW5kIHJlc3VtZSAoc3RhcnQgZnJvbSBhDQo+IGJsYW5rIHN0YXRlKS4gT3IgZG8g dGhhdCwgb25seSBpZiB3ZSBkaWRuJ3Qgc21lbGwgZmFpbHVyZS4NCj4NCj4gV291bGQgeW91IGhh dmUgc29tZSBwb2ludGVycywgZ2VuZXJhbCBndWlkZWxpbmVzLCBpZGVhcz8gSSBrbm93IHRoYXQN Cj4gdGhlIHRvcGljIGlzIGEgYml0IGJyb2FkLCBidXQgSSdtIGhvcGVmdWwgdGhhdCB5b3UgaGF2 ZSBhIGxvdCBvZg0KPiBjbGVhciBhbnN3ZXJzIGZvciB1cy4gOikgVGhhbmtzLg0KPg0KPj4+IFNp Z25lZC1vZmYtYnk6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQo+Pj4gLS0t DQo+Pj4gICB2aG9zdF91c2VyLmMgfCAxMSArKysrKysrKysrKw0KPj4+ICAgMSBmaWxlIGNoYW5n ZWQsIDExIGluc2VydGlvbnMoKykNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS92aG9zdF91c2VyLmMg Yi92aG9zdF91c2VyLmMNCj4+PiBpbmRleCBiMTA3ZDBmLi43MDc3M2Q2IDEwMDY0NA0KPj4+IC0t LSBhL3Zob3N0X3VzZXIuYw0KPj4+ICsrKyBiL3Zob3N0X3VzZXIuYw0KPj4+IEBAIC05OTcsNiAr OTk3LDggQEAgc3RhdGljIGJvb2wgdnVfc2VuZF9yYXJwX2V4ZWMoc3RydWN0IHZ1X2RldiAqdmRl diwNCj4+PiAgIAlyZXR1cm4gZmFsc2U7DQo+Pj4gICB9DQo+Pj4gICANCj4+PiArc3RhdGljIGJv b2wgcXVpdF9vbl9kZXZpY2Vfc3RhdGUgPSBmYWxzZTsNCj4+PiArDQo+Pj4gICAvKioNCj4+PiAg ICAqIHZ1X3NldF9kZXZpY2Vfc3RhdGVfZmRfZXhlYygpIC0gU2V0IHRoZSBkZXZpY2Ugc3RhdGUg bWlncmF0aW9uIGNoYW5uZWwNCj4+PiAgICAqIEB2ZGV2Ogl2aG9zdC11c2VyIGRldmljZQ0KPj4+ IEBAIC0xMDI0LDYgKzEwMjYsOSBAQCBzdGF0aWMgYm9vbCB2dV9zZXRfZGV2aWNlX3N0YXRlX2Zk X2V4ZWMoc3RydWN0IHZ1X2RldiAqdmRldiwNCj4+PiAgIAltaWdyYXRlX3JlcXVlc3QodmRldi0+ Y29udGV4dCwgbXNnLT5mZHNbMF0sDQo+Pj4gICAJCQlkaXJlY3Rpb24gPT0gVkhPU1RfVVNFUl9U UkFOU0ZFUl9TVEFURV9ESVJFQ1RJT05fTE9BRCk7DQo+Pj4gICANCj4+PiArCWlmIChkaXJlY3Rp b24gPT0gVkhPU1RfVVNFUl9UUkFOU0ZFUl9TVEFURV9ESVJFQ1RJT05fU0FWRSkNCj4+PiArCQlx dWl0X29uX2RldmljZV9zdGF0ZSA9IHRydWU7DQo+Pj4gKw0KPj4+ICAgCS8qIFdlIGRvbid0IHBy b3ZpZGUgYSBuZXcgZmQgZm9yIHRoZSBkYXRhIHRyYW5zZmVyICovDQo+Pj4gICAJdm1zZ19zZXRf cmVwbHlfdTY0KG1zZywgVkhPU1RfVVNFUl9WUklOR19OT0ZEX01BU0spOw0KPj4+ICAgDQo+Pj4g QEAgLTEyMDEsNCArMTIwNiwxMCBAQCB2b2lkIHZ1X2NvbnRyb2xfaGFuZGxlcihzdHJ1Y3QgdnVf ZGV2ICp2ZGV2LCBpbnQgZmQsIHVpbnQzMl90IGV2ZW50cykNCj4+PiAgIA0KPj4+ICAgCWlmIChy ZXBseV9yZXF1ZXN0ZWQpDQo+Pj4gICAJCXZ1X3NlbmRfcmVwbHkoZmQsICZtc2cpOw0KPj4+ICsN Cj4+PiArCWlmIChxdWl0X29uX2RldmljZV9zdGF0ZSAmJg0KPj4+ICsJICAgIG1zZy5oZHIucmVx dWVzdCA9PSBWSE9TVF9VU0VSX0NIRUNLX0RFVklDRV9TVEFURSkgew0KPj4+ICsJCWluZm8oIk1p Z3JhdGlvbiBjb21wbGV0ZSwgZXhpdGluZyIpOw0KPj4+ICsJCWV4aXQoRVhJVF9TVUNDRVNTKTsN Cj4+PiArCX0NCj4+PiAgIH0NCg0K