From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7ED0B2264A9 for ; Wed, 28 Jan 2026 19:10:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769627413; cv=none; b=n5/S4gHxmbfO0AUL5xC7Nlkkm5Sdb13N/HqlDSeyI6rICs3rBI9AHQRAIg+tapQ/kx8bxIf/zy1FUVwe0GMNAylKtz2/cPj1XzHfXFQyYVLD/0d5HX5UhBCVR2Gqui+7qVTiEgxR8psfs7PuVWUu/0nKA5n4daaSsIW/p+2q9VI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769627413; c=relaxed/simple; bh=uhkn3wBH276TvlUE7t9e+/7tB+NuVU9Yczts8es9T6w=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=p+nf4CjdKdJxRFDaRDEIeSW3sMaXml9uURvTj7yZTmsp8cyS65pyk7abjXXW056Z61aUphR0Am8/uKIF9MTQxiMMy9KxpmwrP+7iMzBtR2Px98BeDREQ6f+7+WIinCZn8ak3dhNNuTLD1qxll8fuMai7Vn3Rp+7C2BG3KglvFUA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mihalicyn.com; spf=pass smtp.mailfrom=mihalicyn.com; dkim=pass (1024-bit key) header.d=mihalicyn.com header.i=@mihalicyn.com header.b=eBiIsE4w; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mihalicyn.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mihalicyn.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mihalicyn.com header.i=@mihalicyn.com header.b="eBiIsE4w" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-47ee0291921so1423545e9.3 for ; Wed, 28 Jan 2026 11:10:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mihalicyn.com; s=mihalicyn; t=1769627410; x=1770232210; darn=vger.kernel.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=uhkn3wBH276TvlUE7t9e+/7tB+NuVU9Yczts8es9T6w=; b=eBiIsE4w6jDpPmLMtl0seRwVIjekuYYJw1/96pWdi9wq9oMdQFBpxbj3h5lTnSAoN1 kRAd1lf71C2CVmWKv/iCKSMg90/P9E3gW6ELoJRP6IofYGmKg9fbcgx6ftrSbXVJZFhl gLLbAUnHHqsEV3VrORMJ9e5cNoKO4+fa1sJpA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769627410; x=1770232210; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uhkn3wBH276TvlUE7t9e+/7tB+NuVU9Yczts8es9T6w=; b=OF6of7H+NtzgEsDKvadDu0HJ4j2e4wXQqhS5TarM+F+sW+HLaBrPRpJ9DahEF6OErr m/WCmyqX9YVqkOJx8sRCT0QtcJpSJ5qxLjJvmZACWZRYuNXMgMSTErunl6xoZM3vD53V +yH+u+dDYedX1LLsiEQYfcjN4sTPVFnxQeb4wsBMYPNHfV1Vi3P9iblQACdlE6R65bfL wYo/E52D33tbmkz9sg0lDzMx0+dvnXn6Srt0fWqdKpaxwfGf6S6cRfTOcGQG5N0zCPDD GXMQxXcfFzh/H6ATkj82cMlrcJX4QugNVzugOc3zLu2sVETcaVOBVajW6w7DAyHvBGFV fRrw== X-Forwarded-Encrypted: i=1; AJvYcCXw4Ivrk2EJrAqeK26i+lEwUdHGhKCcxi8xIo4A8LhI7gbXDUjt+kIeaLR68y3K5xskKNpUByTxGso=@vger.kernel.org X-Gm-Message-State: AOJu0YwYRFoeetfGWko5iMi5nXvqbl0IJTTqGWXFOd7BIzutuhVTNhRu qCSTAw7tQfkZiTwm9g5e2X9XjldiUdFhei9HPWQ4fKZjaBkcguqKPmomKdGdoXkydgw= X-Gm-Gg: AZuq6aKB7uAX9I2wbFVSX0OeBUEAR6UcvUO9uS0T27qs8VOZuy1b3D7ZfW3guX6Jyrl Qqd5KByOQVfWRioWKmCZuKxVXIgR+K7+nvUH01XP9v58HjhLOIo803rKUZa4nws8X7d+w6+6biV s3TceFsmNlIfKj/jNvpg0d1xuBFmvWOCH2sIG/C8HHMX+nDQ7Q/TG53iJPs6ZjQaH/l0aDtBlwK LQVIIM9YDXGi18AiIp7j5RE1DU2+bfbqZ3N1EcDZkzv8aY/zHQvUvLAPaWswdIVoDhXJTRs0GyT SYdXDRsGP593F5g5/CeJcmd7L6TtBks5mAI6epcxD1+JvgEh0fXsgBiN5BChbGSHDuCpl9kU/Kj C3/uua7e0SXLClgDKTSSgTe/O6cQwqUOsMVrvQegratW1WcqRnKfAijjsEZaLIkHbjpsY/8a0CA T0f8wJKOtWxeRdFItOWS0vrkaGc3BCH5yUP3MmJ74RKDbrhp1NYg2RAFEi1tbZujpkgI/7mGT47 WRX/ffIhhNVy5NL7gOxh20gCO2Qr3u6c6K9iG2qJ6jq7kdiJw== X-Received: by 2002:a05:600c:4e03:b0:47f:1a8d:4f30 with SMTP id 5b1f17b1804b1-48069c96cb7mr77316025e9.26.1769627409725; Wed, 28 Jan 2026 11:10:09 -0800 (PST) Received: from ?IPv6:2003:cf:574b:cf00:f62e:8cab:c07c:593e? (p200300cf574bcf00f62e8cabc07c593e.dip0.t-ipconnect.de. [2003:cf:574b:cf00:f62e:8cab:c07c:593e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4806e2d460csm6006435e9.15.2026.01.28.11.10.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jan 2026 11:10:09 -0800 (PST) Message-ID: Subject: Re: [PATCH v3 6/7] seccomp: allow nested listeners From: Alexander Mikhalitsyn To: Andy Lutomirski , Alexander Mikhalitsyn Cc: kees@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, Will Drewry , Jonathan Corbet , Shuah Khan , Aleksa Sarai , Tycho Andersen , Andrei Vagin , Christian Brauner , =?ISO-8859-1?Q?St=E9phane?= Graber Date: Wed, 28 Jan 2026 20:10:08 +0100 In-Reply-To: References: <20251211124614.161900-1-aleksandr.mikhalitsyn@canonical.com> <20251211124614.161900-7-aleksandr.mikhalitsyn@canonical.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.56.2-0+deb13u1 Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 T24gRnJpLCAyMDI1LTEyLTEyIGF0IDIxOjU3ICswODAwLCBBbmR5IEx1dG9taXJza2kgd3JvdGU6 Cj4gT24gVGh1LCBEZWMgMTEsIDIwMjUgYXQgODo0N+KAr1BNIEFsZXhhbmRlciBNaWtoYWxpdHN5 bgo+IDxhbGVrc2FuZHIubWlraGFsaXRzeW5AY2Fub25pY2FsLmNvbT4gd3JvdGU6Cj4gPiAKPiA+ IE5vdyBldmVyeXRoaW5nIGlzIHJlYWR5IHRvIGdldCByaWQgb2YgIm9ubHkgb25lIGxpc3RlbmVy IHBlciB0cmVlIgo+ID4gbGltaXRhdGlvbi4KPiA+IAo+ID4gTGV0J3MgaW50cm9kdWNlIGEgbmV3 IHVBUEkgZmxhZwo+ID4gU0VDQ09NUF9GSUxURVJfRkxBR19BTExPV19ORVNURURfTElTVEVORVJT LCBzbyB1c2Vyc3BhY2UgbWF5Cj4gPiBleHBsaWNpdGx5Cj4gPiBhbGxvdyBuZXN0ZWQgbGlzdGVu ZXJzIHdoZW4gaW5zdGFsbGluZyBhIGxpc3RlbmVyLgo+ID4gCj4gPiBOb3RlLCB0aGF0IHRvIGlu c3RhbGwgbi10aCBsaXN0ZW5lciwgdGhpcyBmbGFnIG11c3QgYmUgc2V0IG9uIGFsbAo+ID4gdGhl IGxpc3RlbmVycyB1cCB0aGUgdHJlZS4KPiAKPiAKPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL3VzZXJzcGFjZS1hcGkvc2VjY29tcF9maWx0ZXIucnN0Cj4gPiBiL0RvY3VtZW50YXRpb24v dXNlcnNwYWNlLWFwaS9zZWNjb21wX2ZpbHRlci5yc3QKPiA+IGluZGV4IGNmZjBmYTdmMzE3NS4u Yjk2MzNhYjFlZDQ3IDEwMDY0NAo+ID4gLS0tIGEvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBp L3NlY2NvbXBfZmlsdGVyLnJzdAo+ID4gKysrIGIvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBp L3NlY2NvbXBfZmlsdGVyLnJzdAo+ID4gQEAgLTIxMCw2ICsyMTAsMTIgQEAgbm90aWZpY2F0aW9u cyBmcm9tIGJvdGggdGFza3Mgd2lsbCBhcHBlYXIgb24KPiA+IHRoZSBzYW1lIGZpbHRlciBmZC4g UmVhZHMgYW5kCj4gPiDCoHdyaXRlcyB0by9mcm9tIGEgZmlsdGVyIGZkIGFyZSBhbHNvIHN5bmNo cm9uaXplZCwgc28gYSBmaWx0ZXIgZmQKPiA+IGNhbiBzYWZlbHkKPiA+IMKgaGF2ZSBtYW55IHJl YWRlcnMuCj4gPiAKPiA+ICtCeSBkZWZhdWx0LCBvbmx5IG9uZSBsaXN0ZW5lciB3aXRoaW4gc2Vj Y29tcCBmaWx0ZXJzIHRyZWUgaXMKPiA+IGFsbG93ZWQuIE9uIGF0dGVtcHQKPiA+ICt0byBhZGQg YSBuZXcgbGlzdGVuZXIgd2hlbiBvbmUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGZpbHRlciB0cmVl LAo+ID4gdGhlCj4gPiArYGBzZWNjb21wKClgYCBjYWxsIHdpbGwgZmFpbCB3aXRoIGBgLUVCVVNZ YGAuIFRvIGFsbG93IG11bHRpcGxlCj4gPiBsaXN0ZW5lcnMsIHRoZQo+ID4gK2BgU0VDQ09NUF9G SUxURVJfRkxBR19BTExPV19ORVNURURfTElTVEVORVJTYGAgZmxhZyBjYW4gYmUgcGFzc2VkCj4g PiBpbiBhZGRpdGlvbiB0bwo+ID4gK3RoZSBgYFNFQ0NPTVBfRklMVEVSX0ZMQUdfTkVXX0xJU1RF TkVSYGAgZmxhZy4KPiA+ICsKCkhpIEFuZHksCgp0aGFuayB5b3UgZm9yIGxvb2tpbmcgaW50byB0 aGlzIQoKPiAKPiBJIHJlYWQgdGhpcywgYW5kIEkgY29udGVtcGxhdGVkOiBkb2VzIHRoaXMgbWVh biB0aGF0IHRoaXMgcGVybWl0cwo+IGFkZGl0aW9uYWwgZmlsdGVycyAoYWRkZWQgbGF0ZXIsIG5l c3RlZCBpbnNpZGUpIHRvIGhhdmUgbGlzdGVuZXJzIG9yCj4gZG9lcyBpdCBwZXJtaXQgYXBwbHlp bmcgYSBsaXN0ZW5lciB3aGVuIHRoZXJlIGFscmVhZHkgaXMgb25lP8KgIEkKPiB0aG91Z2h0IGl0 IHdhcyBzdXJlbHkgaXQncyB0aGUgZm9ybWVyLCBidXQgSSBoYWQgdG8gcmVhZCB0aGUgY29kZSB0 bwo+IGNvbmZpcm0gdGhhdC4KPiAKPiBNYXliZSBjbGFyaWZ5IHRoZSB0ZXh0PwoKU3VyZSwgc29y cnkgYWJvdXQgdGhhdCEgSSdsbCBmaXggdGhhdCBpbiB0aGUgbmV4dCB2ZXJzaW9uLgoKSSdtIGdv aW5nIHRvIGRvIHNvbWUgbWFzc2l2ZSByZXdvcmsgb24gdGhpcyBvbmUsIGJlY2F1c2UgZHVyaW5n IExQQyBbMV0Kd2UndmUgbWFkZSBhIGNvbmNsdXNpb24gdGhhdCB3ZSBnb25uYSBmaXggc29tZXRo aW5nIGluIHNlY2NvbXAgYmVoYXZpb3IKd2UgaGF2ZSByaWdodCBub3cgYW5kIHRoZW4gdGhpcyBz ZXJpZXMgY2FuIGdvIG9uIHRvcC4KClsxXSBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92 PS1wU2VvTjY4aFA4CgpLaW5kIHJlZ2FyZHMsCkFsZXgKCj4gCj4gKFllcywgSSByZWFsaXplIGl0 J3MgYWxzbyBpbiB0aGUgY29tbWl0IG1lc3NhZ2UsIGJ1dCB0aGF0J3Mgbm90IGEKPiBncmVhdCBw bGFjZSB0byBoaWRlIHRoaXMgaW5mby4pCj4gCj4gCj4gPiDCoFRoZSBpbnRlcmZhY2UgZm9yIGEg c2VjY29tcCBub3RpZmljYXRpb24gZmQgY29uc2lzdHMgb2YgdHdvCj4gPiBzdHJ1Y3R1cmVzOgo+ ID4gCj4gPiDCoC4uIGNvZGUtYmxvY2s6OiBjCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC9zZWNjb21wLmggYi9pbmNsdWRlL2xpbnV4L3NlY2NvbXAuaAo+ID4gaW5kZXggOWI5NTk5NzJi ZjRhLi45YjA2MDk0NjAxOWQgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L3NlY2NvbXAu aAo+ID4gKysrIGIvaW5jbHVkZS9saW51eC9zZWNjb21wLmgKPiA+IEBAIC0xMCw3ICsxMCw4IEBA Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gU0VDQ09NUF9GSUxURVJfRkxBR19TUEVD X0FMTE9XIHwgXAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiA+IFNFQ0NPTVBfRklMVEVS X0ZMQUdfTkVXX0xJU1RFTkVSIHwgXAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiA+IFNF Q0NPTVBfRklMVEVSX0ZMQUdfVFNZTkNfRVNSQ0ggfCBcCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgCj4gPiBTRUNDT01QX0ZJTFRFUl9GTEFHX1dBSVRfS0lMTEFCTEVfUkVDVikKPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAKPiA+IFNFQ0NPTVBfRklMVEVSX0ZMQUdfV0FJVF9LSUxMQUJMRV9S RUNWIHwgXAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gU0VDQ09NUF9GSUxURVJfRkxB R19BTExPV19ORVNURURfTElTVEVORVJTKQo+ID4gCj4gPiDCoC8qIHNpemVvZigpIHRoZSBmaXJz dCBwdWJsaXNoZWQgc3RydWN0IHNlY2NvbXBfbm90aWZfYWRkZmQgKi8KPiA+IMKgI2RlZmluZSBT RUNDT01QX05PVElGWV9BRERGRF9TSVpFX1ZFUjAgMjQKPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRl L3VhcGkvbGludXgvc2VjY29tcC5oCj4gPiBiL2luY2x1ZGUvdWFwaS9saW51eC9zZWNjb21wLmgK PiA+IGluZGV4IGRiZmM5YjM3ZmNhZS4uZGU3OGQ4ZTdhNzBiIDEwMDY0NAo+ID4gLS0tIGEvaW5j bHVkZS91YXBpL2xpbnV4L3NlY2NvbXAuaAo+ID4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3Nl Y2NvbXAuaAo+ID4gQEAgLTE4LDEzICsxOCwxNCBAQAo+ID4gwqAjZGVmaW5lIFNFQ0NPTVBfR0VU X05PVElGX1NJWkVTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDMKPiA+IAo+ID4gwqAv KiBWYWxpZCBmbGFncyBmb3IgU0VDQ09NUF9TRVRfTU9ERV9GSUxURVIgKi8KPiA+IC0jZGVmaW5l IFNFQ0NPTVBfRklMVEVSX0ZMQUdfVFNZTkPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMVVM IDw8IDApCj4gPiAtI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX0xPR8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDFVTCA8PCAxKQo+ID4gLSNkZWZpbmUg U0VDQ09NUF9GSUxURVJfRkxBR19TUEVDX0FMTE9XwqDCoMKgwqDCoMKgwqDCoCAoMVVMIDw8IDIp Cj4gPiAtI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX05FV19MSVNURU5FUsKgwqDCoMKgwqDC oCAoMVVMIDw8IDMpCj4gPiAtI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX1RTWU5DX0VTUkNI wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgxVUwgPDwgNCkKPiA+ICsjZGVmaW5lIFNF Q0NPTVBfRklMVEVSX0ZMQUdfVFNZTkPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKDFVTCA8PCAwKQo+ID4gKyNkZWZpbmUgU0VDQ09NUF9GSUxURVJfRkxBR19MT0fC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoAo+ID4gKDFVTCA8PCAxKQo+ID4gKyNkZWZpbmUgU0VDQ09NUF9GSUxURVJfRkxBR19TUEVD X0FMTE9XwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDFVTCA8PCAyKQo+ID4gKyNk ZWZpbmUgU0VDQ09NUF9GSUxURVJfRkxBR19ORVdfTElTVEVORVLCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICgxVUwgPDwgMykKPiA+ICsjZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZMQUdfVFNZ TkNfRVNSQ0jCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4g PiAoMVVMIDw8IDQpCj4gPiDCoC8qIFJlY2VpdmVkIG5vdGlmaWNhdGlvbnMgd2FpdCBpbiBraWxs YWJsZSBzdGF0ZSAob25seSByZXNwb25kIHRvCj4gPiBmYXRhbCBzaWduYWxzKSAqLwo+ID4gLSNk ZWZpbmUgU0VDQ09NUF9GSUxURVJfRkxBR19XQUlUX0tJTExBQkxFX1JFQ1YgKDFVTCA8PCA1KQo+ ID4gKyNkZWZpbmUgU0VDQ09NUF9GSUxURVJfRkxBR19XQUlUX0tJTExBQkxFX1JFQ1bCoMKgwqDC oMKgwqDCoMKgICgxVUwgPDwgNSkKPiA+ICsjZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZMQUdfQUxM T1dfTkVTVEVEX0xJU1RFTkVSU8KgwqDCoMKgICgxVUwgPDwgNikKPiA+IAo+ID4gwqAvKgo+ID4g wqAgKiBBbGwgQlBGIHByb2dyYW1zIG11c3QgcmV0dXJuIGEgMzItYml0IHZhbHVlLgo+ID4gZGlm ZiAtLWdpdCBhL2tlcm5lbC9zZWNjb21wLmMgYi9rZXJuZWwvc2VjY29tcC5jCj4gPiBpbmRleCA1 MWQwZDhhZGFmZmIuLjc2NjdmNDQzZmY2YyAxMDA2NDQKPiA+IC0tLSBhL2tlcm5lbC9zZWNjb21w LmMKPiA+ICsrKyBiL2tlcm5lbC9zZWNjb21wLmMKPiA+IEBAIC0yMDYsNiArMjA2LDcgQEAgc3Rh dGljIGlubGluZSB2b2lkIHNlY2NvbXBfY2FjaGVfcHJlcGFyZShzdHJ1Y3QKPiA+IHNlY2NvbXBf ZmlsdGVyICpzZmlsdGVyKQo+ID4gwqAgKiBAd2FpdF9raWxsYWJsZV9yZWN2OiBQdXQgbm90aWZ5 aW5nIHByb2Nlc3MgaW4ga2lsbGFibGUgc3RhdGUKPiA+IG9uY2UgdGhlCj4gPiDCoCAqwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBub3RpZmljYXRpb24gaXMgcmVjZWl2 ZWQgYnkgdGhlIHVzZXJzcGFjZQo+ID4gbGlzdGVuZXIuCj4gPiDCoCAqIEBmaXJzdF9saXN0ZW5l cjogdHJ1ZSBpZiB0aGlzIGlzIHRoZSBmaXJzdCBzZWNjb21wIGxpc3RlbmVyCj4gPiBpbnN0YWxs ZWQgaW4gdGhlIHRyZWUuCj4gPiArICogQGFsbG93X25lc3RlZF9saXN0ZW5lcnM6IEFsbG93IG5l c3RlZCBzZWNjb21wIGxpc3RlbmVycy4KPiA+IMKgICogQHByZXY6IHBvaW50cyB0byBhIHByZXZp b3VzbHkgaW5zdGFsbGVkLCBvciBpbmhlcml0ZWQsIGZpbHRlcgo+ID4gwqAgKiBAcHJvZzogdGhl IEJQRiBwcm9ncmFtIHRvIGV2YWx1YXRlCj4gPiDCoCAqIEBub3RpZjogdGhlIHN0cnVjdCB0aGF0 IGhvbGRzIGFsbCBub3RpZmljYXRpb24gcmVsYXRlZAo+ID4gaW5mb3JtYXRpb24KPiA+IEBAIC0y MjgsNiArMjI5LDcgQEAgc3RydWN0IHNlY2NvbXBfZmlsdGVyIHsKPiA+IMKgwqDCoMKgwqDCoMKg IGJvb2wgbG9nIDogMTsKPiA+IMKgwqDCoMKgwqDCoMKgIGJvb2wgd2FpdF9raWxsYWJsZV9yZWN2 IDogMTsKPiA+IMKgwqDCoMKgwqDCoMKgIGJvb2wgZmlyc3RfbGlzdGVuZXIgOiAxOwo+ID4gK8Kg wqDCoMKgwqDCoCBib29sIGFsbG93X25lc3RlZF9saXN0ZW5lcnMgOiAxOwo+ID4gwqDCoMKgwqDC oMKgwqAgc3RydWN0IGFjdGlvbl9jYWNoZSBjYWNoZTsKPiA+IMKgwqDCoMKgwqDCoMKgIHN0cnVj dCBzZWNjb21wX2ZpbHRlciAqcHJldjsKPiA+IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBicGZfcHJv ZyAqcHJvZzsKPiA+IEBAIC05NTYsNiArOTU4LDEwIEBAIHN0YXRpYyBsb25nIHNlY2NvbXBfYXR0 YWNoX2ZpbHRlcih1bnNpZ25lZCBpbnQKPiA+IGZsYWdzLAo+ID4gwqDCoMKgwqDCoMKgwqAgaWYg KGZsYWdzICYgU0VDQ09NUF9GSUxURVJfRkxBR19XQUlUX0tJTExBQkxFX1JFQ1YpCj4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmlsdGVyLT53YWl0X2tpbGxhYmxlX3JlY3YgPSB0 cnVlOwo+ID4gCj4gPiArwqDCoMKgwqDCoMKgIC8qIFNldCBuZXN0ZWQgbGlzdGVuZXJzIGFsbG93 IGZsYWcsIGlmIHByZXNlbnQuICovCj4gPiArwqDCoMKgwqDCoMKgIGlmIChmbGFncyAmIFNFQ0NP TVBfRklMVEVSX0ZMQUdfQUxMT1dfTkVTVEVEX0xJU1RFTkVSUykKPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGZpbHRlci0+YWxsb3dfbmVzdGVkX2xpc3RlbmVycyA9IHRydWU7Cj4g PiArCj4gPiDCoMKgwqDCoMKgwqDCoCAvKgo+ID4gwqDCoMKgwqDCoMKgwqDCoCAqIElmIHRoZXJl IGlzIGFuIGV4aXN0aW5nIGZpbHRlciwgbWFrZSBpdCB0aGUgcHJldiBhbmQKPiA+IGRvbid0IGRy b3AgaXRzCj4gPiDCoMKgwqDCoMKgwqDCoMKgICogdGFzayByZWZlcmVuY2UuCj4gPiBAQCAtMTk5 Nyw3ICsyMDAzLDggQEAgc3RhdGljIHN0cnVjdCBmaWxlICppbml0X2xpc3RlbmVyKHN0cnVjdAo+ ID4gc2VjY29tcF9maWx0ZXIgKmZpbHRlcikKPiA+IMKgfQo+ID4gCj4gPiDCoC8qCj4gPiAtICog RG9lcyBAbmV3X2NoaWxkIGhhdmUgYSBsaXN0ZW5lciB3aGlsZSBhbiBhbmNlc3RvciBhbHNvIGhh cyBhCj4gPiBsaXN0ZW5lcj8KPiA+ICsgKiBEb2VzIEBuZXdfY2hpbGQgaGF2ZSBhIGxpc3RlbmVy IHdoaWxlIGFuIGFuY2VzdG9yIGFsc28gaGFzIGEKPiA+IGxpc3RlbmVyCj4gPiArICogYW5kIGhh c24ndCBhbGxvd2VkIG5lc3Rpbmc/Cj4gPiDCoCAqIElmIHNvLCB3ZSdsbCB3YW50IHRvIHJlamVj dCB0aGlzIGZpbHRlci4KPiA+IMKgICogVGhpcyBvbmx5IGhhcyB0byBiZSB0ZXN0ZWQgZm9yIHRo ZSBjdXJyZW50IHByb2Nlc3MsIGV2ZW4gaW4gdGhlCj4gPiBUU1lOQyBjYXNlLAo+ID4gwqAgKiBi ZWNhdXNlIFRTWU5DIGluc3RhbGxzIEBjaGlsZCB3aXRoIHRoZSBzYW1lIHBhcmVudCBvbiBhbGwK PiA+IHRocmVhZHMuCj4gPiBAQCAtMjAxNSw3ICsyMDIyLDEyIEBAIHN0YXRpYyBib29sIGNoZWNr X2R1cGxpY2F0ZV9saXN0ZW5lcihzdHJ1Y3QKPiA+IHNlY2NvbXBfZmlsdGVyICpuZXdfY2hpbGQp Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNlOwo+ID4gwqDC oMKgwqDCoMKgwqAgZm9yIChjdXIgPSBjdXJyZW50LT5zZWNjb21wLmZpbHRlcjsgY3VyOyBjdXIg PSBjdXItPnByZXYpIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIUlT X0VSUl9PUl9OVUxMKGN1ci0+bm90aWYpKQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiB0cnVlOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIFdlIGRvbid0IG5lZWQgdG8gZ28gdXAgZnVydGhlciwg YmVjYXVzZQo+ID4gaWYgdGhlcmUgaXMgYQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBsaXN0ZW5lciB3aXRoIG5lc3RpbmcgYWxsb3dlZCwgdGhl biBhbGwKPiA+IHRoZSBsaXN0ZW5lcnMKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICogdXAgdGhlIHRyZWUgaGF2ZSBhbGxvd2VkIG5lc3RpbmcgYXMK PiA+IHdlbGwuCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJldHVybiAhY3VyLT5hbGxvd19uZXN0ZWRfbGlzdGVuZXJzOwo+ID4gwqDCoMKgwqDCoMKgwqAg fQo+ID4gCj4gPiDCoMKgwqDCoMKgwqDCoCAvKiBNYXJrIGZpcnN0IGxpc3RlbmVyIGluIHRoZSB0 cmVlLiAqLwo+ID4gQEAgLTIwNjIsMTAgKzIwNzQsMTIgQEAgc3RhdGljIGxvbmcKPiA+IHNlY2Nv bXBfc2V0X21vZGVfZmlsdGVyKHVuc2lnbmVkIGludCBmbGFncywKPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPiA+IAo+ID4gwqDCoMKgwqDCoMKgwqAg LyoKPiA+IC3CoMKgwqDCoMKgwqDCoCAqIFRoZSBTRUNDT01QX0ZJTFRFUl9GTEFHX1dBSVRfS0lM TEFCTEVfU0VOVCBmbGFnIGRvZXNuJ3QKPiA+IG1ha2Ugc2Vuc2UKPiA+ICvCoMKgwqDCoMKgwqDC oCAqIFRoZSBTRUNDT01QX0ZJTFRFUl9GTEFHX1dBSVRfS0lMTEFCTEVfU0VOVCBhbmQKPiA+ICvC oMKgwqDCoMKgwqDCoCAqIFNFQ0NPTVBfRklMVEVSX0ZMQUdfQUxMT1dfTkVTVEVEX0xJU1RFTkVS UyBmbGFncyBkb24ndAo+ID4gbWFrZSBzZW5zZQo+ID4gwqDCoMKgwqDCoMKgwqDCoCAqIHdpdGhv dXQgdGhlIFNFQ0NPTVBfRklMVEVSX0ZMQUdfTkVXX0xJU1RFTkVSIGZsYWcuCj4gPiDCoMKgwqDC oMKgwqDCoMKgICovCj4gPiAtwqDCoMKgwqDCoMKgIGlmICgoZmxhZ3MgJiBTRUNDT01QX0ZJTFRF Ul9GTEFHX1dBSVRfS0lMTEFCTEVfUkVDVikgJiYKPiA+ICvCoMKgwqDCoMKgwqAgaWYgKCgoZmxh Z3MgJiBTRUNDT01QX0ZJTFRFUl9GTEFHX1dBSVRfS0lMTEFCTEVfUkVDVikgfHwKPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIChmbGFncyAmIFNFQ0NPTVBfRklMVEVSX0ZMQUdfQUxMT1dfTkVT VEVEX0xJU1RFTkVSUykpCj4gPiAmJgo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKGZsYWdz ICYgU0VDQ09NUF9GSUxURVJfRkxBR19ORVdfTElTVEVORVIpID09IDApKQo+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+ID4gCj4gPiBkaWZmIC0tZ2l0 IGEvdG9vbHMvaW5jbHVkZS91YXBpL2xpbnV4L3NlY2NvbXAuaAo+ID4gYi90b29scy9pbmNsdWRl L3VhcGkvbGludXgvc2VjY29tcC5oCj4gPiBpbmRleCBkYmZjOWIzN2ZjYWUuLmRlNzhkOGU3YTcw YiAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xzL2luY2x1ZGUvdWFwaS9saW51eC9zZWNjb21wLmgKPiA+ ICsrKyBiL3Rvb2xzL2luY2x1ZGUvdWFwaS9saW51eC9zZWNjb21wLmgKPiA+IEBAIC0xOCwxMyAr MTgsMTQgQEAKPiA+IMKgI2RlZmluZSBTRUNDT01QX0dFVF9OT1RJRl9TSVpFU8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAzCj4gPiAKPiA+IMKgLyogVmFsaWQgZmxhZ3MgZm9yIFNFQ0NP TVBfU0VUX01PREVfRklMVEVSICovCj4gPiAtI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX1RT WU5DwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDFVTCA8PCAwKQo+ID4gLSNkZWZpbmUgU0VD Q09NUF9GSUxURVJfRkxBR19MT0fCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICgxVUwgPDwgMSkKPiA+IC0jZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZMQUdfU1BF Q19BTExPV8KgwqDCoMKgwqDCoMKgwqAgKDFVTCA8PCAyKQo+ID4gLSNkZWZpbmUgU0VDQ09NUF9G SUxURVJfRkxBR19ORVdfTElTVEVORVLCoMKgwqDCoMKgwqAgKDFVTCA8PCAzKQo+ID4gLSNkZWZp bmUgU0VDQ09NUF9GSUxURVJfRkxBR19UU1lOQ19FU1JDSMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAoMVVMIDw8IDQpCj4gPiArI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX1RTWU5D wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgxVUwgPDwgMCkKPiA+ ICsjZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZMQUdfTE9HwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiA+ICgxVUwgPDwgMSkKPiA+ ICsjZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZMQUdfU1BFQ19BTExPV8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICgxVUwgPDwgMikKPiA+ICsjZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZM QUdfTkVXX0xJU1RFTkVSwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMVVMIDw8IDMpCj4g PiArI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX1RTWU5DX0VTUkNIwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gKDFVTCA8PCA0KQo+ID4gwqAvKiBS ZWNlaXZlZCBub3RpZmljYXRpb25zIHdhaXQgaW4ga2lsbGFibGUgc3RhdGUgKG9ubHkgcmVzcG9u ZCB0bwo+ID4gZmF0YWwgc2lnbmFscykgKi8KPiA+IC0jZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZM QUdfV0FJVF9LSUxMQUJMRV9SRUNWICgxVUwgPDwgNSkKPiA+ICsjZGVmaW5lIFNFQ0NPTVBfRklM VEVSX0ZMQUdfV0FJVF9LSUxMQUJMRV9SRUNWwqDCoMKgwqDCoMKgwqDCoCAoMVVMIDw8IDUpCj4g PiArI2RlZmluZSBTRUNDT01QX0ZJTFRFUl9GTEFHX0FMTE9XX05FU1RFRF9MSVNURU5FUlPCoMKg wqDCoCAoMVVMIDw8IDYpCj4gPiAKPiA+IMKgLyoKPiA+IMKgICogQWxsIEJQRiBwcm9ncmFtcyBt dXN0IHJldHVybiBhIDMyLWJpdCB2YWx1ZS4KPiA+IC0tCj4gPiAyLjQzLjAKPiA+IAo+IAo+IAo+ IC0tCj4gQW5keSBMdXRvbWlyc2tpCj4gQU1BIENhcGl0YWwgTWFuYWdlbWVudCwgTExDCg==