Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Apr 10, 2024. It is now read-only.

Conversation

Aquarius223
Copy link
Contributor

In ("f2fs: rename /sys/fs/f2fs") mentions:
fsmgr and vold tries to read nodes from here and run GC by itself.

Since it conflicts with rapid GC(not to mention less effective), rename /sys/fs/f2fs to /sys/fs/f2fs_dev to avoid Android reading it entirely.

We could rename gc_urgent and dirty_segments but this approach seems better as it'll still be detected as a f2fs volume and try to run GC.

But also because of sysfs name change, we will lose AOSP F2FS tuning1.

Since our device is using ext4 by default, adding it to the device tree will add another useless warning, so it is hardcoded in the kernel

  • Aquarius223: Add instructions for xiaomi sdm845 device

Change-Id: I747e9e20371719055f5fd6abaf0e47645c99ac64

In ("f2fs: rename /sys/fs/f2fs") mentions:
fsmgr and vold tries to read nodes from here and run GC by itself.

Since it conflicts with rapid GC(not to mention less effective),
rename /sys/fs/f2fs to /sys/fs/f2fs_dev to avoid Android reading it entirely.

We could rename gc_urgent and dirty_segments but this approach seems better
as it'll still be detected as a f2fs volume and try to run GC.

But also because of sysfs name change, we will lose AOSP F2FS tuning[1].

Since our device is using ext4 by default, adding it to the device tree
will add another useless warning, so it is hardcoded in the kernel

[1]: https://android.googlesource.com/platform/system/core/+/refs/tags/android-13.0.0_r6/rootdir/init.rc#1094

* Aquarius223: Add instructions for xiaomi sdm845 device

Change-Id: I747e9e20371719055f5fd6abaf0e47645c99ac64
@jjpprrrr jjpprrrr merged commit f4b169b into PixelExperience-Devices:thirteen-wip Dec 10, 2022
@jjpprrrr
Copy link
Contributor

Thanks for submitting the patch. I also enabled iostat by default.

fd3cf71

jjpprrrr pushed a commit that referenced this pull request Jan 7, 2023
…g the sock

[ Upstream commit 3cf7203ca620682165706f70a1b12b5194607dce ]

There is a race condition in vxlan that when deleting a vxlan device
during receiving packets, there is a possibility that the sock is
released after getting vxlan_sock vs from sk_user_data. Then in
later vxlan_ecn_decapsulate(), vxlan_get_sk_family() we will got
NULL pointer dereference. e.g.

   #0 [ffffa25ec6978a38] machine_kexec at ffffffff8c669757
   #1 [ffffa25ec6978a90] __crash_kexec at ffffffff8c7c0a4d
   #2 [ffffa25ec6978b58] crash_kexec at ffffffff8c7c1c48
   #3 [ffffa25ec6978b60] oops_end at ffffffff8c627f2b
   #4 [ffffa25ec6978b80] page_fault_oops at ffffffff8c678fcb
   #5 [ffffa25ec6978bd8] exc_page_fault at ffffffff8d109542
   #6 [ffffa25ec6978c00] asm_exc_page_fault at ffffffff8d200b62
      [exception RIP: vxlan_ecn_decapsulate+0x3b]
      RIP: ffffffffc1014e7b  RSP: ffffa25ec6978cb0  RFLAGS: 00010246
      RAX: 0000000000000008  RBX: ffff8aa000888000  RCX: 0000000000000000
      RDX: 000000000000000e  RSI: ffff8a9fc7ab803e  RDI: ffff8a9fd1168700
      RBP: ffff8a9fc7ab803e   R8: 0000000000700000   R9: 00000000000010ae
      R10: ffff8a9fcb748980  R11: 0000000000000000  R12: ffff8a9fd1168700
      R13: ffff8aa000888000  R14: 00000000002a0000  R15: 00000000000010ae
      ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
   #7 [ffffa25ec6978ce8] vxlan_rcv at ffffffffc10189cd [vxlan]
   #8 [ffffa25ec6978d90] udp_queue_rcv_one_skb at ffffffff8cfb6507
   #9 [ffffa25ec6978dc0] udp_unicast_rcv_skb at ffffffff8cfb6e45
  #10 [ffffa25ec6978dc8] __udp4_lib_rcv at ffffffff8cfb8807
  #11 [ffffa25ec6978e20] ip_protocol_deliver_rcu at ffffffff8cf76951
  #12 [ffffa25ec6978e48] ip_local_deliver at ffffffff8cf76bde
  #13 [ffffa25ec6978ea0] __netif_receive_skb_one_core at ffffffff8cecde9b
  #14 [ffffa25ec6978ec8] process_backlog at ffffffff8cece139
  #15 [ffffa25ec6978f00] __napi_poll at ffffffff8ceced1a
  #16 [ffffa25ec6978f28] net_rx_action at ffffffff8cecf1f3
  #17 [ffffa25ec6978fa0] __softirqentry_text_start at ffffffff8d4000ca
  #18 [ffffa25ec6978ff0] do_softirq at ffffffff8c6fbdc3

Reproducer: https://github.com/Mellanox/ovs-tests/blob/master/test-ovs-vxlan-remove-tunnel-during-traffic.sh

Fix this by waiting for all sk_user_data reader to finish before
releasing the sock.

Reported-by: Jianlin Shi <[email protected]>
Suggested-by: Jakub Sitnicki <[email protected]>
Fixes: 6a93cc9 ("udp-tunnel: Add a few more UDP tunnel APIs")
Signed-off-by: Hangbin Liu <[email protected]>
Reviewed-by: Jiri Pirko <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants