From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine 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=DO2ElNWk; 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 0AE325A0265 for ; Wed, 09 Sep 2026 14:35:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1788957345; 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:autocrypt:autocrypt; bh=+CAZngPLIqtsLN280VXNhP4kG52IV/Hl3lrBXsZh37A=; b=DO2ElNWk6ldahiECVTZAgZZMKkL5zUmd5f8Yqt5vsPvzJX9Nv9ZcXPjn/8snXjnYlHgx6z 7BkhMcEhf5obsI+pt8mdAy7zUPUlyhixYEf/H+m7OjzTnL+E0u8WVbil9K17V0FdCX3Jvs Mo9hOVy6i64PTKSczV+evtBlt7nWv7M= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-167--coiS4pgMUi1I__YcEBOJA-1; Wed, 09 Sep 2026 08:35:44 -0400 X-MC-Unique: -coiS4pgMUi1I__YcEBOJA-1 X-Mimecast-MFC-AGG-ID: -coiS4pgMUi1I__YcEBOJA_1788957343 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-4858e4b3e92so2614713f8f.3 for ; Wed, 09 Sep 2026 05:35:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788957343; x=1789562143; h=content-transfer-encoding:content-type:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=+CAZngPLIqtsLN280VXNhP4kG52IV/Hl3lrBXsZh37A=; b=O25joaRwqiNgb0V1UJahV9p95Yxp4ouVLN6OmOjJB2NkVzY6QfCKxemFLliaHWUBwc kmhblG97/Z8DhuDhrj5yZQQudK0o75rq20LtmMefrR0Pw99sVU/7dg0v3+afdBC/TpPQ fvWnbpMLi3vLCAoihr2e91Zgk+SWqKT2V2sSap7rIX29dWudt/wooWFcJtkXXe17uLlF KW854jFK/GlbS0WIi6izS4omJdYQlcPDrSuF595SW5WWBb15EbOAGmfBu9luZTZzVcB2 tMtaFoxfddhZR2hNHAgAJFqAqsIcBvEld5vHHfsF+WO0RWPqlYMiJy38CBE9ZBVDgWZ+ Frlg== X-Forwarded-Encrypted: i=1; AKwUvBzYRTrIOHD1T+axeQ4pMEbZn2v5rb0o5IiNDn4/IveDO1wlLZMMwdLSFdWo+gvrtZFMhlAA91Q5SlM=@passt.top X-Gm-Message-State: AFuF++lAl7Z2R4YBNV/VSlusvPob7IvNOm2n8l70MKlyOg3G6dSCGFYm G6IcgQwqDQfIZEhLK55cpNPTbXDTHRYIy3GlPNny+yroKyy4iYCbpOQK9tyv955xNCWXcvWFtsV hy8VCOJdJkSXetBYWeeifH3mhTRq4a8YdS+5cFgGSndMXOwcpnnmZIA== X-Gm-Gg: AYBFou3aJqh1sNZonKaetlzdUGeUuMurX31pD1XJepUTFRIKUGvAuC8Q5CMN/CTZ9Sm CiqVzBg0Me5CSg1UZfDnBt57nySVSrWa/Zjh53tEsTxJ2jS9l/nUBfGGo9YHzMhGm0nY3tc1e1b LCFq2ZFeC8cvXiM7RmO60Fq1n2OG1G295VXzV6lQMaaL8pLzhL4PeDmsPMGz9az58zdnAO4NyJL ck5HPtutDAsgEL+d+H3C+6NeRNo50Rvqir19DyB/woCn8l6iM+pzO/ONaU/M9Y3Rkd4PXNs+4D8 aeiVB5RMcBxFCslRv9hBEIMt/6/rYfW9/poJqQFnRy0PWOiAy9NQ+44LTLCP7f/p0K7SX0iXm7I 7zZy+H0VQmJo3KLg0Sx1apG94I3jZc7MXpq5jitYHPac= X-Received: by 2002:adf:e198:0:b0:485:8a47:5b89 with SMTP id ffacd0b85a97d-485c23e2c90mr1221857f8f.38.1788957343064; Wed, 09 Sep 2026 05:35:43 -0700 (PDT) X-Received: by 2002:adf:e198:0:b0:485:8a47:5b89 with SMTP id ffacd0b85a97d-485c23e2c90mr1221787f8f.38.1788957342499; Wed, 09 Sep 2026 05:35:42 -0700 (PDT) Received: from ?IPV6:2a01:e0a:e10:ef90:d92c:7e4a:47e6:1b23? ([2a01:e0a:e10:ef90:d92c:7e4a:47e6:1b23]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48594172546sm35497176f8f.15.2026.09.09.05.35.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 09 Sep 2026 05:35:41 -0700 (PDT) Message-ID: <5048eb43-caa2-46ae-839f-696e05e02ebf@redhat.com> Date: Wed, 9 Sep 2026 14:35:41 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/7] conf: Add context fields, epoll types and --vhost-kernel flag to pasta To: aerosouund , passt-dev@passt.top References: <20260904212826.41027-1-aerosound161@gmail.com> <20260904212826.41027-3-aerosound161@gmail.com> From: Laurent Vivier Autocrypt: addr=lvivier@redhat.com; keydata= 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 In-Reply-To: <20260904212826.41027-3-aerosound161@gmail.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: bnfrqKg7vavVJ0V4L5MoEm2fextWHAnhD3nH6x4Hlk4_1788957343 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: G3NV7RTA7T6XDRMDZGMQWAXAAMID3RZL X-Message-ID-Hash: G3NV7RTA7T6XDRMDZGMQWAXAAMID3RZL X-MailFrom: lvivier@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: eperezma@redhat.com 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: T24gOS80LzI2IDIzOjI4LCBhZXJvc291dW5kIHdyb3RlOg0KPiBGcm9tOiBBbW1hciBZYXNzZXIg PGFlcm9zb3VuZDE2MUBnbWFpbC5jb20+DQo+IA0KPiAtLXZob3N0LWtlcm5lbCBjb250cm9scyB3 aGV0aGVyIHRvIHVzZSB2aG9zdC1uZXQgYWNjZWxlcmF0aW9uIGZvciBwYXN0YS4NCj4gSXQgdGFr ZXMgb25lIG9mIHRocmVlIG1vZGVzOiAib24iIHJlcXVpcmVzIGFjY2VsZXJhdGlvbiBhbmQgZmFp bHMgaWYgaXQNCj4gaXNuJ3QgYXZhaWxhYmxlLCAib2ZmIiBuZXZlciB1c2VzIGl0LCBhbmQgImF1 dG8iIHVzZXMgaXQgaWYgaXQncw0KPiBhdmFpbGFibGUgYW5kIGZhbGxzIGJhY2sgdG8gcGxhaW4g dGFwIG9wZXJhdGlvbiBvdGhlcndpc2UuICJhdXRvIiBpcyB0aGUNCj4gZGVmYXVsdCwgc28gYW4g dW5tb2RpZmllZCBpbnZvY2F0aW9uIHBpY2tzIHVwIGFjY2VsZXJhdGlvbiB3aGVyZXZlciB0aGUN Cj4ga2VybmVsIG9mZmVycyBpdCwgYW5kIGJlaGF2ZXMgYXMgYmVmb3JlIHdoZXJlIGl0IGRvZXNu J3QuDQo+IA0KPiBFUE9MTF9UWVBFX1ZIT1NUX0NBTEwgbWVhbnMgdGhlIGtlcm5lbCB3YW50cyB0 byBub3RpZnkgdXMgYWJvdXQgZGF0YSBpdA0KPiBoYXMgd3JpdHRlbi4gRVBPTExfVFlQRV9WSE9T VF9FUlJPUiBtZWFucyB0aGUga2VybmVsIGVuY291bnRlcmVkIGFuDQo+IGludGVybmFsIGVycm9y IG9uIHZob3N0IGFuZCB3YW50cyB0byB0ZWxsIHVzIHNvbWV0aGluZyB3ZW50IHdyb25nLg0KPiAN Cj4gQ29sbGVjdCB0aGUgdmhvc3Qgc3RhdGUgaW4gYSBzaW5nbGUgc3RydWN0IHZob3N0X2N0eCB3 aXRoIHRoZSBmb2xsb3dpbmcNCj4gZmllbGRzOg0KPiANCj4gICAgLSBtb2RlOiAgICAgd2hpY2gg b2YgdGhlIHRocmVlIG1vZGVzIGFib3ZlIHdhcyByZXF1ZXN0ZWQNCj4gICAgLSBmZDogICAgICAg ZmlsZSBkZXNjcmlwdG9yIGZvciAvZGV2L3Zob3N0LW5ldCwgd2hpY2ggZG91YmxlcyBhcyBvdXIN Cj4gICAgICAgICAgICAgICAgaW5kaWNhdGlvbiB0aGF0IHNldHVwIHN1Y2NlZWRlZA0KPiAgICAt IGZlYXR1cmVzOiB2aXJ0aW8gZmVhdHVyZSBiaXRzIG5lZ290aWF0ZWQgd2l0aCB2aG9zdC1uZXQN Cj4gICAgLSB2cVtdOiAgICAga2ljaywgY2FsbCBhbmQgZXJyIGV2ZW50ZmRzIGZvciBib3RoIHF1 ZXVlcw0KPiANCj4gTW9kaWZ5IHRhcF9oZHJfaW92IHRvIGNyZWF0ZSBhbiBpb3Ygd2l0aCB0aGUg c2l6ZSBvZiBhDQo+IHZpcnRpb19uZXRfbXJnX3J4YnVmIGlmIHZob3N0IGluaXRpYWxpemF0aW9u IGhhcyBiZWVuIHN1Y2Nlc3NmdWwgKHdlIGFyZQ0KPiBpbiBtb2RlICdvbicgb3IgJ2F1dG8nIGFu ZCB3ZSBkaWRuJ3QgbmVlZCB0aGUgdGFwIGZhbGxiYWNrKQ0KPiANCj4gTW92ZSB0aGUgTDJfTUFY X0xFTl9YWCBjb25zdGFudHMgZnJvbSB0YXAuaCB0byBwYXNzdC5oIHRvIGF2b2lkIHRoZQ0KPiBj aXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW4gYm90aCBmaWxlcy4gVkhPU1RfREVTQ19CWVRFUyBp cyBkZWZpbmVkIGFzDQo+IHRoZSBtYXhpbXVtIGwyIGZyYW1lIHNpemUgKyB0aGUgc2l6ZSBvZiB0 aGUgdmlydGlvIG5ldCBoZWFkZXIsIGlmIHRoZQ0KPiBsZW5ndGggY29uc3RhbnQgcmVtYWlucyBp biB0YXAuaCBwYXNzdC5oIHdvdWxkIG5lZWQgdG8gaW5jbHVkZSBpdCwgYnV0DQo+IHRhcC5oIG5l ZWRzIHRvIGluY2x1ZGUgcGFzc3QuaCB0byBnZXQgdGhlIGRlZmluaXRpb24gb2YgYHN0cnVjdCBj dHhgLg0KPiBNb3ZpbmcgdGhlIGxlbmd0aCBjb25zdGFudHMgdG8gcGFzc3QuaCBtYWtlcyBpdCBm cmVlIG9mIGRlcGVuZGVuY3kgb24NCj4gdGFwLmgNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEV1Z2Vu aW8gUMOpcmV6IDxlcGVyZXptYUByZWRoYXQuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBBbW1hciBZ YXNzZXIgPGFlcm9zb3VuZDE2MUBnbWFpbC5jb20+DQo+IC0tLQ0KPiAgIGNvbmYuYyAgICAgICB8 IDE5ICsrKysrKysrKysrKysNCj4gICBlcG9sbF90eXBlLmggfCAgNCArKysNCj4gICBwYXNzdC5j ICAgICAgfCAgMyArKw0KPiAgIHBhc3N0LmggICAgICB8IDc5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gICB0YXAuaCAgICAgICAgfCAzNiAr KysrKystLS0tLS0tLS0tLS0tLS0tLS0NCj4gICA1IGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRp b25zKCspLCAyOSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9jb25mLmMgYi9jb25m LmMNCj4gaW5kZXggZmFmMjY4MS4uYTdiOTM0YSAxMDA2NDQNCj4gLS0tIGEvY29uZi5jDQo+ICsr KyBiL2NvbmYuYw0KPiBAQCAtNzM2LDYgKzczNiw5IEBAIHBhc3RhX29wdHM6DQo+ICAgCQkiICAg IGRlZmF1bHQ6IGF1dG9cbiINCj4gICAJCSIgIC0taG9zdC1sby10by1ucy1sbwlUcmFuc2xhdGUg aG9zdC1sb29wYmFjayBmb3J3YXJkcyB0b1xuIg0KPiAgIAkJIgkJCW5hbWVzcGFjZSBsb29wYmFj a1xuIg0KPiArCQkiICAtLXZob3N0LWtlcm5lbCBNT0RFCVVzZSB2aG9zdC1rZXJuZWwgYWNjZWxl cmF0aW9uXG4iDQo+ICsJCSIgICAgTU9ERSBpcyBcIm9uXCIsIFwib2ZmXCIgb3IgXCJhdXRvXCJc biINCj4gKwkJIiAgICBkZWZhdWx0OiBhdXRvXG4iDQo+ICAgCQkiICAtLXVzZXJucyBOU1BBVEgg CVRhcmdldCB1c2VyIG5hbWVzcGFjZSB0byBqb2luXG4iDQo+ICAgCQkiICAtLW5ldG5zIFBBVEh8 TkFNRQlUYXJnZXQgbmV0d29yayBuYW1lc3BhY2UgdG8gam9pblxuIg0KPiAgIAkJIiAgLS1uZXRu cy1vbmx5CQlEb24ndCBqb2luIGV4aXN0aW5nIHVzZXIgbmFtZXNwYWNlXG4iDQo+IEBAIC03NjYs NiArNzY5LDcgQEAgZW51bSBwYXNzdF9tb2RlcyBjb25mX21vZGUoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSkNCj4gICAJaW50IHZob3N0X3VzZXIgPSAwOw0KPiAgIAljb25zdCBzdHJ1Y3Qgb3B0aW9u IG9wdHZ1W10gPSB7DQo+ICAgCQl7InZob3N0LXVzZXIiLAlub19hcmd1bWVudCwJCSZ2aG9zdF91 c2VyLAkxIH0sDQo+ICsJCXsidmhvc3Qta2VybmVsIiwgcmVxdWlyZWRfYXJndW1lbnQsCU5VTEws CQkwIH0sDQoNCkkgZG9uJ3QgdGhpbmsgaXQncyByZWFsbHkgbmVlZGVkLg0KDQo+ICAgCQl7IDAg fSwNCj4gICAJfTsNCj4gICAJY2hhciBhcmd2MFtQQVRIX01BWF0sICpiYXNlYXJnMDsNCj4gQEAg LTEzNDgsNiArMTM1Miw3IEBAIHZvaWQgY29uZihzdHJ1Y3QgY3R4ICpjLCBpbnQgYXJnYywgY2hh ciAqKmFyZ3YpDQo+ICAgCQl7InN0YXRzIiwgcmVxdWlyZWRfYXJndW1lbnQsCQlOVUxMLAkJMzEg fSwNCj4gICAJCXsiY29uZi1wYXRoIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsCQknYycgfSwN Cj4gICAJCXsiY2hyb290LWZhbGxiYWNrIiwgbm9fYXJndW1lbnQsCU5VTEwsIAkJMzIgfSwNCj4g KwkJeyJ2aG9zdC1rZXJuZWwiLCByZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwJCTMzIH0sDQo+ICAg CQl7IDAgfSwNCj4gICAJfTsNCj4gICAJY29uc3QgY2hhciAqb3B0c3RyaW5nID0gIitkcWZlbDpo czpjOkY6STpwOlA6bTphOm46TTpnOmk6bzpEOlM6SDo0NjF0OnU6VDpVOiI7DQo+IEBAIC0xNTg4 LDYgKzE1OTMsMjAgQEAgdm9pZCBjb25mKHN0cnVjdCBjdHggKmMsIGludCBhcmdjLCBjaGFyICoq YXJndikNCj4gICAJCQlicmVhazsNCj4gICAJCWNhc2UgMzI6DQo+ICAgCQkJYy0+Y2hyb290X2Zh bGxiYWNrID0gdHJ1ZTsNCj4gKwkJCWJyZWFrOw0KPiArCQljYXNlIDMzOg0KPiArCQkJaWYgKGMt Pm1vZGUgIT0gTU9ERV9QQVNUQSkNCj4gKwkJCQlkaWUoIi0tdmhvc3Qta2VybmVsIGlzIGZvciBw YXN0YSBtb2RlIG9ubHkiKTsNCj4gKw0KPiArCQkJaWYgKCFzdHJjbXAob3B0YXJnLCAiYXV0byIp KQ0KPiArCQkJCWMtPnZob3N0Lm1vZGUgPSBWSE9TVF9NT0RFX0FVVE87DQo+ICsJCQllbHNlIGlm ICghc3RyY21wKG9wdGFyZywgIm9uIikpDQo+ICsJCQkJYy0+dmhvc3QubW9kZSA9IFZIT1NUX01P REVfT047DQo+ICsJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgIm9mZiIpKQ0KPiArCQkJCWMt PnZob3N0Lm1vZGUgPSBWSE9TVF9NT0RFX09GRjsNCj4gKwkJCWVsc2UNCj4gKwkJCQlkaWUoIklu dmFsaWQgdmhvc3Qta2VybmVsIG1vZGU6ICVzIiwgb3B0YXJnKTsNCj4gKw0KPiAgIAkJCWJyZWFr Ow0KPiAgIAkJY2FzZSAnZCc6DQo+ICAgCQkJYy0+ZGVidWcgPSAxOw0KPiBkaWZmIC0tZ2l0IGEv ZXBvbGxfdHlwZS5oIGIvZXBvbGxfdHlwZS5oDQo+IGluZGV4IDA2MTMyNWEuLmUzMjA2ZDEgMTAw NjQ0DQo+IC0tLSBhL2Vwb2xsX3R5cGUuaA0KPiArKysgYi9lcG9sbF90eXBlLmgNCj4gQEAgLTUw LDYgKzUwLDEwIEBAIGVudW0gZXBvbGxfdHlwZSB7DQo+ICAgCUVQT0xMX1RZUEVfQ09ORl9MSVNU RU4sDQo+ICAgCS8qIENvbmZpZ3VyYXRpb24gc29ja2V0ICovDQo+ICAgCUVQT0xMX1RZUEVfQ09O RiwNCj4gKwkvKiB2aG9zdC1rZXJuZWwgY2FsbCBzb2NrZXQgKi8NCj4gKwlFUE9MTF9UWVBFX1ZI T1NUX0NBTEwsDQo+ICsJLyogdmhvc3Qta2VybmVsIGVycm9yIHNvY2tldCAqLw0KPiArCUVQT0xM X1RZUEVfVkhPU1RfRVJST1IsDQo+ICAgDQo+ICAgCUVQT0xMX05VTV9UWVBFUywNCj4gICB9Ow0K PiBkaWZmIC0tZ2l0IGEvcGFzc3QuYyBiL3Bhc3N0LmMNCj4gaW5kZXggNTA1NDU1MS4uNjAwMjIz MSAxMDA2NDQNCj4gLS0tIGEvcGFzc3QuYw0KPiArKysgYi9wYXNzdC5jDQo+IEBAIC02NSw2ICs2 NSw3IEBAIGNoYXIgcGt0X2J1ZltQS1RfQlVGX0JZVEVTXQlfX2F0dHJpYnV0ZV9fICgoYWxpZ25l ZChQQUdFX1NJWkUpKSk7DQo+ICAgc3RydWN0IGN0eCBwYXNzdF9jdHggPSB7DQo+ICAgCS5waWRm aWxlX2ZkCQk9IC0xLA0KPiAgIAkuZmRfdGFwCQkJPSAtMSwNCj4gKwkudmhvc3QJCQk9IHsgLmZk ID0gLTEgfSwNCj4gICAJLmZkX3RhcF9saXN0ZW4JCT0gLTEsDQo+ICAgCS5mZF9jb250cm9sX2xp c3Rlbgk9IC0xLA0KPiAgIAkuZmRfcmVwYWlyX2xpc3Rlbgk9IC0xLA0KPiBAQCAtOTIsNiArOTMs OCBAQCBjaGFyICplcG9sbF90eXBlX3N0cltdID0gew0KPiAgIAlbRVBPTExfVFlQRV9OTF9ORUlH SF0JCT0gIm5ldGxpbmsgbmVpZ2hib3VyIG5vdGlmaWVyIHNvY2tldCIsDQo+ICAgCVtFUE9MTF9U WVBFX0NPTkZfTElTVEVOXQk9ICJjb25maWd1cmF0aW9uIGxpc3RlbmluZyBzb2NrZXQiLA0KPiAg IAlbRVBPTExfVFlQRV9DT05GXQkJPSAiY29uZmlndXJhdGlvbiBzb2NrZXQiLA0KPiArCVtFUE9M TF9UWVBFX1ZIT1NUX0NBTExdCQk9ICJ2aG9zdC1rZXJuZWwgY2FsbCBzb2NrZXQiLA0KPiArCVtF UE9MTF9UWVBFX1ZIT1NUX0VSUk9SXQk9ICJ2aG9zdC1rZXJuZWwgZXJyb3Igc29ja2V0IiwNCj4g ICB9Ow0KPiAgIHN0YXRpY19hc3NlcnQoQVJSQVlfU0laRShlcG9sbF90eXBlX3N0cikgPT0gRVBP TExfTlVNX1RZUEVTLA0KPiAgIAkgICAgICAiZXBvbGxfdHlwZV9zdHJbXSBkb2Vzbid0IG1hdGNo IGVudW0gZXBvbGxfdHlwZSIpOw0KPiBkaWZmIC0tZ2l0IGEvcGFzc3QuaCBiL3Bhc3N0LmgNCj4g aW5kZXggNTFjY2Q0Zi4uNWUwZGUzZSAxMDA2NDQNCj4gLS0tIGEvcGFzc3QuaA0KPiArKysgYi9w YXNzdC5oDQo+IEBAIC0xMyw4ICsxMywxMSBAQCB1bmlvbiBlcG9sbF9yZWY7DQo+ICAgDQo+ICAg I2luY2x1ZGUgPHN0ZGJvb2wuaD4NCj4gICAjaW5jbHVkZSA8YXNzZXJ0Lmg+DQo+ICsjaW5jbHVk ZSA8bGltaXRzLmg+DQo+ICAgI2luY2x1ZGUgPHN5cy9lcG9sbC5oPg0KPiAgIA0KPiArI2luY2x1 ZGUgPGxpbnV4L3ZpcnRpb19uZXQuaD4NCj4gKw0KPiAgICNpbmNsdWRlICJwaWYuaCINCj4gICAj aW5jbHVkZSAicGFja2V0LmgiDQo+ICAgI2luY2x1ZGUgInNpcGhhc2guaCINCj4gQEAgLTM1LDgg KzM4LDQzIEBAIHVuaW9uIGVwb2xsX3JlZjsNCj4gICAjZGVmaW5lIE1BQ19PVVJfTEFBCVwNCj4g ICAJKCh1aW50OF90IFtFVEhfQUxFTl0pezB4OWEsIDB4NTUsIDB4OWEsIDB4NTUsIDB4OWEsIDB4 NTV9KQ0KPiAgIA0KPiAtLyogTGFyZ2UgZW5vdWdoIGZvciB+MTI4IG1heGltdW0gc2l6ZSBmcmFt ZXMgKi8NCj4gLSNkZWZpbmUgUEtUX0JVRl9CWVRFUwkJKDhVTCA8PCAyMCkNCj4gKw0KPiArLyoq IEwyX01BWF9MRU5fUEFTVEEgLSBNYXhpbXVtIGZyYW1lIGxlbmd0aCBmb3IgcGFzdGEgbW9kZSAo d2l0aCBMMiBoZWFkZXIpDQo+ICsgKg0KPiArICogVGhlIGtlcm5lbCB0dW50YXAgZGV2aWNlIGlt cG9zZXMgYSBtYXhpbXVtIGZyYW1lIHNpemUgb2YgNjU1MzUgaW5jbHVkaW5nDQo+ICsgKiAnaGFy ZF9oZWFkZXJfbGVuJyAoMTQgYnl0ZXMgZm9yIEwyIEV0aGVybmV0IGluIHRoZSBjYXNlIG9mICJ0 YXAiIG1vZGUpLg0KPiArICovDQo+ICsjZGVmaW5lIEwyX01BWF9MRU5fUEFTVEEJVVNIUlRfTUFY DQo+ICsNCj4gKy8qKiBMMl9NQVhfTEVOX1BBU1NUIC0gTWF4aW11bSBmcmFtZSBsZW5ndGggZm9y IHBhc3N0IG1vZGUgKHdpdGggTDIgaGVhZGVyKQ0KPiArICoNCj4gKyAqIFRoZSBvbmx5IHN0cnVj dHVyYWwgbGltaXQgdGhlIFFFTVUgc29ja2V0IHByb3RvY29sIGltcG9zZXMgb24gZnJhbWVzIGlz DQo+ICsgKiAoMl4zMi0xKSBieXRlcywgYnV0IHRoYXQgd291bGQgYmUgbHVkaWNyb3VzbHkgbG9u ZyBpbiBwcmFjdGljZS4gIEZvciBub3csDQo+ICsgKiBsaW1pdCBpdCBzb21ld2hhdCBhcmJpdHJh cmlseSB0byA2NTUzNSBieXRlcy4gIEZJWE1FOiBXb3JrIG91dCBhbiBhcHByb3ByaWF0ZQ0KPiAr ICogbGltaXQgd2l0aCBtb3JlIHByZWNpc2lvbi4NCj4gKyAqLw0KPiArI2RlZmluZSBMMl9NQVhf TEVOX1BBU1NUCVVTSFJUX01BWA0KPiArDQo+ICsvKiogTDJfTUFYX0xFTl9WVSAtIE1heGltdW0g ZnJhbWUgbGVuZ3RoIGZvciB2aG9zdC11c2VyIG1vZGUgKHdpdGggTDIgaGVhZGVyKQ0KPiArICoN Cj4gKyAqIHZob3N0LXVzZXIgYWxsb3dzIG11bHRpcGxlIGJ1ZmZlcnMgcGVyIGZyYW1lLCBlYWNo IG9mIHdoaWNoIGNhbiBiZSBxdWl0ZQ0KPiArICogbGFyZ2UsIHNvIHRoZSBpbmhlcmVudCBmcmFt ZSBzaXplIGxpbWl0IGlzIHJhdGhlciBsYXJnZS4gIE11Y2ggbGFyZ2VyIHRoYW4gaXMNCj4gKyAq IGFjdHVhbGx5IHVzZWZ1bCBmb3IgSVAuICBGb3Igbm93IGxpbWl0IGFyYml0cmFyaWx5IHRvIDY1 NTM1IGJ5dGVzLiBGSVhNRToNCj4gKyAqIFdvcmsgb3V0IGFuIGFwcHJvcHJpYXRlIGxpbWl0IHdp dGggbW9yZSBwcmVjaXNpb24uDQo+ICsgKi8NCj4gKyNkZWZpbmUgTDJfTUFYX0xFTl9WVQkJVVNI UlRfTUFYDQo+ICsNCj4gKy8qIE51bWJlciBvZiBkZXNjcmlwdG9ycyBpbiBlYWNoIHZob3N0LW5l dCB2aXJ0cXVldWUgKi8NCj4gKyNkZWZpbmUgVkhPU1RfTkRFU0NTCQkxMjgNCj4gKw0KPiArLyog Qnl0ZXMgb2YgcGt0X2J1ZiBiYWNraW5nIG9uZSBmcm9tLWd1ZXN0IGRlc2NyaXB0b3I6IGEgbWF4 aW11bSBzaXplIGZyYW1lDQo+ICsgKiBwbHVzIHRoZSB2aXJ0aW8tbmV0IGhlYWRlciB0aGUga2Vy bmVsIHdyaXRlcyBpbiBmcm9udCBvZiBpdA0KPiArICovDQo+ICsjZGVmaW5lIFZIT1NUX0RFU0Nf QllURVMJKEwyX01BWF9MRU5fUEFTVEEgKwkJCVwNCj4gKwkJCQkgc2l6ZW9mKHN0cnVjdCB2aXJ0 aW9fbmV0X2hkcl9tcmdfcnhidWYpKQ0KPiArDQo+ICsvKiBPbmUgbWF4aW11bSBzaXplIGZyYW1l IHBlciB2aG9zdC1uZXQgZGVzY3JpcHRvciAqL2JiYg0KPiArI2RlZmluZSBQS1RfQlVGX0JZVEVT CQkoVkhPU1RfTkRFU0NTICogVkhPU1RfREVTQ19CWVRFUykNCg0KMTI4ICogKDY1NTM1ICsgMTIp ID0gODM5MDAxNg0KDQpidXQgd2UgaGF2ZSBpbiBwYXNzdC5jDQoNCm1hZHZpc2UocGt0X2J1Ziwg c2l6ZW9mKHBrdF9idWYpLCBNQURWX0hVR0VQQUdFKTsNCg0Kb3JpZ2luYWx5IHdlIGhhZDoNCg0K MmRiZWQ2OTllNzhlICgicGFzc3Q6IEFsaWduIHBrdF9idWYgdG8gUEFHRV9TSVpFIChzdGFydCBh bmQgc2l6ZSksIHRyeSB0byBmaXQgaW4gaHVnZSBwYWdlcyIpDQoNCkFuZCB5b3VyIGNoYW5nZSBp cyByZXZlcnRpbmcgdGhlIGxvZ2ljIG9mOg0KDQpiNjk0NWUwNTUzNzYgKCJTaW1wbGlmeSBzaXpp bmcgb2YgcGt0X2J1ZiIpDQoNCj4gICANCj4gICBleHRlcm4gY2hhciBwa3RfYnVmCQlbUEtUX0JV Rl9CWVRFU107DQo+ICAgDQo+IEBAIC0xNTYsNiArMTk0LDQwIEBAIHN0cnVjdCBpcDZfY3R4IHsN Cj4gICANCj4gICAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPg0KPiAgIA0KPiArLyoqDQo+ ICsgKiBlbnVtIHZob3N0X21vZGUgLSBXaGV0aGVyIHRvIHVzZSB2aG9zdC1rZXJuZWwgYWNjZWxl cmF0aW9uDQo+ICsgKiBAVkhPU1RfTU9ERV9BVVRPOglVc2UgaXQgaWYgaXQncyBhdmFpbGFibGUs IGZhbGwgYmFjayB0byBwbGFpbiB0YXAgaWYgbm90DQo+ICsgKiBAVkhPU1RfTU9ERV9PTjoJUmVx dWlyZSBpdCwgZmFpbCBpZiBpdCdzIG5vdCBhdmFpbGFibGUNCj4gKyAqIEBWSE9TVF9NT0RFX09G RjoJTmV2ZXIgdXNlIGl0DQo+ICsgKi8NCj4gK2VudW0gdmhvc3RfbW9kZSB7DQo+ICsJVkhPU1Rf TU9ERV9BVVRPID0gMCwNCj4gKwlWSE9TVF9NT0RFX09OLA0KPiArCVZIT1NUX01PREVfT0ZGLA0K PiArfTsNCj4gKw0KPiArLyoqDQo+ICsgKiBzdHJ1Y3Qgdmhvc3RfY3R4IC0gRXhlY3V0aW9uIGNv bnRleHQgZm9yIHZob3N0LWtlcm5lbCBhY2NlbGVyYXRpb24NCj4gKyAqIEBtb2RlOglXaGV0aGVy IHRvIHVzZSBhY2NlbGVyYXRpb24gYXQgYWxsLCBzZWUgZW51bSB2aG9zdF9tb2RlDQo+ICsgKiBA ZmQ6CQlGaWxlIGRlc2NyaXB0b3IgZm9yIC9kZXYvdmhvc3QtbmV0LCAtMSBpZiBub3Qgc2V0IHVw DQo+ICsgKiBAZmVhdHVyZXM6CXZpcnRpbyBmZWF0dXJlIGJpdHMgbmVnb3RpYXRlZCB3aXRoIHZo b3N0LW5ldA0KPiArICogQHZxOgkJUGVyLXZpcnRxdWV1ZSBldmVudGZkcyAoWzBdIGlzIGZyb20t Z3Vlc3QsIFsxXSBpcyB0by1ndWVzdCkNCj4gKyAqIEB2cS5raWNrX2ZkOglXcml0dGVuIGJ5IHVz LCB0byB0ZWxsIHRoZSBrZXJuZWwgd2UgcXVldWVkIHNvbWV0aGluZw0KPiArICogQHZxLmNhbGxf ZmQ6CVdyaXR0ZW4gYnkgdGhlIGtlcm5lbCwgdG8gdGVsbCB1cyBpdCBxdWV1ZWQgc29tZXRoaW5n DQo+ICsgKiBAdnEuZXJyX2ZkOglXcml0dGVuIGJ5IHRoZSBrZXJuZWwgb24gYW4gaW50ZXJuYWwg dmhvc3QgZXJyb3INCj4gKyAqLw0KPiArc3RydWN0IHZob3N0X2N0eCB7DQo+ICsJZW51bSB2aG9z dF9tb2RlIG1vZGU7DQo+ICsJaW50IGZkOw0KPiArCXVpbnQ2NF90IGZlYXR1cmVzOw0KPiArDQo+ ICsJc3RydWN0IHsNCj4gKwkJaW50IGtpY2tfZmQ7DQo+ICsJCWludCBjYWxsX2ZkOw0KPiArCQlp bnQgZXJyX2ZkOw0KPiArCX0gdnFbMl07DQo+ICt9Ow0KPiArDQo+ICAgLyoqDQo+ICAgICogc3Ry dWN0IGN0eCAtIEV4ZWN1dGlvbiBjb250ZXh0DQo+ICAgICogQG1vZGU6CQlPcGVyYXRpb24gbW9k ZSwgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgb3IgbmFtZXNwYWNlL3RhcA0KPiBAQCAtMTg1LDYg KzI1Nyw3IEBAIHN0cnVjdCBpcDZfY3R4IHsNCj4gICAgKiBAb3VyX3RhcF9tYWM6CVBhc3RhL3Bh c3N0J3MgTUFDIG9uIHRoZSB0YXAgbGluaw0KPiAgICAqIEBndWVzdF9tYWM6CQlNQUMgYWRkcmVz cyBvZiBndWVzdCBvciBuYW1lc3BhY2UsIHNlZW4gb3IgY29uZmlndXJlZA0KPiAgICAqIEBoYXNo X3NlY3JldDoJMTI4LWJpdCBzZWNyZXQgZm9yIHNpcGhhc2ggZnVuY3Rpb25zDQo+ICsgKiBAdmhv c3Q6CQl2aG9zdC1rZXJuZWwgYWNjZWxlcmF0aW9uIGNvbnRleHQsIHBhc3RhIG1vZGUgb25seQ0K PiAgICAqIEBpZmk0OgkJVGVtcGxhdGUgaW50ZXJmYWNlIGZvciBJUHY0LCAtMTogbm9uZSwgMDog SVB2NCBkaXNhYmxlZA0KPiAgICAqIEBpcDQ6CQlJUHY0IGNvbmZpZ3VyYXRpb24NCj4gICAgKiBA ZG5zX3NlYXJjaDoJCUROUyBzZWFyY2ggbGlzdA0KPiBAQCAtMjY0LDYgKzMzNyw4IEBAIHN0cnVj dCBjdHggew0KPiAgIA0KPiAgIAl1aW50NjRfdCBoYXNoX3NlY3JldFsyXTsNCj4gICANCj4gKwlz dHJ1Y3Qgdmhvc3RfY3R4IHZob3N0Ow0KPiArDQo+ICAgCWludCBpZmk0Ow0KPiAgIAlzdHJ1Y3Qg aXA0X2N0eCBpcDQ7DQo+ICAgDQo+IGRpZmYgLS1naXQgYS90YXAuaCBiL3RhcC5oDQo+IGluZGV4 IDE2MjU5NzUuLmNlMWVmYTggMTAwNjQ0DQo+IC0tLSBhL3RhcC5oDQo+ICsrKyBiL3RhcC5oDQo+ IEBAIC0xMiwzMSArMTIsNiBAQA0KPiAgICNpbmNsdWRlICJwYXNzdC5oIg0KPiAgICNpbmNsdWRl ICJ0YXBfaGRyLmgiDQo+ICAgDQo+IC0vKiogTDJfTUFYX0xFTl9QQVNUQSAtIE1heGltdW0gZnJh bWUgbGVuZ3RoIGZvciBwYXN0YSBtb2RlICh3aXRoIEwyIGhlYWRlcikNCj4gLSAqDQo+IC0gKiBU aGUga2VybmVsIHR1bnRhcCBkZXZpY2UgaW1wb3NlcyBhIG1heGltdW0gZnJhbWUgc2l6ZSBvZiA2 NTUzNSBpbmNsdWRpbmcNCj4gLSAqICdoYXJkX2hlYWRlcl9sZW4nICgxNCBieXRlcyBmb3IgTDIg RXRoZXJuZXQgaW4gdGhlIGNhc2Ugb2YgInRhcCIgbW9kZSkuDQo+IC0gKi8NCj4gLSNkZWZpbmUg TDJfTUFYX0xFTl9QQVNUQQlVU0hSVF9NQVgNCj4gLQ0KPiAtLyoqIEwyX01BWF9MRU5fUEFTU1Qg LSBNYXhpbXVtIGZyYW1lIGxlbmd0aCBmb3IgcGFzc3QgbW9kZSAod2l0aCBMMiBoZWFkZXIpDQo+ IC0gKg0KPiAtICogVGhlIG9ubHkgc3RydWN0dXJhbCBsaW1pdCB0aGUgUUVNVSBzb2NrZXQgcHJv dG9jb2wgaW1wb3NlcyBvbiBmcmFtZXMgaXMNCj4gLSAqICgyXjMyLTEpIGJ5dGVzLCBidXQgdGhh dCB3b3VsZCBiZSBsdWRpY3JvdXNseSBsb25nIGluIHByYWN0aWNlLiAgRm9yIG5vdywNCj4gLSAq IGxpbWl0IGl0IHNvbWV3aGF0IGFyYml0cmFyaWx5IHRvIDY1NTM1IGJ5dGVzLiAgRklYTUU6IFdv cmsgb3V0IGFuIGFwcHJvcHJpYXRlDQo+IC0gKiBsaW1pdCB3aXRoIG1vcmUgcHJlY2lzaW9uLg0K PiAtICovDQo+IC0jZGVmaW5lIEwyX01BWF9MRU5fUEFTU1QJVVNIUlRfTUFYDQo+IC0NCj4gLS8q KiBMMl9NQVhfTEVOX1ZVIC0gTWF4aW11bSBmcmFtZSBsZW5ndGggZm9yIHZob3N0LXVzZXIgbW9k ZSAod2l0aCBMMiBoZWFkZXIpDQo+IC0gKg0KPiAtICogdmhvc3QtdXNlciBhbGxvd3MgbXVsdGlw bGUgYnVmZmVycyBwZXIgZnJhbWUsIGVhY2ggb2Ygd2hpY2ggY2FuIGJlIHF1aXRlDQo+IC0gKiBs YXJnZSwgc28gdGhlIGluaGVyZW50IGZyYW1lIHNpemUgbGltaXQgaXMgcmF0aGVyIGxhcmdlLiAg TXVjaCBsYXJnZXIgdGhhbiBpcw0KPiAtICogYWN0dWFsbHkgdXNlZnVsIGZvciBJUC4gIEZvciBu b3cgbGltaXQgYXJiaXRyYXJpbHkgdG8gNjU1MzUgYnl0ZXMuIEZJWE1FOg0KPiAtICogV29yayBv dXQgYW4gYXBwcm9wcmlhdGUgbGltaXQgd2l0aCBtb3JlIHByZWNpc2lvbi4NCj4gLSAqLw0KPiAt I2RlZmluZSBMMl9NQVhfTEVOX1ZVCQlVU0hSVF9NQVgNCj4gLQ0KPiAgIHN0cnVjdCB1ZHBoZHI7 DQo+ICAgDQo+ICAgLyoqDQo+IEBAIC01MCwxMCArMjUsMTcgQEAgc3RydWN0IHVkcGhkcjsNCj4g ICBzdGF0aWMgaW5saW5lIHN0cnVjdCBpb3ZlYyB0YXBfaGRyX2lvdihjb25zdCBzdHJ1Y3QgY3R4 ICpjLA0KPiAgIAkJCQkgICAgICAgc3RydWN0IHRhcF9oZHIgKnRoZHIpDQo+ICAgew0KPiAtCXJl dHVybiAoc3RydWN0IGlvdmVjKXsNCj4gKwlzdHJ1Y3QgaW92ZWMgcmV0ID0gew0KPiAgIAkJLmlv dl9iYXNlID0gdGhkciwNCj4gLQkJLmlvdl9sZW4gPSBjLT5tb2RlID09IE1PREVfUEFTU1QgPyBz aXplb2YoKnRoZHIpIDogMCwNCj4gICAJfTsNCj4gKw0KPiArCWlmICgoYy0+dmhvc3QuZmQgIT0g LTEpKSB7DQoNCmRvdWJsZSBwYXJlbnRoZXNlcy4NCg0KPiArCQlyZXQuaW92X2xlbiA9IHNpemVv ZihzdHJ1Y3QgdmlydGlvX25ldF9oZHJfbXJnX3J4YnVmKTsNCj4gKwl9IGVsc2Ugew0KPiArCQly ZXQuaW92X2xlbiA9IGMtPm1vZGUgPT0gTU9ERV9QQVNTVCA/IHNpemVvZih0aGRyLT52bmV0X2xl bikgOiAwOw0KPiArCX07DQoNCm5vIG5lZWQgZm9yIHRoZSBzZW1pY29sb24uDQoNClRoaXMgY2hh bmdlIHNob3VsZCBiZSBpbiBQQVRDSCAxDQoNCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICAgfQ0K PiAgIA0KPiAgIC8qKg0KDQo=