From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out30-101.freemail.mail.aliyun.com (out30-101.freemail.mail.aliyun.com [115.124.30.101]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E415D120 for ; Tue, 5 Dec 2023 06:34:42 -0800 (PST) X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R231e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046056;MF=hsiangkao@linux.alibaba.com;NM=1;PH=DS;RN=6;SR=0;TI=SMTPD_---0VxuuXco_1701786878; Received: from 30.27.65.35(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0VxuuXco_1701786878) by smtp.aliyun-inc.com; Tue, 05 Dec 2023 22:34:40 +0800 Message-ID: <8597c64c-d26a-8073-9d00-b629bbb0ee33@linux.alibaba.com> Date: Tue, 5 Dec 2023 22:34:37 +0800 Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: Weird EROFS data corruption To: Juhyung Park Cc: Gao Xiang , linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net, linux-crypto@vger.kernel.org, Yann Collet References: <5a0e8b44-6feb-b489-cdea-e3be3811804a@linux.alibaba.com> <649a3bc4-58bb-1dc8-85fb-a56e47b3d5c9@linux.alibaba.com> <275f025d-e2f1-eaff-6af1-e909d370cee0@linux.alibaba.com> From: Gao Xiang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2023/12/5 22:23, Juhyung Park wrote: > Hi Gao, > > On Tue, Dec 5, 2023 at 4:32 PM Gao Xiang wrote: >> >> Hi Juhyung, >> >> On 2023/12/4 11:41, Juhyung Park wrote: >> >> ... >>> >>>> >>>> - Could you share the full message about the output of `lscpu`? >>> >>> Sure: >>> >>> Architecture: x86_64 >>> CPU op-mode(s): 32-bit, 64-bit >>> Address sizes: 39 bits physical, 48 bits virtual >>> Byte Order: Little Endian >>> CPU(s): 8 >>> On-line CPU(s) list: 0-7 >>> Vendor ID: GenuineIntel >>> BIOS Vendor ID: Intel(R) Corporation >>> Model name: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz >>> BIOS Model name: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz None CPU >>> @ 3.0GHz >>> BIOS CPU family: 198 >>> CPU family: 6 >>> Model: 140 >>> Thread(s) per core: 2 >>> Core(s) per socket: 4 >>> Socket(s): 1 >>> Stepping: 1 >>> CPU(s) scaling MHz: 60% >>> CPU max MHz: 4800.0000 >>> CPU min MHz: 400.0000 >>> BogoMIPS: 5990.40 >>> Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc >>> a cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss >>> ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art >>> arch_perfmon pebs bts rep_good nopl xtopology nonstop_ >>> tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes6 >>> 4 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xt >>> pr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_dead >>> line_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowp >>> refetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb st >>> ibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ >>> ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid >>> rdt_a avx512f avx512dq rdseed adx smap avx512ifma clfl >>> ushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl >>> xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm >>> ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp >>> hwp_pkg_req vnmi avx512vbmi umip pku ospke avx512_vbmi >>> 2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme av >>> x512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2i >> >> Sigh, I've been thinking. Here FSRM is the most significant difference between >> our environments, could you only try the following diff to see if there's any >> difference anymore? (without the previous disable patch.) >> >> diff --git a/arch/x86/lib/memmove_64.S b/arch/x86/lib/memmove_64.S >> index 1b60ae81ecd8..1b52a913233c 100644 >> --- a/arch/x86/lib/memmove_64.S >> +++ b/arch/x86/lib/memmove_64.S >> @@ -41,9 +41,7 @@ SYM_FUNC_START(__memmove) >> #define CHECK_LEN cmp $0x20, %rdx; jb 1f >> #define MEMMOVE_BYTES movq %rdx, %rcx; rep movsb; RET >> .Lmemmove_begin_forward: >> - ALTERNATIVE_2 __stringify(CHECK_LEN), \ >> - __stringify(CHECK_LEN; MEMMOVE_BYTES), X86_FEATURE_ERMS, \ >> - __stringify(MEMMOVE_BYTES), X86_FEATURE_FSRM >> + CHECK_LEN >> >> /* >> * movsq instruction have many startup latency > > Yup, that also seems to fix it. > Are we looking at a potential memmove issue? I'm still analyzing this behavior as well as the root cause and I will also try to get a recent cloud server with FSRM myself to find more clues. Thanks, Gao Xiang From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8980BC4167B for ; Tue, 5 Dec 2023 14:35:02 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Sl3390X5Gz3cbw for ; Wed, 6 Dec 2023 01:35:01 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.alibaba.com (client-ip=115.124.30.112; helo=out30-112.freemail.mail.aliyun.com; envelope-from=hsiangkao@linux.alibaba.com; receiver=lists.ozlabs.org) Received: from out30-112.freemail.mail.aliyun.com (out30-112.freemail.mail.aliyun.com [115.124.30.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Sl3300Gnhz3cTF for ; Wed, 6 Dec 2023 01:34:48 +1100 (AEDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R231e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046056;MF=hsiangkao@linux.alibaba.com;NM=1;PH=DS;RN=6;SR=0;TI=SMTPD_---0VxuuXco_1701786878; Received: from 30.27.65.35(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0VxuuXco_1701786878) by smtp.aliyun-inc.com; Tue, 05 Dec 2023 22:34:40 +0800 Message-ID: <8597c64c-d26a-8073-9d00-b629bbb0ee33@linux.alibaba.com> Date: Tue, 5 Dec 2023 22:34:37 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: Weird EROFS data corruption To: Juhyung Park References: <5a0e8b44-6feb-b489-cdea-e3be3811804a@linux.alibaba.com> <649a3bc4-58bb-1dc8-85fb-a56e47b3d5c9@linux.alibaba.com> <275f025d-e2f1-eaff-6af1-e909d370cee0@linux.alibaba.com> From: Gao Xiang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: linux-erofs@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development of Linux EROFS file system List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yann Collet , linux-erofs@lists.ozlabs.org, linux-crypto@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Errors-To: linux-erofs-bounces+linux-erofs=archiver.kernel.org@lists.ozlabs.org Sender: "Linux-erofs" On 2023/12/5 22:23, Juhyung Park wrote: > Hi Gao, > > On Tue, Dec 5, 2023 at 4:32 PM Gao Xiang wrote: >> >> Hi Juhyung, >> >> On 2023/12/4 11:41, Juhyung Park wrote: >> >> ... >>> >>>> >>>> - Could you share the full message about the output of `lscpu`? >>> >>> Sure: >>> >>> Architecture: x86_64 >>> CPU op-mode(s): 32-bit, 64-bit >>> Address sizes: 39 bits physical, 48 bits virtual >>> Byte Order: Little Endian >>> CPU(s): 8 >>> On-line CPU(s) list: 0-7 >>> Vendor ID: GenuineIntel >>> BIOS Vendor ID: Intel(R) Corporation >>> Model name: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz >>> BIOS Model name: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz None CPU >>> @ 3.0GHz >>> BIOS CPU family: 198 >>> CPU family: 6 >>> Model: 140 >>> Thread(s) per core: 2 >>> Core(s) per socket: 4 >>> Socket(s): 1 >>> Stepping: 1 >>> CPU(s) scaling MHz: 60% >>> CPU max MHz: 4800.0000 >>> CPU min MHz: 400.0000 >>> BogoMIPS: 5990.40 >>> Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc >>> a cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss >>> ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art >>> arch_perfmon pebs bts rep_good nopl xtopology nonstop_ >>> tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes6 >>> 4 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xt >>> pr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_dead >>> line_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowp >>> refetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb st >>> ibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ >>> ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid >>> rdt_a avx512f avx512dq rdseed adx smap avx512ifma clfl >>> ushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl >>> xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm >>> ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp >>> hwp_pkg_req vnmi avx512vbmi umip pku ospke avx512_vbmi >>> 2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme av >>> x512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2i >> >> Sigh, I've been thinking. Here FSRM is the most significant difference between >> our environments, could you only try the following diff to see if there's any >> difference anymore? (without the previous disable patch.) >> >> diff --git a/arch/x86/lib/memmove_64.S b/arch/x86/lib/memmove_64.S >> index 1b60ae81ecd8..1b52a913233c 100644 >> --- a/arch/x86/lib/memmove_64.S >> +++ b/arch/x86/lib/memmove_64.S >> @@ -41,9 +41,7 @@ SYM_FUNC_START(__memmove) >> #define CHECK_LEN cmp $0x20, %rdx; jb 1f >> #define MEMMOVE_BYTES movq %rdx, %rcx; rep movsb; RET >> .Lmemmove_begin_forward: >> - ALTERNATIVE_2 __stringify(CHECK_LEN), \ >> - __stringify(CHECK_LEN; MEMMOVE_BYTES), X86_FEATURE_ERMS, \ >> - __stringify(MEMMOVE_BYTES), X86_FEATURE_FSRM >> + CHECK_LEN >> >> /* >> * movsq instruction have many startup latency > > Yup, that also seems to fix it. > Are we looking at a potential memmove issue? I'm still analyzing this behavior as well as the root cause and I will also try to get a recent cloud server with FSRM myself to find more clues. Thanks, Gao Xiang From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2C516C4167B for ; Tue, 5 Dec 2023 14:34:55 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1rAWVg-0003Op-Gy; Tue, 05 Dec 2023 14:34:53 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1rAWVf-0003Oi-3B for linux-f2fs-devel@lists.sourceforge.net; Tue, 05 Dec 2023 14:34:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=u+Du7cucPLhbmuhTa+ORKwbIMMC4S+uCfwGtb55BFN4=; b=gtWbPSF+vcfffJgvgZD1Rz3h4C eA+3Uh3zbvMrZaB0hwUDBXRKEDyvsQ6D1w05+qpFCvkYLCKiWvKlfbE12pw5cvpaWiZwkhpP9Ui3R J/WWx1r7JLjaotN82fyLS7SvBqXm1PR/NGPhtZEyeeGl2JsXJfEI7ONNtORxBWSuxH/g=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=u+Du7cucPLhbmuhTa+ORKwbIMMC4S+uCfwGtb55BFN4=; b=TfSOSSP8KhOje5UI+xAKsYzgAi R9yEri0ZQLFfpS5EjcmW0/7R7cW7gedO8XaFGvbTxwN9xag4ZF44HO1/z9PiEQdxlDbgdAtQP1yNu 1B8diTlh9VnTqIohtXPTH89Mki0k6TVWoaSo7lXAXJlmyBAt4VW+3DSp8ezfWImHCwVc=; Received: from out30-118.freemail.mail.aliyun.com ([115.124.30.118]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1rAWVe-0006YJ-Ex for linux-f2fs-devel@lists.sourceforge.net; Tue, 05 Dec 2023 14:34:51 +0000 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R231e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=ay29a033018046056; MF=hsiangkao@linux.alibaba.com; NM=1; PH=DS; RN=6; SR=0; TI=SMTPD_---0VxuuXco_1701786878; Received: from 30.27.65.35(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0VxuuXco_1701786878) by smtp.aliyun-inc.com; Tue, 05 Dec 2023 22:34:40 +0800 Message-ID: <8597c64c-d26a-8073-9d00-b629bbb0ee33@linux.alibaba.com> Date: Tue, 5 Dec 2023 22:34:37 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 To: Juhyung Park References: <5a0e8b44-6feb-b489-cdea-e3be3811804a@linux.alibaba.com> <649a3bc4-58bb-1dc8-85fb-a56e47b3d5c9@linux.alibaba.com> <275f025d-e2f1-eaff-6af1-e909d370cee0@linux.alibaba.com> From: Gao Xiang In-Reply-To: X-Headers-End: 1rAWVe-0006YJ-Ex Subject: Re: [f2fs-dev] Weird EROFS data corruption X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yann Collet , Gao Xiang , linux-erofs@lists.ozlabs.org, linux-crypto@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net CgpPbiAyMDIzLzEyLzUgMjI6MjMsIEp1aHl1bmcgUGFyayB3cm90ZToKPiBIaSBHYW8sCj4gCj4g T24gVHVlLCBEZWMgNSwgMjAyMyBhdCA0OjMy4oCvUE0gR2FvIFhpYW5nIDxoc2lhbmdrYW9AbGlu dXguYWxpYmFiYS5jb20+IHdyb3RlOgo+Pgo+PiBIaSBKdWh5dW5nLAo+Pgo+PiBPbiAyMDIzLzEy LzQgMTE6NDEsIEp1aHl1bmcgUGFyayB3cm90ZToKPj4KPj4gLi4uCj4+Pgo+Pj4+Cj4+Pj4gLSBD b3VsZCB5b3Ugc2hhcmUgdGhlIGZ1bGwgbWVzc2FnZSBhYm91dCB0aGUgb3V0cHV0IG9mIGBsc2Nw dWA/Cj4+Pgo+Pj4gU3VyZToKPj4+Cj4+PiBBcmNoaXRlY3R1cmU6ICAgICAgICAgICAgeDg2XzY0 Cj4+PiAgICAgQ1BVIG9wLW1vZGUocyk6ICAgICAgICAzMi1iaXQsIDY0LWJpdAo+Pj4gICAgIEFk ZHJlc3Mgc2l6ZXM6ICAgICAgICAgMzkgYml0cyBwaHlzaWNhbCwgNDggYml0cyB2aXJ0dWFsCj4+ PiAgICAgQnl0ZSBPcmRlcjogICAgICAgICAgICBMaXR0bGUgRW5kaWFuCj4+PiBDUFUocyk6ICAg ICAgICAgICAgICAgICAgOAo+Pj4gICAgIE9uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMC03Cj4+PiBW ZW5kb3IgSUQ6ICAgICAgICAgICAgICAgR2VudWluZUludGVsCj4+PiAgICAgQklPUyBWZW5kb3Ig SUQ6ICAgICAgICBJbnRlbChSKSBDb3Jwb3JhdGlvbgo+Pj4gICAgIE1vZGVsIG5hbWU6ICAgICAg ICAgICAgMTF0aCBHZW4gSW50ZWwoUikgQ29yZShUTSkgaTctMTE4NUc3IEAgMy4wMEdIego+Pj4g ICAgICAgQklPUyBNb2RlbCBuYW1lOiAgICAgMTF0aCBHZW4gSW50ZWwoUikgQ29yZShUTSkgaTct MTE4NUc3IEAgMy4wMEdIeiBOb25lIENQVQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg IEAgMy4wR0h6Cj4+PiAgICAgICBCSU9TIENQVSBmYW1pbHk6ICAgICAxOTgKPj4+ICAgICAgIENQ VSBmYW1pbHk6ICAgICAgICAgIDYKPj4+ICAgICAgIE1vZGVsOiAgICAgICAgICAgICAgIDE0MAo+ Pj4gICAgICAgVGhyZWFkKHMpIHBlciBjb3JlOiAgMgo+Pj4gICAgICAgQ29yZShzKSBwZXIgc29j a2V0OiAgNAo+Pj4gICAgICAgU29ja2V0KHMpOiAgICAgICAgICAgMQo+Pj4gICAgICAgU3RlcHBp bmc6ICAgICAgICAgICAgMQo+Pj4gICAgICAgQ1BVKHMpIHNjYWxpbmcgTUh6OiAgNjAlCj4+PiAg ICAgICBDUFUgbWF4IE1IejogICAgICAgICA0ODAwLjAwMDAKPj4+ICAgICAgIENQVSBtaW4gTUh6 OiAgICAgICAgIDQwMC4wMDAwCj4+PiAgICAgICBCb2dvTUlQUzogICAgICAgICAgICA1OTkwLjQw Cj4+PiAgICAgICBGbGFnczogICAgICAgICAgICAgICBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBh ZSBtY2UgY3g4IGFwaWMgc2VwIG10cnIgcGdlIG1jCj4+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhIGNtb3YgcGF0IHBzZTM2IGNsZmx1c2ggZHRzIGFjcGkgbW14IGZ4c3Igc3NlIHNzZTIg c3MKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0IHRtIHBiZSBzeXNjYWxsIG54IHBk cGUxZ2IgcmR0c2NwIGxtIGNvbnN0YW50X3RzYyBhcnQKPj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhcmNoX3BlcmZtb24gcGVicyBidHMgcmVwX2dvb2Qgbm9wbCB4dG9wb2xvZ3kgbm9u c3RvcF8KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzYyBjcHVpZCBhcGVyZm1wZXJm IHRzY19rbm93bl9mcmVxIHBuaSBwY2xtdWxxZHEgZHRlczYKPj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDQgbW9uaXRvciBkc19jcGwgdm14IHNteCBlc3QgdG0yIHNzc2UzIHNkYmcgZm1h IGN4MTYgeHQKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByIHBkY20gcGNpZCBzc2U0 XzEgc3NlNF8yIHgyYXBpYyBtb3ZiZSBwb3BjbnQgdHNjX2RlYWQKPj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpbmVfdGltZXIgYWVzIHhzYXZlIGF2eCBmMTZjIHJkcmFuZCBsYWhmX2xt IGFibSAzZG5vd3AKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmV0Y2ggY3B1aWRf ZmF1bHQgZXBiIGNhdF9sMiBjZHBfbDIgc3NiZCBpYnJzIGlicGIgc3QKPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlicCBpYnJzX2VuaGFuY2VkIHRwcl9zaGFkb3cgZmxleHByaW9yaXR5 IGVwdCB2cGlkIGVwdF8KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkIGZzZ3NiYXNl IHRzY19hZGp1c3QgYm1pMSBhdngyIHNtZXAgYm1pMiBlcm1zIGludnBjaWQKPj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZHRfYSBhdng1MTJmIGF2eDUxMmRxIHJkc2VlZCBhZHggc21h cCBhdng1MTJpZm1hIGNsZmwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaG9wdCBj bHdiIGludGVsX3B0IGF2eDUxMmNkIHNoYV9uaSBhdng1MTJidyBhdng1MTJ2bAo+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgeHNhdmVvcHQgeHNhdmVjIHhnZXRidjEgeHNhdmVzIHNwbGl0 X2xvY2tfZGV0ZWN0IGR0aGVybQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkYSBh cmF0IHBsbiBwdHMgaHdwIGh3cF9ub3RpZnkgaHdwX2FjdF93aW5kb3cgaHdwX2VwcAo+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGh3cF9wa2dfcmVxIHZubWkgYXZ4NTEydmJtaSB1bWlw IHBrdSBvc3BrZSBhdng1MTJfdmJtaQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMiBn Zm5pIHZhZXMgdnBjbG11bHFkcSBhdng1MTJfdm5uaSBhdng1MTJfYml0YWxnIHRtZSBhdgo+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgeDUxMl92cG9wY250ZHEgcmRwaWQgbW92ZGlyaSBt b3ZkaXI2NGIgZnNybSBhdng1MTJfdnAyaQo+Pgo+PiBTaWdoLCBJJ3ZlIGJlZW4gdGhpbmtpbmcu ICBIZXJlIEZTUk0gaXMgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZSBiZXR3ZWVuCj4+ IG91ciBlbnZpcm9ubWVudHMsIGNvdWxkIHlvdSBvbmx5IHRyeSB0aGUgZm9sbG93aW5nIGRpZmYg dG8gc2VlIGlmIHRoZXJlJ3MgYW55Cj4+IGRpZmZlcmVuY2UgYW55bW9yZT8gKHdpdGhvdXQgdGhl IHByZXZpb3VzIGRpc2FibGUgcGF0Y2guKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGli L21lbW1vdmVfNjQuUyBiL2FyY2gveDg2L2xpYi9tZW1tb3ZlXzY0LlMKPj4gaW5kZXggMWI2MGFl ODFlY2Q4Li4xYjUyYTkxMzIzM2MgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gveDg2L2xpYi9tZW1tb3Zl XzY0LlMKPj4gKysrIGIvYXJjaC94ODYvbGliL21lbW1vdmVfNjQuUwo+PiBAQCAtNDEsOSArNDEs NyBAQCBTWU1fRlVOQ19TVEFSVChfX21lbW1vdmUpCj4+ICAgICNkZWZpbmUgQ0hFQ0tfTEVOICAg ICBjbXAgJDB4MjAsICVyZHg7IGpiIDFmCj4+ICAgICNkZWZpbmUgTUVNTU9WRV9CWVRFUyBtb3Zx ICVyZHgsICVyY3g7IHJlcCBtb3ZzYjsgUkVUCj4+ICAgIC5MbWVtbW92ZV9iZWdpbl9mb3J3YXJk Ogo+PiAtICAgICAgIEFMVEVSTkFUSVZFXzIgX19zdHJpbmdpZnkoQ0hFQ0tfTEVOKSwgXAo+PiAt ICAgICAgICAgICAgICAgICAgICAgX19zdHJpbmdpZnkoQ0hFQ0tfTEVOOyBNRU1NT1ZFX0JZVEVT KSwgWDg2X0ZFQVRVUkVfRVJNUywgXAo+PiAtICAgICAgICAgICAgICAgICAgICAgX19zdHJpbmdp ZnkoTUVNTU9WRV9CWVRFUyksIFg4Nl9GRUFUVVJFX0ZTUk0KPj4gKyAgICAgICBDSEVDS19MRU4K Pj4KPj4gICAgICAgICAgLyoKPj4gICAgICAgICAgICogbW92c3EgaW5zdHJ1Y3Rpb24gaGF2ZSBt YW55IHN0YXJ0dXAgbGF0ZW5jeQo+IAo+IFl1cCwgdGhhdCBhbHNvIHNlZW1zIHRvIGZpeCBpdC4K PiBBcmUgd2UgbG9va2luZyBhdCBhIHBvdGVudGlhbCBtZW1tb3ZlIGlzc3VlPwoKSSdtIHN0aWxs IGFuYWx5emluZyB0aGlzIGJlaGF2aW9yIGFzIHdlbGwgYXMgdGhlIHJvb3QgY2F1c2UgYW5kCkkg d2lsbCBhbHNvIHRyeSB0byBnZXQgYSByZWNlbnQgY2xvdWQgc2VydmVyIHdpdGggRlNSTSBteXNl bGYKdG8gZmluZCBtb3JlIGNsdWVzLgoKVGhhbmtzLApHYW8gWGlhbmcKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1mMmZzLWRldmVsIG1haWxp bmcgbGlzdApMaW51eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xp c3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCg==