All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <5050805753ac469e8d727c797c2218a9d780d434.camel@mediatek.com>

diff --git a/N1/1.bin b/N1/1.bin
new file mode 100644
index 0000000..b9067a6
--- /dev/null
+++ b/N1/1.bin
@@ -0,0 +1,136 @@
+<pre>
+Hi,
+
+We&#32;meet&#32;the&#32;mass&#32;MTE&#32;errors&#32;happened&#32;in&#32;Android&#32;T&#32;with&#32;kernel-6.1.
+
+When&#32;the&#32;system&#32;is&#32;under&#32;memory&#32;pressure,&#32;the&#32;MTE&#32;often&#32;triggers&#32;some
+error&#32;reporting&#32;in&#32;userspace.
+
+Like&#32;the&#32;tombstone&#32;below,&#32;there&#32;are&#32;many&#32;reports&#32;with&#32;the&#32;acllocation
+tags&#32;of&#32;0:
+
+Build&#32;fingerprint:
+&#39;alps/vext_k6897v1_64/k6897v1_64:13/TP1A.220624.014/mp2ofp23:userdebug/
+dev-keys&#39;
+Revision:&#32;&#39;0&#39;
+ABI:&#32;&#39;arm64&#39;
+Timestamp:&#32;2023-03-14&#32;06:39:40.344251744+0800
+Process&#32;uptime:&#32;0s
+Cmdline:&#32;/vendor/bin/hw/camerahalserver
+pid:&#32;988,&#32;tid:&#32;1395,&#32;name:&#32;binder:988_3&#32;&#32;&gt;&gt;&gt;
+/vendor/bin/hw/camerahalserver&#32;&lt;&lt;&lt;
+uid:&#32;1047
+tagged_addr_ctrl:&#32;000000000007fff3&#32;(PR_TAGGED_ADDR_ENABLE,
+PR_MTE_TCF_SYNC,&#32;mask&#32;0xfffe)
+signal&#32;11&#32;(SIGSEGV),&#32;code&#32;9&#32;(SEGV_MTESERR),&#32;fault&#32;addr
+0x0d000075f1d8d7f0
+&#32;&#32;&#32;&#32;x0&#32;&#32;00000075018d3fb0&#32;&#32;x1&#32;&#32;00000000c0306201&#32;&#32;x2&#32;&#32;00000075018d3ae8&#32;&#32;x
+3&#32;&#32;000000000000720c
+&#32;&#32;&#32;&#32;x4&#32;&#32;0000000000000000&#32;&#32;x5&#32;&#32;0000000000000000&#32;&#32;x6&#32;&#32;00000642000004fe&#32;&#32;x
+7&#32;&#32;0000054600000630
+&#32;&#32;&#32;&#32;x8&#32;&#32;00000000fffffff2&#32;&#32;x9&#32;&#32;b34a1094e7e33c3f&#32;&#32;x10
+00000075018d3a80&#32;&#32;x11&#32;00000075018d3a50
+&#32;&#32;&#32;&#32;x12&#32;ffffff80ffffffd0&#32;&#32;x13&#32;0000061e0000072c&#32;&#32;x14
+0000000000000004&#32;&#32;x15&#32;0000000000000000
+&#32;&#32;&#32;&#32;x16&#32;00000077f2dfcd78&#32;&#32;x17&#32;00000077da3a8ff0&#32;&#32;x18
+00000075011bc000&#32;&#32;x19&#32;0d000075f1d8d898
+&#32;&#32;&#32;&#32;x20&#32;0d000075f1d8d7f0&#32;&#32;x21&#32;0d000075f1d8d910&#32;&#32;x22
+0000000000000000&#32;&#32;x23&#32;00000000fffffff7
+&#32;&#32;&#32;&#32;x24&#32;00000075018d4000&#32;&#32;x25&#32;0000000000000000&#32;&#32;x26
+00000075018d3ff8&#32;&#32;x27&#32;00000000000fc000
+&#32;&#32;&#32;&#32;x28&#32;00000000000fe000&#32;&#32;x29&#32;00000075018d3b20
+&#32;&#32;&#32;&#32;lr&#32;&#32;00000077f2d9f164&#32;&#32;sp&#32;&#32;00000075018d3ad0&#32;&#32;pc&#32;&#32;00000077f2d9f134&#32;&#32;p
+st&#32;0000000080001000
+
+backtrace:
+&#32;&#32;&#32;&#32;&#32;&#32;#00&#32;pc&#32;000000000005d134&#32;&#32;/system/lib64/libbinder.so
+(android::IPCThreadState::talkWithDriver(bool)+244)&#32;(BuildId:
+8b5612259e4a42521c430456ec5939c7)
+&#32;&#32;&#32;&#32;&#32;&#32;#01&#32;pc&#32;000000000005d448&#32;&#32;/system/lib64/libbinder.so
+(android::IPCThreadState::getAndExecuteCommand()+24)&#32;(BuildId:
+8b5612259e4a42521c430456ec5939c7)
+&#32;&#32;&#32;&#32;&#32;&#32;#02&#32;pc&#32;000000000005dd64&#32;&#32;/system/lib64/libbinder.so
+(android::IPCThreadState::joinThreadPool(bool)+68)&#32;(BuildId:
+8b5612259e4a42521c430456ec5939c7)
+&#32;&#32;&#32;&#32;&#32;&#32;#03&#32;pc&#32;000000000008dba8&#32;&#32;/system/lib64/libbinder.so
+(android::PoolThread::threadLoop()+24)&#32;(BuildId:
+8b5612259e4a42521c430456ec5939c7)
+&#32;&#32;&#32;&#32;&#32;&#32;#04&#32;pc&#32;0000000000013440&#32;&#32;/system/lib64/libutils.so
+(android::Thread::_threadLoop(void*)+416)&#32;(BuildId:
+10aac5d4a671e4110bc00c9b69d83d8a)
+&#32;&#32;&#32;&#32;&#32;&#32;#05&#32;pc
+00000000000c14cc&#32;&#32;/apex/com.android.runtime/lib64/bionic/libc.so
+(__pthread_start(void*)+204)&#32;(BuildId:
+718ecc04753b519b0f6289a7a2fcf117)
+&#32;&#32;&#32;&#32;&#32;&#32;#06&#32;pc
+0000000000054930&#32;&#32;/apex/com.android.runtime/lib64/bionic/libc.so
+(__start_thread+64)&#32;(BuildId:&#32;718ecc04753b519b0f6289a7a2fcf117)
+
+Memory&#32;tags&#32;around&#32;the&#32;fault&#32;address&#32;(0xd000075f1d8d7f0),&#32;one&#32;tag&#32;per
+16&#32;bytes:
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8cf00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d000:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d100:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d200:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d300:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d400:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d500:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d600:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;=&gt;0x75f1d8d700:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;[0]
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d800:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d900:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8da00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8db00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8dc00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8dd00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8de00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0
+
+Also&#32;happens&#32;in&#32;coredump.
+
+This&#32;problem&#32;only&#32;occurs&#32;when&#32;ZRAM&#32;is&#32;enabled,&#32;so&#32;we&#32;think&#32;there&#32;are
+some&#32;issues&#32;regarding&#32;swap&#32;in/out.
+
+Having&#32;compared&#32;the&#32;differences&#32;between&#32;Kernel-5.15&#32;and&#32;Kernel-6.1,
+We&#32;found&#32;the&#32;order&#32;of&#32;swap_free()&#32;and&#32;set_pte_at()&#32;is&#32;changed&#32;in
+do_swap_page().
+
+When&#32;fault&#32;in,&#32;do_swap_page()&#32;will&#32;call&#32;swap_free()&#32;first:
+do_swap_page()&#32;-&gt;&#32;swap_free()&#32;-&gt;&#32;__swap_entry_free()&#32;-&gt;
+free_swap_slot()&#32;-&gt;&#32;swapcache_free_entries()&#32;-&gt;&#32;swap_entry_free()&#32;-&gt;
+swap_range_free()&#32;-&gt;&#32;arch_swap_invalidate_page()&#32;-&gt;
+mte_invalidate_tags_area()&#32;-&gt;&#32;&#32;mte_invalidate_tags()&#32;-&gt;&#32;xa_erase()
+
+and&#32;then&#32;call&#32;set_pte_at():
+do_swap_page()&#32;-&gt;&#32;set_pte_at()&#32;-&gt;&#32;__set_pte_at()&#32;-&gt;&#32;mte_sync_tags()&#32;-&gt;
+mte_sync_page_tags()&#32;-&gt;&#32;mte_restore_tags()&#32;-&gt;&#32;xa_load()
+
+This&#32;means&#32;that&#32;the&#32;swap&#32;slot&#32;is&#32;invalidated&#32;before&#32;pte&#32;mapping,&#32;and
+this&#32;will&#32;cause&#32;the&#32;mte&#32;tag&#32;in&#32;XArray&#32;to&#32;be&#32;released&#32;before&#32;tag
+restore.
+
+After&#32;I&#32;moved&#32;swap_free()&#32;to&#32;the&#32;next&#32;line&#32;of&#32;set_pte_at(),&#32;the&#32;problem
+is&#32;disappeared.
+
+We&#32;suspect&#32;that&#32;the&#32;following&#32;patches,&#32;which&#32;have&#32;changed&#32;the&#32;order,&#32;do
+not&#32;consider&#32;the&#32;mte&#32;tag&#32;restoring&#32;in&#32;page&#32;fault&#32;flow:
+https://lore.kernel.org/all/20220131162940.210846-5-david@redhat.com/
+
+Any&#32;suggestion&#32;is&#32;appreciated.
+
+Thank&#32;you.
+
+</pre><!--type:text--><!--{--><pre>*********** MEDIATEK Confidentiality Notice
+ ***********
+The information contained in this e-mail message (including any 
+attachments) may be confidential, proprietary, privileged, or 
+otherwise exempt from disclosure under applicable laws. It is 
+intended to be conveyed only to the designated recipient(s). Any 
+use, dissemination, distribution, printing, retaining or copying 
+of this e-mail (including its attachments) by unintended recipient(s) 
+is strictly prohibited and may be unlawful. If you are not an 
+intended recipient of this e-mail, or believe that you have received 
+this e-mail in error, please notify the sender immediately 
+(by replying to this e-mail), delete any and all copies of this 
+e-mail (including any attachments) from your system, and do not 
+disclose the content of this e-mail to any other person. Thank you!
+</pre><!--}-->
\ No newline at end of file
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..45d76fc
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,3 @@
+Content-Type: text/plain;
+	charset="utf-8"
+Content-Transfer-Encoding: base64
diff --git a/a/1.txt b/N1/2.txt
similarity index 100%
rename from a/1.txt
rename to N1/2.txt
diff --git a/a/content_digest b/N1/content_digest
index a182728..9e7d403 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -23,7 +23,151 @@
   " gregkh\@linuxfoundation.org <gregkh\@linuxfoundation.org>\0"
 ]
 [
-  "\0000:1\0"
+  "\0001:1\0"
+]
+[
+  "b\0"
+]
+[
+  "<pre>\r\n",
+  "Hi,\r\n",
+  "\r\n",
+  "We&#32;meet&#32;the&#32;mass&#32;MTE&#32;errors&#32;happened&#32;in&#32;Android&#32;T&#32;with&#32;kernel-6.1.\r\n",
+  "\r\n",
+  "When&#32;the&#32;system&#32;is&#32;under&#32;memory&#32;pressure,&#32;the&#32;MTE&#32;often&#32;triggers&#32;some\r\n",
+  "error&#32;reporting&#32;in&#32;userspace.\r\n",
+  "\r\n",
+  "Like&#32;the&#32;tombstone&#32;below,&#32;there&#32;are&#32;many&#32;reports&#32;with&#32;the&#32;acllocation\r\n",
+  "tags&#32;of&#32;0:\r\n",
+  "\r\n",
+  "Build&#32;fingerprint:\r\n",
+  "&#39;alps/vext_k6897v1_64/k6897v1_64:13/TP1A.220624.014/mp2ofp23:userdebug/\r\n",
+  "dev-keys&#39;\r\n",
+  "Revision:&#32;&#39;0&#39;\r\n",
+  "ABI:&#32;&#39;arm64&#39;\r\n",
+  "Timestamp:&#32;2023-03-14&#32;06:39:40.344251744+0800\r\n",
+  "Process&#32;uptime:&#32;0s\r\n",
+  "Cmdline:&#32;/vendor/bin/hw/camerahalserver\r\n",
+  "pid:&#32;988,&#32;tid:&#32;1395,&#32;name:&#32;binder:988_3&#32;&#32;&gt;&gt;&gt;\r\n",
+  "/vendor/bin/hw/camerahalserver&#32;&lt;&lt;&lt;\r\n",
+  "uid:&#32;1047\r\n",
+  "tagged_addr_ctrl:&#32;000000000007fff3&#32;(PR_TAGGED_ADDR_ENABLE,\r\n",
+  "PR_MTE_TCF_SYNC,&#32;mask&#32;0xfffe)\r\n",
+  "signal&#32;11&#32;(SIGSEGV),&#32;code&#32;9&#32;(SEGV_MTESERR),&#32;fault&#32;addr\r\n",
+  "0x0d000075f1d8d7f0\r\n",
+  "&#32;&#32;&#32;&#32;x0&#32;&#32;00000075018d3fb0&#32;&#32;x1&#32;&#32;00000000c0306201&#32;&#32;x2&#32;&#32;00000075018d3ae8&#32;&#32;x\r\n",
+  "3&#32;&#32;000000000000720c\r\n",
+  "&#32;&#32;&#32;&#32;x4&#32;&#32;0000000000000000&#32;&#32;x5&#32;&#32;0000000000000000&#32;&#32;x6&#32;&#32;00000642000004fe&#32;&#32;x\r\n",
+  "7&#32;&#32;0000054600000630\r\n",
+  "&#32;&#32;&#32;&#32;x8&#32;&#32;00000000fffffff2&#32;&#32;x9&#32;&#32;b34a1094e7e33c3f&#32;&#32;x10\r\n",
+  "00000075018d3a80&#32;&#32;x11&#32;00000075018d3a50\r\n",
+  "&#32;&#32;&#32;&#32;x12&#32;ffffff80ffffffd0&#32;&#32;x13&#32;0000061e0000072c&#32;&#32;x14\r\n",
+  "0000000000000004&#32;&#32;x15&#32;0000000000000000\r\n",
+  "&#32;&#32;&#32;&#32;x16&#32;00000077f2dfcd78&#32;&#32;x17&#32;00000077da3a8ff0&#32;&#32;x18\r\n",
+  "00000075011bc000&#32;&#32;x19&#32;0d000075f1d8d898\r\n",
+  "&#32;&#32;&#32;&#32;x20&#32;0d000075f1d8d7f0&#32;&#32;x21&#32;0d000075f1d8d910&#32;&#32;x22\r\n",
+  "0000000000000000&#32;&#32;x23&#32;00000000fffffff7\r\n",
+  "&#32;&#32;&#32;&#32;x24&#32;00000075018d4000&#32;&#32;x25&#32;0000000000000000&#32;&#32;x26\r\n",
+  "00000075018d3ff8&#32;&#32;x27&#32;00000000000fc000\r\n",
+  "&#32;&#32;&#32;&#32;x28&#32;00000000000fe000&#32;&#32;x29&#32;00000075018d3b20\r\n",
+  "&#32;&#32;&#32;&#32;lr&#32;&#32;00000077f2d9f164&#32;&#32;sp&#32;&#32;00000075018d3ad0&#32;&#32;pc&#32;&#32;00000077f2d9f134&#32;&#32;p\r\n",
+  "st&#32;0000000080001000\r\n",
+  "\r\n",
+  "backtrace:\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#00&#32;pc&#32;000000000005d134&#32;&#32;/system/lib64/libbinder.so\r\n",
+  "(android::IPCThreadState::talkWithDriver(bool)+244)&#32;(BuildId:\r\n",
+  "8b5612259e4a42521c430456ec5939c7)\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#01&#32;pc&#32;000000000005d448&#32;&#32;/system/lib64/libbinder.so\r\n",
+  "(android::IPCThreadState::getAndExecuteCommand()+24)&#32;(BuildId:\r\n",
+  "8b5612259e4a42521c430456ec5939c7)\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#02&#32;pc&#32;000000000005dd64&#32;&#32;/system/lib64/libbinder.so\r\n",
+  "(android::IPCThreadState::joinThreadPool(bool)+68)&#32;(BuildId:\r\n",
+  "8b5612259e4a42521c430456ec5939c7)\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#03&#32;pc&#32;000000000008dba8&#32;&#32;/system/lib64/libbinder.so\r\n",
+  "(android::PoolThread::threadLoop()+24)&#32;(BuildId:\r\n",
+  "8b5612259e4a42521c430456ec5939c7)\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#04&#32;pc&#32;0000000000013440&#32;&#32;/system/lib64/libutils.so\r\n",
+  "(android::Thread::_threadLoop(void*)+416)&#32;(BuildId:\r\n",
+  "10aac5d4a671e4110bc00c9b69d83d8a)\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#05&#32;pc\r\n",
+  "00000000000c14cc&#32;&#32;/apex/com.android.runtime/lib64/bionic/libc.so\r\n",
+  "(__pthread_start(void*)+204)&#32;(BuildId:\r\n",
+  "718ecc04753b519b0f6289a7a2fcf117)\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;#06&#32;pc\r\n",
+  "0000000000054930&#32;&#32;/apex/com.android.runtime/lib64/bionic/libc.so\r\n",
+  "(__start_thread+64)&#32;(BuildId:&#32;718ecc04753b519b0f6289a7a2fcf117)\r\n",
+  "\r\n",
+  "Memory&#32;tags&#32;around&#32;the&#32;fault&#32;address&#32;(0xd000075f1d8d7f0),&#32;one&#32;tag&#32;per\r\n",
+  "16&#32;bytes:\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8cf00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d000:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d100:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d200:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d300:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d400:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d500:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d600:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;=&gt;0x75f1d8d700:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;[0]\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d800:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8d900:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8da00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8db00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8dc00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8dd00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "&#32;&#32;&#32;&#32;&#32;&#32;0x75f1d8de00:&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0&#32;&#32;0\r\n",
+  "\r\n",
+  "Also&#32;happens&#32;in&#32;coredump.\r\n",
+  "\r\n",
+  "This&#32;problem&#32;only&#32;occurs&#32;when&#32;ZRAM&#32;is&#32;enabled,&#32;so&#32;we&#32;think&#32;there&#32;are\r\n",
+  "some&#32;issues&#32;regarding&#32;swap&#32;in/out.\r\n",
+  "\r\n",
+  "Having&#32;compared&#32;the&#32;differences&#32;between&#32;Kernel-5.15&#32;and&#32;Kernel-6.1,\r\n",
+  "We&#32;found&#32;the&#32;order&#32;of&#32;swap_free()&#32;and&#32;set_pte_at()&#32;is&#32;changed&#32;in\r\n",
+  "do_swap_page().\r\n",
+  "\r\n",
+  "When&#32;fault&#32;in,&#32;do_swap_page()&#32;will&#32;call&#32;swap_free()&#32;first:\r\n",
+  "do_swap_page()&#32;-&gt;&#32;swap_free()&#32;-&gt;&#32;__swap_entry_free()&#32;-&gt;\r\n",
+  "free_swap_slot()&#32;-&gt;&#32;swapcache_free_entries()&#32;-&gt;&#32;swap_entry_free()&#32;-&gt;\r\n",
+  "swap_range_free()&#32;-&gt;&#32;arch_swap_invalidate_page()&#32;-&gt;\r\n",
+  "mte_invalidate_tags_area()&#32;-&gt;&#32;&#32;mte_invalidate_tags()&#32;-&gt;&#32;xa_erase()\r\n",
+  "\r\n",
+  "and&#32;then&#32;call&#32;set_pte_at():\r\n",
+  "do_swap_page()&#32;-&gt;&#32;set_pte_at()&#32;-&gt;&#32;__set_pte_at()&#32;-&gt;&#32;mte_sync_tags()&#32;-&gt;\r\n",
+  "mte_sync_page_tags()&#32;-&gt;&#32;mte_restore_tags()&#32;-&gt;&#32;xa_load()\r\n",
+  "\r\n",
+  "This&#32;means&#32;that&#32;the&#32;swap&#32;slot&#32;is&#32;invalidated&#32;before&#32;pte&#32;mapping,&#32;and\r\n",
+  "this&#32;will&#32;cause&#32;the&#32;mte&#32;tag&#32;in&#32;XArray&#32;to&#32;be&#32;released&#32;before&#32;tag\r\n",
+  "restore.\r\n",
+  "\r\n",
+  "After&#32;I&#32;moved&#32;swap_free()&#32;to&#32;the&#32;next&#32;line&#32;of&#32;set_pte_at(),&#32;the&#32;problem\r\n",
+  "is&#32;disappeared.\r\n",
+  "\r\n",
+  "We&#32;suspect&#32;that&#32;the&#32;following&#32;patches,&#32;which&#32;have&#32;changed&#32;the&#32;order,&#32;do\r\n",
+  "not&#32;consider&#32;the&#32;mte&#32;tag&#32;restoring&#32;in&#32;page&#32;fault&#32;flow:\r\n",
+  "https://lore.kernel.org/all/20220131162940.210846-5-david\@redhat.com/\r\n",
+  "\r\n",
+  "Any&#32;suggestion&#32;is&#32;appreciated.\r\n",
+  "\r\n",
+  "Thank&#32;you.\r\n",
+  "\r\n",
+  "</pre><!--type:text--><!--{--><pre>*********** MEDIATEK Confidentiality Notice\r\n",
+  " ***********\r\n",
+  "The information contained in this e-mail message (including any \r\n",
+  "attachments) may be confidential, proprietary, privileged, or \r\n",
+  "otherwise exempt from disclosure under applicable laws. It is \r\n",
+  "intended to be conveyed only to the designated recipient(s). Any \r\n",
+  "use, dissemination, distribution, printing, retaining or copying \r\n",
+  "of this e-mail (including its attachments) by unintended recipient(s) \r\n",
+  "is strictly prohibited and may be unlawful. If you are not an \r\n",
+  "intended recipient of this e-mail, or believe that you have received \r\n",
+  "this e-mail in error, please notify the sender immediately \r\n",
+  "(by replying to this e-mail), delete any and all copies of this \r\n",
+  "e-mail (including any attachments) from your system, and do not \r\n",
+  "disclose the content of this e-mail to any other person. Thank you!\r\n",
+  "</pre><!--}-->"
+]
+[
+  "\0001:2\0"
 ]
 [
   "b\0"
@@ -150,4 +294,4 @@
   "Thank you."
 ]
 
-988f384ef3d532272c83ccf4030f815c7dfbb61abf8d8fa174384d72c855a3db
+df2332e744a263820e8601467bbb8c4767ae193266534411caabedfa1d4a6596

diff --git a/a/1.txt b/N2/1.txt
index 8af6e49..9d0ae1c 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -116,4 +116,8 @@ https://lore.kernel.org/all/20220131162940.210846-5-david@redhat.com/
 
 Any suggestion is appreciated.
 
-Thank you.
\ No newline at end of file
+Thank you.
+_______________________________________________
+linux-arm-kernel mailing list
+linux-arm-kernel@lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
\ No newline at end of file
diff --git a/a/content_digest b/N2/content_digest
index a182728..e320f15 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -147,7 +147,11 @@
   "\n",
   "Any suggestion is appreciated.\n",
   "\n",
-  "Thank you."
+  "Thank you.\n",
+  "_______________________________________________\n",
+  "linux-arm-kernel mailing list\n",
+  "linux-arm-kernel\@lists.infradead.org\n",
+  "http://lists.infradead.org/mailman/listinfo/linux-arm-kernel"
 ]
 
-988f384ef3d532272c83ccf4030f815c7dfbb61abf8d8fa174384d72c855a3db
+7da219fe959aba163b4899f81bcc9c6d109d971e13bbc6b8cf7f1daaf14d9f34

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.