From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D01272594B9; Thu, 4 Jun 2026 09:15:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780564546; cv=none; b=tOx5iTx/9jEsJSb/TrQykp5sK+V3q9w0LFOAXwScDQNcGuDD5MWHaidUwEMVXSdI3ZhW2SGocpKrR5KlpFz6umm56GsdzFL5ralmARdOddWjJxB7OsKrFYt1KPOVSEjX8c5UsSpgXBZsZSv9VNdG9AnaFnPXCCf4My2FEK8OlMo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780564546; c=relaxed/simple; bh=fjhPj7CudSqdMbPdMmg6BvLK8kDs1P5/G3LaQ2U2wzs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:Content-Type: MIME-Version:Message-ID; b=j7f5WA0g4+/4dNuySr2GGL4NCrMorLIyn0EnwFBLrrHF0x2kpEP9hedFdf+Yhr888+q4hNdHuE966Fv+Bys07lwg3t28r67xUp4vPVeP7WMZNeHlBoemZ+j0GqRDWTqRwhEzdvjeX4oCnr7RpFokk1deXtSmyC9HU/xDX+Vm6T0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=NyFvVGoc; arc=none smtp.client-ip=220.197.31.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="NyFvVGoc" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:To:Subject:Content-Type:MIME-Version: Message-ID; bh=fjhPj7CudSqdMbPdMmg6BvLK8kDs1P5/G3LaQ2U2wzs=; b=N yFvVGocAOvwNRT6KVeqlras5dqzv8MqnXkopeGkjBqNlRCfi6rTiqkBiO+Rb4Mv2 szw3YeuaA1D/kGEn5GdT6De4S61aFZv9LC2iAbLUJtSZyrlLwc+A8Vw9HPSlEt8m GXUpekW/zOv17r4vf0+RtcdUfu+tMAzqdbtaDPGbEM= Received: from chenyuan_fl$163.com ( [116.128.244.171] ) by ajax-webmail-wmsvr-40-109 (Coremail) ; Thu, 4 Jun 2026 17:14:37 +0800 (CST) Date: Thu, 4 Jun 2026 17:14:37 +0800 (CST) From: chenyuan To: "Ihor Solodrai" Cc: eddyz87@gmail.com, yonghong.song@linux.dev, andrii@kernel.org, ast@kernel.org, bot+bpf-ci@kernel.org, bpf@vger.kernel.org, chenyuan@kylinos.cn, clm@meta.com, daniel@iogearbox.net, jolsa@kernel.org, linux-kernel@vger.kernel.org, martin.lau@kernel.org, martin.lau@linux.dev, memxor@gmail.com, song@kernel.org Subject: Re:Re: [PATCH bpf v3 1/2] bpf: Fix kfunc implicit arg inject type detection to prevent invalid pointer deref X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2023.4-cmXT build 20260403(27802f6d) Copyright (c) 2002-2026 www.mailtech.cn 163com In-Reply-To: <8f2dd2e9-726c-4295-995c-3bdbcda56070@linux.dev> References: <535798105630b24033f33f532051b93dc853bc0d.camel@gmail.com> <20260602085827.2562222-1-chenyuan_fl@163.com> <20260602085827.2562222-2-chenyuan_fl@163.com> <8f2dd2e9-726c-4295-995c-3bdbcda56070@linux.dev> X-NTES-SC: AL_Qu2TAvmdu0ws4SSYZekcnE0ThO42Ucqyufku1Y5Rc+IEoj3BxiI7XW9PBHDV9v6hOxqNoBWeYSBRyOdIZ7tZj98kgOUWzFUCUNQVLiHFTQ== Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <41cc6d1a.8310.19e91e9c5e1.Coremail.chenyuan_fl@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:bSgvCgD3x5j+QSFqArICAA--.23858W X-CM-SenderInfo: xfkh05pxdqswro6rljoofrz/xtbDAh5yMGohQf679gAA3n X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== SGkgSWhvcqO6Cj4gQ291bGQgeW91IHBsZWFzZSBlbGFib3JhdGUgb24gdGhlICJpbmNvcnJlY3Qg dHlwZSBpbmZvcm1hdGlvbiIgZ2VuZXJhdGVkIApieSBwYWhvbGUgMS4zMD8KSSBleHRyYWN0ZWQg dGhlIC5CVEYgYW5kIC5CVEYuYmFzZSBzZWN0aW9ucyBmcm9tIHRoZSBzYW1lIApicGZfdGVzdG1v ZC5rbyBidWlsdCB3aXRoIHBhaG9sZSAxLjMwIHZzIDEuMzEgdG8gY29tcGFyZTogCgogICMgcGFo b2xlIDEuMzAgoaogYnBmX3Byb2dfYXV4IGluIHNwbGl0IEJURiwgTk9UIGluIGJhc2UKICAkIGJw ZnRvb2wgYnRmIGR1bXAgZmlsZSBidGZfMV8zMF9iYXNlLmJpbiB8IGdyZXAgYnBmX3Byb2dfYXV4 CiAgICAoZW1wdHkpCiAgJCBicGZ0b29sIGJ0ZiBkdW1wIC1CIGJ0Zl8xXzMwX2Jhc2UuYmluIGZp bGUgYnRmXzFfMzAuYmluIHwgZ3JlcCBhdXgKICAgIFszMTcyXSBTVFJVQ1QgJ2JwZl9wcm9nX2F1 eCcgc2l6ZT0yMDE2IHZsZW49ODcKCiAgIyBwYWhvbGUgMS4zMSChqiBicGZfcHJvZ19hdXggaW4g YmFzZSBCVEYsIE5PVCBpbiBzcGxpdAogICQgYnBmdG9vbCBidGYgZHVtcCBmaWxlIGJ0Zl8xXzMx X2Jhc2UuYmluIHwgZ3JlcCBicGZfcHJvZ19hdXgKICAgIFsxMF0gU1RSVUNUICdicGZfcHJvZ19h dXgnIHNpemU9MjAxNiB2bGVuPTAKICAkIGJwZnRvb2wgYnRmIGR1bXAgLUIgYnRmXzFfMzFfYmFz ZS5iaW4gZmlsZSBidGZfMV8zMS5iaW4gfCBncmVwIGF1eCAKICAgIChlbXB0eSkgCgpwYWhvbGUg MS4zMCBwbGFjZXMgc3RydWN0IGJwZl9wcm9nX2F1eCBpbiB0aGUgbW9kdWxlJ3Mgc3BsaXQgQlRG IAooaW5zdGVhZCBvZiB0aGUgZGlzdGlsbGVkIGJhc2UpLiAgcGFob2xlIDEuMzEgY29ycmVjdGx5 IG1vdmVzIGl0IHRvIAp0aGUgYmFzZSBCVEYuIAoKPiBEbyB5b3Uga25vdyBob3cgdGhpcyBoYXBw ZW5zPyBJcyBpdCBhIGJ1ZyBpbiBwYWhvbGUgb3IgaW4gcmVzb2x2ZV9idGZpZHM/Ckl0J3MgYSBw YWhvbGUgaXNzdWUuICBwYWhvbGUncyBCVEYgZW5jb2RlciBkZWNpZGVzIHdoaWNoIHR5cGVzIGdv IGludG8gICAgICAgIAouQlRGLmJhc2UgKGRpc3RpbGxlZCBiYXNlKSB2cyAuQlRGIChzcGxpdCku ICBJbiAxLjMwLCB0eXBlcwpyZWZlcmVuY2VkIGJ5IGtmdW5jIGRlY2xhcmF0aW9ucyB3ZXJlIG5v dCBiZWluZyBjb3JyZWN0bHkgaWRlbnRpZmllZCBhcwp2bWxpbnV4IHR5cGVzIGZvciB0aGUgZGlz dGlsbGVkIGJhc2UsIHNvIHRoZXkgZW5kZWQgdXAgYXMgIm5ldyIgdHlwZXMgaW4KdGhlIHNwbGl0 IEJURiBpbnN0ZWFkLiAKCj4gSSBoYXZlIGEgc3VzcGljaW9uIHdlIG1pZ2h0IG5vdCBuZWVkIGNo YW5nZXMgaW4gdGhlIHZlcmlmaWVyIHRvIGZpeCB0aGlzLiAKVGhlIGtlcm5lbCdzIEJURiBkZWR1 cCBkdXJpbmcgbW9kdWxlIGxvYWRpbmcgb25seSBvcGVyYXRlcyBvbiB0eXBlcyBpbgp0aGUgZGlz dGlsbGVkIGJhc2UgKC5CVEYuYmFzZSksIG1lcmdpbmcgdGhlbSB3aXRoIHZtbGludXggQlRGLgpU eXBlcyBpbiB0aGUgc3BsaXQgQlRGICguQlRGKSBhcmUgdHJlYXRlZCBhcyBtb2R1bGUtbG9jYWwg YW5kCmFzc2lnbmVkIGZyZXNoIElEcyChqiB0aGV5IGFyZSBuZXZlciBtYXRjaGVkIGFnYWluc3Qg dm1saW51eC4gCgpUaGlzIG1lYW5zIHdoZW4gYSB0b29sY2hhaW4gYnVnIHB1dHMgYSB2bWxpbnV4 IHR5cGUgaW50byBzcGxpdCBCVEYgCmluc3RlYWQgb2YgdGhlIGJhc2UgLCB0aGUga2VybmVsIGhh cyBubyBtZWNoYW5pc20gdG8gZGV0ZWN0IG9yIGZpeCBpdC4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKYnRmX3R5cGVzX2FyZV9zYW1lKCkg Y29tcGFyZXMgcG9pbnRlcnMgYWNyb3NzIHR3byBkaWZmZXJlbnQgQlRGICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Cm9iamVjdHMgoaogYWx3YXlzIGZhaWxzIGZvciB0aGlzIGNhc2UuICBpc19rZnVuY19hcmdfcHJv Z19hdXgoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKcmV0dXJucyBmYWxzZSwgdGhlIGFyZ3VtZW50IGlzIHNp bGVudGx5IHNraXBwZWQsIGFuZCB0aGUga2Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRlcmVmZXJlbmNl cyB1bmluaXRpYWxpemVkIHJlZ2lzdGVyIHN0YXRlLiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKV2hpbGUgcGFob2xlIDEuMzEgZml4ZXMg dGhlIHJvb3QgY2F1c2UsIHRoZSB2ZXJpZmllciBjaGFuZ2UgaXMgYQpzYWZldHkgbmV0OiBhIGNy YXNoIGJlY29tZXMgYSBjbGVhbiByZWplY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGljaAp0b29sY2hh aW4gY29tcG9uZW50IGludHJvZHVjZXMgYSBCVEYgbWlzbWF0Y2guICBUaGlzIGlzIGRlZmVuc2Ut aW4tZGVwdGgsIApub3QgYSByZXBsYWNlbWVudCAgZm9yIHRoZSB0b29sY2hhaW4gZml4LiAKCgpB dCAyMDI2LTA2LTAzIDAyOjUyOjM5LCAiSWhvciBTb2xvZHJhaSIgPGlob3Iuc29sb2RyYWlAbGlu dXguZGV2PiB3cm90ZToKPk9uIDYvMi8yNiAxOjU4IEFNLCBjaGVueXVhbl9mbEAxNjMuY29tIHdy b3RlOgo+PiBGcm9tOiBZdWFuIENoZW4gPGNoZW55dWFuQGt5bGlub3MuY24+Cj4+IAo+PiBXaGVu IGEgbW9kdWxlIGtmdW5jIGRlY2xhcmVzIGFuIGltcGxpY2l0IHN0cnVjdCBicGZfcHJvZ19hdXgg KiBhcmd1bWVudCwKPj4gdGhlIHZlcmlmaWVyIG11c3QgaWRlbnRpZnkgaXQgc28gdGhlIGtlcm5l bCBpbmplY3RzIGVudi0+cHJvZy0+YXV4IGludG8KPj4gdGhlIGNvcnJlY3QgcmVnaXN0ZXIgYXQg cnVudGltZS4gIFRoZSBvcmlnaW5hbCBjaGVjayB1c2VkCj4+IGlzX2tmdW5jX2FyZ19wcm9nX2F1 eCgpIHdoaWNoIGNhbGxzIGJ0Zl90eXBlc19hcmVfc2FtZSgpIHRvIGNvbXBhcmUgdGhlCj4+IG1v ZHVsZSBCVEYgdHlwZSBhZ2FpbnN0IHZtbGludXguCj4+IAo+PiBSb290IENhdXNlCj4+IAo+PiBU aGlzIGlzc3VlIHdhcyB0cmlnZ2VyZWQgYnkgcGFob2xlIDEuMzAgZ2VuZXJhdGluZyBtb2R1bGUg QlRGIHdpdGgKPj4gaW5jb3JyZWN0IHR5cGUgaW5mb3JtYXRpb24sIHdoaWNoIGNhdXNlZCB0aGUg a2VybmVsJ3MgZGlzdGlsbGVkIGJhc2UKPj4gQlRGIGRlZHVwbGljYXRpb24gZm9yIG1vZHVsZXMg dG8gZmFpbC4gIEFzIGEgcmVzdWx0LCB0aGUgbW9kdWxlIHJldGFpbmVkCj4+IGl0cyBvd24gY29w eSBvZiBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHdpdGggYSBkaWZmZXJlbnQgQlRGIElEIHRoYW4KPj4g dm1saW51eCdzIGRlZmluaXRpb24uICBXaGlsZSBwYWhvbGUgMS4zMSBmaXhlZCB0aGUgQlRGIGdl bmVyYXRpb24gaXNzdWUsCj4KPkhpIFl1YW4sCj4KPkNvdWxkIHlvdSBwbGVhc2UgZWxhYm9yYXRl IG9uIHRoZSAiaW5jb3JyZWN0IHR5cGUgaW5mb3JtYXRpb24iIGdlbmVyYXRlZAo+YnkgcGFob2xl IDEuMzA/Cj4KPk15IHVuZGVyc3RhbmRpbmcgaXMsIHRoZSBzeW1wdG9tIG9mIHRoZSBwcm9ibGVt IHlvdSdyZSB0cnlpbmcgdG8gZml4IGlzCj50aGF0IG1vZHVsZSBCVEYgd2l0aCBjdXN0b20ga2Z1 bmNzIHdpdGggS0ZfSU1QTElDSVRfQVJHUyBlbmRzIHVwIHdpdGggYQo+Y29weSBvZiBhbiBhcmcg dHlwZSwgaW5zdGVhZCBvZiByZWZlcmVuY2luZyB0aGUgQlRGIElEIGluIGtlcm5lbCBCVEYuCj4K PkRvIHlvdSBrbm93IGhvdyB0aGlzIGhhcHBlbnM/IElzIGl0IGEgYnVnIGluIHBhaG9sZSBvciBp biByZXNvbHZlX2J0Zmlkcz8KPgo+SSBoYXZlIGEgc3VzcGljaW9uIHdlIG1pZ2h0IG5vdCBuZWVk IGNoYW5nZXMgaW4gdGhlIHZlcmlmaWVyIHRvIGZpeCB0aGlzLgo+TWlnaHQgYmUgd3Jvbmcgb2Yg Y291cnNlLCB3b3VsZCBhcHByZWNpYXRlIGEgYml0IG1vcmUgZGV0YWlscy4KPgo+PiB0aGUga2Vy bmVsIG11c3QgYmUgcm9idXN0IGFnYWluc3Qgc3VjaCBpbmNvbnNpc3RlbmNpZXM6IGEgQlRGIG1p c21hdGNoCj4+IHNob3VsZCByZXN1bHQgaW4gYSBjbGVhbiByZWplY3Rpb24sIG5vdCBhIGtlcm5l bCBjcmFzaCBvciBpbmZvcm1hdGlvbgo+PiBkaXNjbG9zdXJlLgo+PiAKPj4gV2hlbiB0aGUgZGlz dGlsbGVkIGJhc2UgZGVkdXAgZmFpbHMgYW5kIGJ0Zl90eXBlc19hcmVfc2FtZSgpIGNhbm5vdAo+ PiBtYXRjaCB0aGUgbW9kdWxlJ3MgYnBmX3Byb2dfYXV4IHR5cGUgYWdhaW5zdCB2bWxpbnV4J3Ms Cj4KPkRlZHVwIGhhcHBlbnMgaW4gcGFob2xlLCBidXQgZGlzdGlsbF9iYXNlIGlzIGRvbmUgaW4g cmVzb2x2ZV9idGZpZHMuCj5JIHRoaW5rIGRpc3RpbGxfYmFzZSBpcyBzdXBwb3NlZCB0byByZW1v dmUgdGhlIChjb3B5IG9mKSB0YXJnZXQgdHlwZSBmcm9tCj5tb2R1bGUgQlRGLiBDYW4geW91IGNv bmZpcm0gdGhhdCBpdCBkb2Vzbid0Pwo+Cj4+IGlzX2tmdW5jX2FyZ19wcm9nX2F1eCgpIHJldHVy bmVkIGZhbHNlIGFuZCB0aGUgY29kZSBmZWxsIHRocm91Z2gKPj4gc2lsZW50bHkgd2l0aG91dCBz ZXR0aW5nIGFyZ19wcm9nLiAgVGhlIGtmdW5jIHRoZW4gcmVjZWl2ZWQgd2hhdGV2ZXIKPj4gdmFs dWUgd2FzIGluIHRoZSBhcmd1bWVudCByZWdpc3RlciBhbmQgZGVyZWZlcmVuY2VkIGl0IGFzIGEK Pj4gYnBmX3Byb2dfYXV4IHBvaW50ZXIsIGxlYWRpbmcgdG86Cj4+IAo+PiAgIEJVRzoga2VybmVs IGludmFsaWQgcG9pbnRlciBkZXJlZmVyZW5jZSwgYWRkcmVzczogMDAwMDAwMDAwMDAwMDllMgo+ PiAgIFJJUDogYnBmX3Byb2dfZ2V0X2Fzc29jX3N0cnVjdF9vcHMrMHhhLzB4YzAKPj4gICBSREk6 IDB4MDAwMDAwMDAwMDAwMDQ2ZCAoc3RhbGUgcmVnaXN0ZXIgdmFsdWUpCj4+IAo+PiBJbiB0aGUg b2JzZXJ2ZWQgY3Jhc2ggdGhlIHN0YWxlIHZhbHVlIHdhcyB0aGUgcHJvY2VzcyBQSUQsIGNhdXNp bmcgYQo+PiBkZXJlZmVyZW5jZSB3aXRoaW4gdGhlIHVubWFwcGVkIE5VTEwgcGFnZS4gIEhvd2V2 ZXIsIGFuIGF0dGFja2VyIGFibGUKPj4gdG8gY29udHJvbCB0aGUgcmVnaXN0ZXIgdmFsdWUgLS0g Zm9yIGV4YW1wbGUgYnkgd3JpdGluZyBhIEJQRiBwcm9ncmFtCj4+IHRoYXQgZXhwbGljaXRseSBz ZXRzIFIyIGJlZm9yZSBjYWxsaW5nIGEgS0ZfSU1QTElDSVRfQVJHUyBrZnVuYyAtLQo+PiBjb3Vs ZCByZWRpcmVjdCB0aGUgZGVyZWZlcmVuY2UgdG8gYXJiaXRyYXJ5IGtlcm5lbCBtZW1vcnksIHR1 cm5pbmcKPj4gdGhpcyBpbnRvIGFuIGluZm9ybWF0aW9uIGRpc2Nsb3N1cmUuICBUaGUgZml4IGVu c3VyZXMgdGhlIHZlcmlmaWVyCj4+IGVpdGhlciB2YWxpZGF0ZXMgYW5kIGluamVjdHMgdGhlIGNv cnJlY3QgYnBmX3Byb2dfYXV4IHBvaW50ZXIsIG9yCj4+IHJlamVjdHMgdGhlIHByb2dyYW0gb3V0 cmlnaHQgLS0gbm8gc2lsZW50IGZhbGx0aHJvdWdoIHRoYXQgY291bGQKPj4gYmUgZXhwbG9pdGVk Lgo+PiAKPj4gQ3Jhc2ggU3RhY2sgVHJhY2UKPj4gCj4+ICAgUElEOiAxMTMzICAgICBUQVNLOiBm ZmZmODg4MTA1N2QzOTAwICBDUFU6IDMgICAgQ09NTUFORDogInRlc3RfcHJvZ3MiCj4+ICAgICMw IG1hY2hpbmVfa2V4ZWMgYXQgZmZmZmZmZmY4MTJmNmUyNgo+PiAgICAjMSBfX2NyYXNoX2tleGVj IGF0IGZmZmZmZmZmODE0NWE3ODgKPj4gICAgIzIgY3Jhc2hfa2V4ZWMgYXQgZmZmZmZmZmY4MTQ1 YWMyNAo+PiAgICAjMyBvb3BzX2VuZCBhdCBmZmZmZmZmZjgxMmJiNjdjCj4+ICAgICM0IHBhZ2Vf ZmF1bHRfb29wcyBhdCBmZmZmZmZmZjgxMzA1M2ExCj4+ICAgICM1IGV4Y19wYWdlX2ZhdWx0IGF0 IGZmZmZmZmZmODI4ZTYwYTEKPj4gICAgIzYgYXNtX2V4Y19wYWdlX2ZhdWx0IGF0IGZmZmZmZmZm ODEwMDEyYTYKPj4gICAgICAgW2V4Y2VwdGlvbiBSSVA6IGJwZl9wcm9nX2dldF9hc3NvY19zdHJ1 Y3Rfb3BzKzEwXQo+PiAgICAgICBSSVA6IGZmZmZmZmZmODE1YzAyNGEgIFJTUDogZmZmZmM5MDAw MWI1N2U0OCAgUkZMQUdTOiAwMDAxMDI4Mwo+PiAgICAgICBSQVg6IGZmZmY4ODgxMDU3ZDM5MDAg IFJCWDogZmZmZmM5MDAwMWI1N2U2OCAgUkNYOiBmZmZmODg4MTA1N2QzOTAwCj4+ICAgICAgIFJE WDogMDAwMDYwN2Q0ZDE3NjhiOCAgUlNJOiAwMDAwMDAwMDAwMDAwNDZkICBSREk6IDAwMDAwMDAw MDAwMDA0NmQKPj4gICAgIzcgYnBmX2tmdW5jX211bHRpX3N0X29wc190ZXN0XzFfYXNzb2MgYXQg ZmZmZmZmZmZjMDAxM2E4NSBbYnBmX3Rlc3Rtb2RdCj4+ICAgICM4IGJwZl90cmFjZV9ydW4yIGF0 IGZmZmZmZmZmODE0ZjgzMzIKPj4gICAgIzkgX190cmFjZWl0ZXJfc3lzX2VudGVyIGF0IGZmZmZm ZmZmODE0MTVmNDUKPj4gICAjMTAgdHJhY2Vfc3lzY2FsbF9lbnRlciBhdCBmZmZmZmZmZjgxNDE2 NzM1Cj4+ICAgIzExIGRvX3N5c2NhbGxfNjQgYXQgZmZmZmZmZmY4MjhlMDZhMQo+PiAKPj4gRml4 Cj4+IAo+PiBTcGxpdCB0aGUgY29tYmluZWQgaXNfa2Z1bmNfYXJnX2lnbm9yZSgpIHx8IGlzX2tm dW5jX2FyZ19pbXBsaWNpdCgpCj4+IGNoZWNrIGluIGNoZWNrX2tmdW5jX2FyZ3MoKSBzbyB0aGF0 IGFuIGltcGxpY2l0IGFyZ3VtZW50IHJlYWNoaW5nCj4+IGlzX2tmdW5jX2FyZ19pbXBsaWNpdCgp IHdpdGhvdXQgYmVpbmcgaGFuZGxlZCBieSBhIHByaW9yIGhhbmRsZXIgaXMKPj4gcmVqZWN0ZWQg d2l0aCAtRUZBVUxULCBpbnN0ZWFkIG9mIHNpbGVudGx5IHNraXBwZWQuICBSZWNvZ25pemVkIGNh c2VzOgo+PiAKPj4gICAtIHN0cnVjdCBicGZfcHJvZ19hdXggKiAgOiBpc19rZnVuY19hcmdfcHJv Z19hdXgoKQo+PiAgIC0gX19pZ24gc3VmZml4IGFyZ3MgICAgICA6IGlzX2tmdW5jX2FyZ19pZ25v cmUoKQo+PiAgIC0gbGlzdF9wdXNoL3JidHJlZV9hZGQgICA6IGlzX2JwZl9saXN0X3B1c2hfa2Z1 bmMoKSAvIGlzX2JwZl9yYnRyZWVfYWRkX2tmdW5jKCkKPj4gCj4+IFN1Z2dlc3RlZC1ieTogRWR1 YXJkIFppbmdlcm1hbiA8ZWRkeXo4N0BnbWFpbC5jb20+Cj4+IEZpeGVzOiA2NGUxMzYwNTI0Yjkg KCJicGY6IFZlcmlmaWVyIHN1cHBvcnQgZm9yIEtGX0lNUExJQ0lUX0FSR1MiKQo+PiBTaWduZWQt b2ZmLWJ5OiBZdWFuIENoZW4gPGNoZW55dWFuQGt5bGlub3MuY24+Cj4+IC0tLQo+PiAga2VybmVs L2JwZi92ZXJpZmllci5jIHwgMTUgKysrKysrKysrKysrKystCj4+ICAxIGZpbGUgY2hhbmdlZCwg MTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2tlcm5l bC9icGYvdmVyaWZpZXIuYyBiL2tlcm5lbC9icGYvdmVyaWZpZXIuYwo+PiBpbmRleCA4ZGQ3OWI3 MzVhNjkuLjU1Yzc0ZDA2NGU0ZSAxMDA2NDQKPj4gLS0tIGEva2VybmVsL2JwZi92ZXJpZmllci5j Cj4+ICsrKyBiL2tlcm5lbC9icGYvdmVyaWZpZXIuYwo+PiBAQCAtMTE5MTYsOSArMTE5MTYsMjIg QEAgc3RhdGljIGludCBjaGVja19rZnVuY19hcmdzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICpl bnYsIHN0cnVjdCBicGZfa2Z1bmNfY2FsbF8KPj4gIAkJCWNvbnRpbnVlOwo+PiAgCQl9Cj4+ICAK Pj4gLQkJaWYgKGlzX2tmdW5jX2FyZ19pZ25vcmUoYnRmLCAmYXJnc1tpXSkgfHwgaXNfa2Z1bmNf YXJnX2ltcGxpY2l0KG1ldGEsIGkpKQo+PiArCQlpZiAoaXNfa2Z1bmNfYXJnX2lnbm9yZShidGYs ICZhcmdzW2ldKSkKPj4gIAkJCWNvbnRpbnVlOwo+PiAgCj4+ICsJCWlmIChpc19rZnVuY19hcmdf aW1wbGljaXQobWV0YSwgaSkpIHsKPj4gKwkJCS8qIGxpc3RfcHVzaCAvIHJidHJlZV9hZGQga2Z1 bmNzIGhhdmUgaW1wbGljaXQgYXJncwo+PiArCQkJICogKGUuZy4gJ29mZicgcGFyYW1ldGVyKSBo YW5kbGVkIGR1cmluZyB2ZXJpZmljYXRpb24KPj4gKwkJCSAqIGluIGJwZl9maXh1cF9rZnVuY19j YWxsKCkuICBEb24ndCBmbGFnIHRoZW0uCj4+ICsJCQkgKi8KPj4gKwkJCWlmIChpc19icGZfbGlz dF9wdXNoX2tmdW5jKG1ldGEtPmZ1bmNfaWQpIHx8Cj4+ICsJCQkgICAgaXNfYnBmX3JidHJlZV9h ZGRfa2Z1bmMobWV0YS0+ZnVuY19pZCkpCj4+ICsJCQkJY29udGludWU7Cj4+ICsJCQl2ZXJib3Nl KGVudiwgIiVzIHVucmVjb2duaXplZCBpbXBsaWNpdCBhcmd1bWVudCwgcG9zc2libGUgQlRGIG1p c21hdGNoXG4iLAo+PiArCQkJCXJlZ19hcmdfbmFtZShlbnYsIGFyZ25vKSk7Cj4+ICsJCQlyZXR1 cm4gLUVGQVVMVDsKPj4gKwkJfQo+PiArCj4+ICAJCXQgPSBidGZfdHlwZV9za2lwX21vZGlmaWVy cyhidGYsIGFyZ3NbaV0udHlwZSwgTlVMTCk7Cj4+ICAKPj4gIAkJaWYgKGJ0Zl90eXBlX2lzX3Nj YWxhcih0KSkgewo=