From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=fail (p=none dis=none) header.from=gmail.com Received: from [10.196.169.86] (unknown [105.199.60.27]) by passt.top (Postfix) with ESMTP id D1F195A0271 for ; Sat, 05 Sep 2026 18:25:45 +0200 (CEST) X-FEAS-Client-IP: 10.196.169.86 Received: by Ammars-Air.localdomain (Postfix, from userid 501) id 6F20DFD5EE2; Sat, 5 Sep 2026 19:25:33 +0300 (EEST) From: aerosouund To: passt-dev@passt.top Subject: [PATCH 2/7] conf: Add context fields, epoll types and --vhost-kernel flag to pasta Date: Sat, 5 Sep 2026 19:25:25 +0300 Message-Id: <20260905162528.43564-1-aerosound161@gmail.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20260904212826.41027-1-aerosound161@gmail.com> References: <20260904212826.41027-1-aerosound161@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: 2L5KTM3XSMIOGK5IMGLZKDTCC7VK5BJM X-Message-ID-Hash: 2L5KTM3XSMIOGK5IMGLZKDTCC7VK5BJM X-MailFrom: ammaryasser@Ammars-Air.localdomain 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, Ammar Yasser 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: RnJvbTogQW1tYXIgWWFzc2VyIDxhZXJvc291bmQxNjFAZ21haWwuY29tPg0KDQotLXZob3N0LWtl cm5lbCBjb250cm9scyB3aGV0aGVyIHRvIHVzZSB2aG9zdC1uZXQgYWNjZWxlcmF0aW9uIGZvciBw YXN0YS4NCkl0IHRha2VzIG9uZSBvZiB0aHJlZSBtb2RlczogIm9uIiByZXF1aXJlcyBhY2NlbGVy YXRpb24gYW5kIGZhaWxzIGlmIGl0DQppc24ndCBhdmFpbGFibGUsICJvZmYiIG5ldmVyIHVzZXMg aXQsIGFuZCAiYXV0byIgdXNlcyBpdCBpZiBpdCdzDQphdmFpbGFibGUgYW5kIGZhbGxzIGJhY2sg dG8gcGxhaW4gdGFwIG9wZXJhdGlvbiBvdGhlcndpc2UuICJhdXRvIiBpcyB0aGUNCmRlZmF1bHQs IHNvIGFuIHVubW9kaWZpZWQgaW52b2NhdGlvbiBwaWNrcyB1cCBhY2NlbGVyYXRpb24gd2hlcmV2 ZXIgdGhlDQprZXJuZWwgb2ZmZXJzIGl0LCBhbmQgYmVoYXZlcyBhcyBiZWZvcmUgd2hlcmUgaXQg ZG9lc24ndC4NCg0KRVBPTExfVFlQRV9WSE9TVF9DQUxMIG1lYW5zIHRoZSBrZXJuZWwgd2FudHMg dG8gbm90aWZ5IHVzIGFib3V0IGRhdGEgaXQNCmhhcyB3cml0dGVuLiBFUE9MTF9UWVBFX1ZIT1NU X0VSUk9SIG1lYW5zIHRoZSBrZXJuZWwgZW5jb3VudGVyZWQgYW4NCmludGVybmFsIGVycm9yIG9u IHZob3N0IGFuZCB3YW50cyB0byB0ZWxsIHVzIHNvbWV0aGluZyB3ZW50IHdyb25nLg0KDQpDb2xs ZWN0IHRoZSB2aG9zdCBzdGF0ZSBpbiBhIHNpbmdsZSBzdHJ1Y3Qgdmhvc3RfY3R4IHdpdGggdGhl IGZvbGxvd2luZw0KZmllbGRzOg0KDQogIC0gbW9kZTogICAgIHdoaWNoIG9mIHRoZSB0aHJlZSBt b2RlcyBhYm92ZSB3YXMgcmVxdWVzdGVkDQogIC0gZmQ6ICAgICAgIGZpbGUgZGVzY3JpcHRvciBm b3IgL2Rldi92aG9zdC1uZXQsIHdoaWNoIGRvdWJsZXMgYXMgb3VyDQogICAgICAgICAgICAgIGlu ZGljYXRpb24gdGhhdCBzZXR1cCBzdWNjZWVkZWQNCiAgLSBmZWF0dXJlczogdmlydGlvIGZlYXR1 cmUgYml0cyBuZWdvdGlhdGVkIHdpdGggdmhvc3QtbmV0DQogIC0gdnFbXTogICAgIGtpY2ssIGNh bGwgYW5kIGVyciBldmVudGZkcyBmb3IgYm90aCBxdWV1ZXMNCg0KTW9kaWZ5IHRhcF9oZHJfaW92 IHRvIGNyZWF0ZSBhbiBpb3Ygd2l0aCB0aGUgc2l6ZSBvZiBhDQp2aXJ0aW9fbmV0X21yZ19yeGJ1 ZiBpZiB2aG9zdCBpbml0aWFsaXphdGlvbiBoYXMgYmVlbiBzdWNjZXNzZnVsICh3ZSBhcmUNCmlu IG1vZGUgJ29uJyBvciAnYXV0bycgYW5kIHdlIGRpZG4ndCBuZWVkIHRoZSB0YXAgZmFsbGJhY2sp DQoNCk1vdmUgdGhlIEwyX01BWF9MRU5fWFggY29uc3RhbnRzIGZyb20gdGFwLmggdG8gcGFzc3Qu aCB0byBhdm9pZCB0aGUNCmNpcmN1bGFyIGRlcGVuZGVuY3kgYmV0d2VlbiBib3RoIGZpbGVzLiBW SE9TVF9ERVNDX0JZVEVTIGlzIGRlZmluZWQgYXMNCnRoZSBtYXhpbXVtIGwyIGZyYW1lIHNpemUg KyB0aGUgc2l6ZSBvZiB0aGUgdmlydGlvIG5ldCBoZWFkZXIsIGlmIHRoZQ0KbGVuZ3RoIGNvbnN0 YW50IHJlbWFpbnMgaW4gdGFwLmggcGFzc3QuaCB3b3VsZCBuZWVkIHRvIGluY2x1ZGUgaXQsIGJ1 dA0KdGFwLmggbmVlZHMgdG8gaW5jbHVkZSBwYXNzdC5oIHRvIGdldCB0aGUgZGVmaW5pdGlvbiBv ZiBgc3RydWN0IGN0eGAuDQpNb3ZpbmcgdGhlIGxlbmd0aCBjb25zdGFudHMgdG8gcGFzc3QuaCBt YWtlcyBpdCBmcmVlIG9mIGRlcGVuZGVuY3kgb24NCnRhcC5oDQoNClNpZ25lZC1vZmYtYnk6IEV1 Z2VuaW8gUMOpcmV6IDxlcGVyZXptYUByZWRoYXQuY29tPg0KU2lnbmVkLW9mZi1ieTogQW1tYXIg WWFzc2VyIDxhZXJvc291bmQxNjFAZ21haWwuY29tPg0KLS0tDQogY29uZi5jICAgICAgIHwgMTkg KysrKysrKysrKysrKw0KIGVwb2xsX3R5cGUuaCB8ICA0ICsrKw0KIHBhc3N0LmMgICAgICB8ICAz ICsrDQogcGFzc3QuaCAgICAgIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLQ0KIHRhcC5oICAgICAgICB8IDM2ICsrKysrKy0tLS0tLS0tLS0t LS0tLS0tLQ0KIDUgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9u cygtKQ0KDQpkaWZmIC0tZ2l0IGEvY29uZi5jIGIvY29uZi5jDQppbmRleCBmYWYyNjgxLi5hN2I5 MzRhIDEwMDY0NA0KLS0tIGEvY29uZi5jDQorKysgYi9jb25mLmMNCkBAIC03MzYsNiArNzM2LDkg QEAgcGFzdGFfb3B0czoNCiAJCSIgICAgZGVmYXVsdDogYXV0b1xuIg0KIAkJIiAgLS1ob3N0LWxv LXRvLW5zLWxvCVRyYW5zbGF0ZSBob3N0LWxvb3BiYWNrIGZvcndhcmRzIHRvXG4iDQogCQkiCQkJ bmFtZXNwYWNlIGxvb3BiYWNrXG4iDQorCQkiICAtLXZob3N0LWtlcm5lbCBNT0RFCVVzZSB2aG9z dC1rZXJuZWwgYWNjZWxlcmF0aW9uXG4iDQorCQkiICAgIE1PREUgaXMgXCJvblwiLCBcIm9mZlwi IG9yIFwiYXV0b1wiXG4iDQorCQkiICAgIGRlZmF1bHQ6IGF1dG9cbiINCiAJCSIgIC0tdXNlcm5z IE5TUEFUSCAJVGFyZ2V0IHVzZXIgbmFtZXNwYWNlIHRvIGpvaW5cbiINCiAJCSIgIC0tbmV0bnMg UEFUSHxOQU1FCVRhcmdldCBuZXR3b3JrIG5hbWVzcGFjZSB0byBqb2luXG4iDQogCQkiICAtLW5l dG5zLW9ubHkJCURvbid0IGpvaW4gZXhpc3RpbmcgdXNlciBuYW1lc3BhY2VcbiINCkBAIC03NjYs NiArNzY5LDcgQEAgZW51bSBwYXNzdF9tb2RlcyBjb25mX21vZGUoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSkNCiAJaW50IHZob3N0X3VzZXIgPSAwOw0KIAljb25zdCBzdHJ1Y3Qgb3B0aW9uIG9wdHZ1 W10gPSB7DQogCQl7InZob3N0LXVzZXIiLAlub19hcmd1bWVudCwJCSZ2aG9zdF91c2VyLAkxIH0s DQorCQl7InZob3N0LWtlcm5lbCIsIHJlcXVpcmVkX2FyZ3VtZW50LAlOVUxMLAkJMCB9LA0KIAkJ eyAwIH0sDQogCX07DQogCWNoYXIgYXJndjBbUEFUSF9NQVhdLCAqYmFzZWFyZzA7DQpAQCAtMTM0 OCw2ICsxMzUyLDcgQEAgdm9pZCBjb25mKHN0cnVjdCBjdHggKmMsIGludCBhcmdjLCBjaGFyICoq YXJndikNCiAJCXsic3RhdHMiLCByZXF1aXJlZF9hcmd1bWVudCwJCU5VTEwsCQkzMSB9LA0KIAkJ eyJjb25mLXBhdGgiLAlyZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwJCSdjJyB9LA0KIAkJeyJjaHJv b3QtZmFsbGJhY2siLCBub19hcmd1bWVudCwJTlVMTCwgCQkzMiB9LA0KKwkJeyJ2aG9zdC1rZXJu ZWwiLCByZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwJCTMzIH0sDQogCQl7IDAgfSwNCiAJfTsNCiAJ Y29uc3QgY2hhciAqb3B0c3RyaW5nID0gIitkcWZlbDpoczpjOkY6STpwOlA6bTphOm46TTpnOmk6 bzpEOlM6SDo0NjF0OnU6VDpVOiI7DQpAQCAtMTU4OCw2ICsxNTkzLDIwIEBAIHZvaWQgY29uZihz dHJ1Y3QgY3R4ICpjLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpDQogCQkJYnJlYWs7DQogCQljYXNl IDMyOg0KIAkJCWMtPmNocm9vdF9mYWxsYmFjayA9IHRydWU7DQorCQkJYnJlYWs7DQorCQljYXNl IDMzOg0KKwkJCWlmIChjLT5tb2RlICE9IE1PREVfUEFTVEEpDQorCQkJCWRpZSgiLS12aG9zdC1r ZXJuZWwgaXMgZm9yIHBhc3RhIG1vZGUgb25seSIpOw0KKw0KKwkJCWlmICghc3RyY21wKG9wdGFy ZywgImF1dG8iKSkNCisJCQkJYy0+dmhvc3QubW9kZSA9IFZIT1NUX01PREVfQVVUTzsNCisJCQll bHNlIGlmICghc3RyY21wKG9wdGFyZywgIm9uIikpDQorCQkJCWMtPnZob3N0Lm1vZGUgPSBWSE9T VF9NT0RFX09OOw0KKwkJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAib2ZmIikpDQorCQkJCWMt PnZob3N0Lm1vZGUgPSBWSE9TVF9NT0RFX09GRjsNCisJCQllbHNlDQorCQkJCWRpZSgiSW52YWxp ZCB2aG9zdC1rZXJuZWwgbW9kZTogJXMiLCBvcHRhcmcpOw0KKw0KIAkJCWJyZWFrOw0KIAkJY2Fz ZSAnZCc6DQogCQkJYy0+ZGVidWcgPSAxOw0KZGlmZiAtLWdpdCBhL2Vwb2xsX3R5cGUuaCBiL2Vw b2xsX3R5cGUuaA0KaW5kZXggMDYxMzI1YS4uZTMyMDZkMSAxMDA2NDQNCi0tLSBhL2Vwb2xsX3R5 cGUuaA0KKysrIGIvZXBvbGxfdHlwZS5oDQpAQCAtNTAsNiArNTAsMTAgQEAgZW51bSBlcG9sbF90 eXBlIHsNCiAJRVBPTExfVFlQRV9DT05GX0xJU1RFTiwNCiAJLyogQ29uZmlndXJhdGlvbiBzb2Nr ZXQgKi8NCiAJRVBPTExfVFlQRV9DT05GLA0KKwkvKiB2aG9zdC1rZXJuZWwgY2FsbCBzb2NrZXQg Ki8NCisJRVBPTExfVFlQRV9WSE9TVF9DQUxMLA0KKwkvKiB2aG9zdC1rZXJuZWwgZXJyb3Igc29j a2V0ICovDQorCUVQT0xMX1RZUEVfVkhPU1RfRVJST1IsDQogDQogCUVQT0xMX05VTV9UWVBFUywN CiB9Ow0KZGlmZiAtLWdpdCBhL3Bhc3N0LmMgYi9wYXNzdC5jDQppbmRleCA1MDU0NTUxLi42MDAy MjMxIDEwMDY0NA0KLS0tIGEvcGFzc3QuYw0KKysrIGIvcGFzc3QuYw0KQEAgLTY1LDYgKzY1LDcg QEAgY2hhciBwa3RfYnVmW1BLVF9CVUZfQllURVNdCV9fYXR0cmlidXRlX18gKChhbGlnbmVkKFBB R0VfU0laRSkpKTsNCiBzdHJ1Y3QgY3R4IHBhc3N0X2N0eCA9IHsNCiAJLnBpZGZpbGVfZmQJCT0g LTEsDQogCS5mZF90YXAJCQk9IC0xLA0KKwkudmhvc3QJCQk9IHsgLmZkID0gLTEgfSwNCiAJLmZk X3RhcF9saXN0ZW4JCT0gLTEsDQogCS5mZF9jb250cm9sX2xpc3Rlbgk9IC0xLA0KIAkuZmRfcmVw YWlyX2xpc3Rlbgk9IC0xLA0KQEAgLTkyLDYgKzkzLDggQEAgY2hhciAqZXBvbGxfdHlwZV9zdHJb XSA9IHsNCiAJW0VQT0xMX1RZUEVfTkxfTkVJR0hdCQk9ICJuZXRsaW5rIG5laWdoYm91ciBub3Rp ZmllciBzb2NrZXQiLA0KIAlbRVBPTExfVFlQRV9DT05GX0xJU1RFTl0JPSAiY29uZmlndXJhdGlv biBsaXN0ZW5pbmcgc29ja2V0IiwNCiAJW0VQT0xMX1RZUEVfQ09ORl0JCT0gImNvbmZpZ3VyYXRp b24gc29ja2V0IiwNCisJW0VQT0xMX1RZUEVfVkhPU1RfQ0FMTF0JCT0gInZob3N0LWtlcm5lbCBj YWxsIHNvY2tldCIsDQorCVtFUE9MTF9UWVBFX1ZIT1NUX0VSUk9SXQk9ICJ2aG9zdC1rZXJuZWwg ZXJyb3Igc29ja2V0IiwNCiB9Ow0KIHN0YXRpY19hc3NlcnQoQVJSQVlfU0laRShlcG9sbF90eXBl X3N0cikgPT0gRVBPTExfTlVNX1RZUEVTLA0KIAkgICAgICAiZXBvbGxfdHlwZV9zdHJbXSBkb2Vz bid0IG1hdGNoIGVudW0gZXBvbGxfdHlwZSIpOw0KZGlmZiAtLWdpdCBhL3Bhc3N0LmggYi9wYXNz dC5oDQppbmRleCA1MWNjZDRmLi41ZTBkZTNlIDEwMDY0NA0KLS0tIGEvcGFzc3QuaA0KKysrIGIv cGFzc3QuaA0KQEAgLTEzLDggKzEzLDExIEBAIHVuaW9uIGVwb2xsX3JlZjsNCiANCiAjaW5jbHVk ZSA8c3RkYm9vbC5oPg0KICNpbmNsdWRlIDxhc3NlcnQuaD4NCisjaW5jbHVkZSA8bGltaXRzLmg+ DQogI2luY2x1ZGUgPHN5cy9lcG9sbC5oPg0KIA0KKyNpbmNsdWRlIDxsaW51eC92aXJ0aW9fbmV0 Lmg+DQorDQogI2luY2x1ZGUgInBpZi5oIg0KICNpbmNsdWRlICJwYWNrZXQuaCINCiAjaW5jbHVk ZSAic2lwaGFzaC5oIg0KQEAgLTM1LDggKzM4LDQzIEBAIHVuaW9uIGVwb2xsX3JlZjsNCiAjZGVm aW5lIE1BQ19PVVJfTEFBCVwNCiAJKCh1aW50OF90IFtFVEhfQUxFTl0pezB4OWEsIDB4NTUsIDB4 OWEsIDB4NTUsIDB4OWEsIDB4NTV9KQ0KIA0KLS8qIExhcmdlIGVub3VnaCBmb3IgfjEyOCBtYXhp bXVtIHNpemUgZnJhbWVzICovDQotI2RlZmluZSBQS1RfQlVGX0JZVEVTCQkoOFVMIDw8IDIwKQ0K Kw0KKy8qKiBMMl9NQVhfTEVOX1BBU1RBIC0gTWF4aW11bSBmcmFtZSBsZW5ndGggZm9yIHBhc3Rh IG1vZGUgKHdpdGggTDIgaGVhZGVyKQ0KKyAqDQorICogVGhlIGtlcm5lbCB0dW50YXAgZGV2aWNl IGltcG9zZXMgYSBtYXhpbXVtIGZyYW1lIHNpemUgb2YgNjU1MzUgaW5jbHVkaW5nDQorICogJ2hh cmRfaGVhZGVyX2xlbicgKDE0IGJ5dGVzIGZvciBMMiBFdGhlcm5ldCBpbiB0aGUgY2FzZSBvZiAi dGFwIiBtb2RlKS4NCisgKi8NCisjZGVmaW5lIEwyX01BWF9MRU5fUEFTVEEJVVNIUlRfTUFYDQor DQorLyoqIEwyX01BWF9MRU5fUEFTU1QgLSBNYXhpbXVtIGZyYW1lIGxlbmd0aCBmb3IgcGFzc3Qg bW9kZSAod2l0aCBMMiBoZWFkZXIpDQorICoNCisgKiBUaGUgb25seSBzdHJ1Y3R1cmFsIGxpbWl0 IHRoZSBRRU1VIHNvY2tldCBwcm90b2NvbCBpbXBvc2VzIG9uIGZyYW1lcyBpcw0KKyAqICgyXjMy LTEpIGJ5dGVzLCBidXQgdGhhdCB3b3VsZCBiZSBsdWRpY3JvdXNseSBsb25nIGluIHByYWN0aWNl LiAgRm9yIG5vdywNCisgKiBsaW1pdCBpdCBzb21ld2hhdCBhcmJpdHJhcmlseSB0byA2NTUzNSBi eXRlcy4gIEZJWE1FOiBXb3JrIG91dCBhbiBhcHByb3ByaWF0ZQ0KKyAqIGxpbWl0IHdpdGggbW9y ZSBwcmVjaXNpb24uDQorICovDQorI2RlZmluZSBMMl9NQVhfTEVOX1BBU1NUCVVTSFJUX01BWA0K Kw0KKy8qKiBMMl9NQVhfTEVOX1ZVIC0gTWF4aW11bSBmcmFtZSBsZW5ndGggZm9yIHZob3N0LXVz ZXIgbW9kZSAod2l0aCBMMiBoZWFkZXIpDQorICoNCisgKiB2aG9zdC11c2VyIGFsbG93cyBtdWx0 aXBsZSBidWZmZXJzIHBlciBmcmFtZSwgZWFjaCBvZiB3aGljaCBjYW4gYmUgcXVpdGUNCisgKiBs YXJnZSwgc28gdGhlIGluaGVyZW50IGZyYW1lIHNpemUgbGltaXQgaXMgcmF0aGVyIGxhcmdlLiAg TXVjaCBsYXJnZXIgdGhhbiBpcw0KKyAqIGFjdHVhbGx5IHVzZWZ1bCBmb3IgSVAuICBGb3Igbm93 IGxpbWl0IGFyYml0cmFyaWx5IHRvIDY1NTM1IGJ5dGVzLiBGSVhNRToNCisgKiBXb3JrIG91dCBh biBhcHByb3ByaWF0ZSBsaW1pdCB3aXRoIG1vcmUgcHJlY2lzaW9uLg0KKyAqLw0KKyNkZWZpbmUg TDJfTUFYX0xFTl9WVQkJVVNIUlRfTUFYDQorDQorLyogTnVtYmVyIG9mIGRlc2NyaXB0b3JzIGlu IGVhY2ggdmhvc3QtbmV0IHZpcnRxdWV1ZSAqLw0KKyNkZWZpbmUgVkhPU1RfTkRFU0NTCQkxMjgN CisNCisvKiBCeXRlcyBvZiBwa3RfYnVmIGJhY2tpbmcgb25lIGZyb20tZ3Vlc3QgZGVzY3JpcHRv cjogYSBtYXhpbXVtIHNpemUgZnJhbWUNCisgKiBwbHVzIHRoZSB2aXJ0aW8tbmV0IGhlYWRlciB0 aGUga2VybmVsIHdyaXRlcyBpbiBmcm9udCBvZiBpdA0KKyAqLw0KKyNkZWZpbmUgVkhPU1RfREVT Q19CWVRFUwkoTDJfTUFYX0xFTl9QQVNUQSArCQkJXA0KKwkJCQkgc2l6ZW9mKHN0cnVjdCB2aXJ0 aW9fbmV0X2hkcl9tcmdfcnhidWYpKQ0KKw0KKy8qIE9uZSBtYXhpbXVtIHNpemUgZnJhbWUgcGVy IHZob3N0LW5ldCBkZXNjcmlwdG9yICovDQorI2RlZmluZSBQS1RfQlVGX0JZVEVTCQkoVkhPU1Rf TkRFU0NTICogVkhPU1RfREVTQ19CWVRFUykNCiANCiBleHRlcm4gY2hhciBwa3RfYnVmCQlbUEtU X0JVRl9CWVRFU107DQogDQpAQCAtMTU2LDYgKzE5NCw0MCBAQCBzdHJ1Y3QgaXA2X2N0eCB7DQog DQogI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4NCiANCisvKioNCisgKiBlbnVtIHZob3N0 X21vZGUgLSBXaGV0aGVyIHRvIHVzZSB2aG9zdC1rZXJuZWwgYWNjZWxlcmF0aW9uDQorICogQFZI T1NUX01PREVfQVVUTzoJVXNlIGl0IGlmIGl0J3MgYXZhaWxhYmxlLCBmYWxsIGJhY2sgdG8gcGxh aW4gdGFwIGlmIG5vdA0KKyAqIEBWSE9TVF9NT0RFX09OOglSZXF1aXJlIGl0LCBmYWlsIGlmIGl0 J3Mgbm90IGF2YWlsYWJsZQ0KKyAqIEBWSE9TVF9NT0RFX09GRjoJTmV2ZXIgdXNlIGl0DQorICov DQorZW51bSB2aG9zdF9tb2RlIHsNCisJVkhPU1RfTU9ERV9BVVRPID0gMCwNCisJVkhPU1RfTU9E RV9PTiwNCisJVkhPU1RfTU9ERV9PRkYsDQorfTsNCisNCisvKioNCisgKiBzdHJ1Y3Qgdmhvc3Rf Y3R4IC0gRXhlY3V0aW9uIGNvbnRleHQgZm9yIHZob3N0LWtlcm5lbCBhY2NlbGVyYXRpb24NCisg KiBAbW9kZToJV2hldGhlciB0byB1c2UgYWNjZWxlcmF0aW9uIGF0IGFsbCwgc2VlIGVudW0gdmhv c3RfbW9kZQ0KKyAqIEBmZDoJCUZpbGUgZGVzY3JpcHRvciBmb3IgL2Rldi92aG9zdC1uZXQsIC0x IGlmIG5vdCBzZXQgdXANCisgKiBAZmVhdHVyZXM6CXZpcnRpbyBmZWF0dXJlIGJpdHMgbmVnb3Rp YXRlZCB3aXRoIHZob3N0LW5ldA0KKyAqIEB2cToJCVBlci12aXJ0cXVldWUgZXZlbnRmZHMgKFsw XSBpcyBmcm9tLWd1ZXN0LCBbMV0gaXMgdG8tZ3Vlc3QpDQorICogQHZxLmtpY2tfZmQ6CVdyaXR0 ZW4gYnkgdXMsIHRvIHRlbGwgdGhlIGtlcm5lbCB3ZSBxdWV1ZWQgc29tZXRoaW5nDQorICogQHZx LmNhbGxfZmQ6CVdyaXR0ZW4gYnkgdGhlIGtlcm5lbCwgdG8gdGVsbCB1cyBpdCBxdWV1ZWQgc29t ZXRoaW5nDQorICogQHZxLmVycl9mZDoJV3JpdHRlbiBieSB0aGUga2VybmVsIG9uIGFuIGludGVy bmFsIHZob3N0IGVycm9yDQorICovDQorc3RydWN0IHZob3N0X2N0eCB7DQorCWVudW0gdmhvc3Rf bW9kZSBtb2RlOw0KKwlpbnQgZmQ7DQorCXVpbnQ2NF90IGZlYXR1cmVzOw0KKw0KKwlzdHJ1Y3Qg ew0KKwkJaW50IGtpY2tfZmQ7DQorCQlpbnQgY2FsbF9mZDsNCisJCWludCBlcnJfZmQ7DQorCX0g dnFbMl07DQorfTsNCisNCiAvKioNCiAgKiBzdHJ1Y3QgY3R4IC0gRXhlY3V0aW9uIGNvbnRleHQN CiAgKiBAbW9kZToJCU9wZXJhdGlvbiBtb2RlLCBxZW11L1VOSVggZG9tYWluIHNvY2tldCBvciBu YW1lc3BhY2UvdGFwDQpAQCAtMTg1LDYgKzI1Nyw3IEBAIHN0cnVjdCBpcDZfY3R4IHsNCiAgKiBA b3VyX3RhcF9tYWM6CVBhc3RhL3Bhc3N0J3MgTUFDIG9uIHRoZSB0YXAgbGluaw0KICAqIEBndWVz dF9tYWM6CQlNQUMgYWRkcmVzcyBvZiBndWVzdCBvciBuYW1lc3BhY2UsIHNlZW4gb3IgY29uZmln dXJlZA0KICAqIEBoYXNoX3NlY3JldDoJMTI4LWJpdCBzZWNyZXQgZm9yIHNpcGhhc2ggZnVuY3Rp b25zDQorICogQHZob3N0OgkJdmhvc3Qta2VybmVsIGFjY2VsZXJhdGlvbiBjb250ZXh0LCBwYXN0 YSBtb2RlIG9ubHkNCiAgKiBAaWZpNDoJCVRlbXBsYXRlIGludGVyZmFjZSBmb3IgSVB2NCwgLTE6 IG5vbmUsIDA6IElQdjQgZGlzYWJsZWQNCiAgKiBAaXA0OgkJSVB2NCBjb25maWd1cmF0aW9uDQog ICogQGRuc19zZWFyY2g6CQlETlMgc2VhcmNoIGxpc3QNCkBAIC0yNjQsNiArMzM3LDggQEAgc3Ry dWN0IGN0eCB7DQogDQogCXVpbnQ2NF90IGhhc2hfc2VjcmV0WzJdOw0KIA0KKwlzdHJ1Y3Qgdmhv c3RfY3R4IHZob3N0Ow0KKw0KIAlpbnQgaWZpNDsNCiAJc3RydWN0IGlwNF9jdHggaXA0Ow0KIA0K ZGlmZiAtLWdpdCBhL3RhcC5oIGIvdGFwLmgNCmluZGV4IDE2MjU5NzUuLmNlMWVmYTggMTAwNjQ0 DQotLS0gYS90YXAuaA0KKysrIGIvdGFwLmgNCkBAIC0xMiwzMSArMTIsNiBAQA0KICNpbmNsdWRl ICJwYXNzdC5oIg0KICNpbmNsdWRlICJ0YXBfaGRyLmgiDQogDQotLyoqIEwyX01BWF9MRU5fUEFT VEEgLSBNYXhpbXVtIGZyYW1lIGxlbmd0aCBmb3IgcGFzdGEgbW9kZSAod2l0aCBMMiBoZWFkZXIp DQotICoNCi0gKiBUaGUga2VybmVsIHR1bnRhcCBkZXZpY2UgaW1wb3NlcyBhIG1heGltdW0gZnJh bWUgc2l6ZSBvZiA2NTUzNSBpbmNsdWRpbmcNCi0gKiAnaGFyZF9oZWFkZXJfbGVuJyAoMTQgYnl0 ZXMgZm9yIEwyIEV0aGVybmV0IGluIHRoZSBjYXNlIG9mICJ0YXAiIG1vZGUpLg0KLSAqLw0KLSNk ZWZpbmUgTDJfTUFYX0xFTl9QQVNUQQlVU0hSVF9NQVgNCi0NCi0vKiogTDJfTUFYX0xFTl9QQVNT VCAtIE1heGltdW0gZnJhbWUgbGVuZ3RoIGZvciBwYXNzdCBtb2RlICh3aXRoIEwyIGhlYWRlcikN Ci0gKg0KLSAqIFRoZSBvbmx5IHN0cnVjdHVyYWwgbGltaXQgdGhlIFFFTVUgc29ja2V0IHByb3Rv Y29sIGltcG9zZXMgb24gZnJhbWVzIGlzDQotICogKDJeMzItMSkgYnl0ZXMsIGJ1dCB0aGF0IHdv dWxkIGJlIGx1ZGljcm91c2x5IGxvbmcgaW4gcHJhY3RpY2UuICBGb3Igbm93LA0KLSAqIGxpbWl0 IGl0IHNvbWV3aGF0IGFyYml0cmFyaWx5IHRvIDY1NTM1IGJ5dGVzLiAgRklYTUU6IFdvcmsgb3V0 IGFuIGFwcHJvcHJpYXRlDQotICogbGltaXQgd2l0aCBtb3JlIHByZWNpc2lvbi4NCi0gKi8NCi0j ZGVmaW5lIEwyX01BWF9MRU5fUEFTU1QJVVNIUlRfTUFYDQotDQotLyoqIEwyX01BWF9MRU5fVlUg LSBNYXhpbXVtIGZyYW1lIGxlbmd0aCBmb3Igdmhvc3QtdXNlciBtb2RlICh3aXRoIEwyIGhlYWRl cikNCi0gKg0KLSAqIHZob3N0LXVzZXIgYWxsb3dzIG11bHRpcGxlIGJ1ZmZlcnMgcGVyIGZyYW1l LCBlYWNoIG9mIHdoaWNoIGNhbiBiZSBxdWl0ZQ0KLSAqIGxhcmdlLCBzbyB0aGUgaW5oZXJlbnQg ZnJhbWUgc2l6ZSBsaW1pdCBpcyByYXRoZXIgbGFyZ2UuICBNdWNoIGxhcmdlciB0aGFuIGlzDQot ICogYWN0dWFsbHkgdXNlZnVsIGZvciBJUC4gIEZvciBub3cgbGltaXQgYXJiaXRyYXJpbHkgdG8g NjU1MzUgYnl0ZXMuIEZJWE1FOg0KLSAqIFdvcmsgb3V0IGFuIGFwcHJvcHJpYXRlIGxpbWl0IHdp dGggbW9yZSBwcmVjaXNpb24uDQotICovDQotI2RlZmluZSBMMl9NQVhfTEVOX1ZVCQlVU0hSVF9N QVgNCi0NCiBzdHJ1Y3QgdWRwaGRyOw0KIA0KIC8qKg0KQEAgLTUwLDEwICsyNSwxNyBAQCBzdHJ1 Y3QgdWRwaGRyOw0KIHN0YXRpYyBpbmxpbmUgc3RydWN0IGlvdmVjIHRhcF9oZHJfaW92KGNvbnN0 IHN0cnVjdCBjdHggKmMsDQogCQkJCSAgICAgICBzdHJ1Y3QgdGFwX2hkciAqdGhkcikNCiB7DQot CXJldHVybiAoc3RydWN0IGlvdmVjKXsNCisJc3RydWN0IGlvdmVjIHJldCA9IHsNCiAJCS5pb3Zf YmFzZSA9IHRoZHIsDQotCQkuaW92X2xlbiA9IGMtPm1vZGUgPT0gTU9ERV9QQVNTVCA/IHNpemVv ZigqdGhkcikgOiAwLA0KIAl9Ow0KKw0KKwlpZiAoKGMtPnZob3N0LmZkICE9IC0xKSkgew0KKwkJ cmV0Lmlvdl9sZW4gPSBzaXplb2Yoc3RydWN0IHZpcnRpb19uZXRfaGRyX21yZ19yeGJ1Zik7DQor CX0gZWxzZSB7DQorCQlyZXQuaW92X2xlbiA9IGMtPm1vZGUgPT0gTU9ERV9QQVNTVCA/IHNpemVv Zih0aGRyLT52bmV0X2xlbikgOiAwOw0KKwl9Ow0KKw0KKwlyZXR1cm4gcmV0Ow0KIH0NCiANCiAv KioNCi0tIA0KMi4zOS41IChBcHBsZSBHaXQtMTU0KQ0KDQo=