Magisk/native/jni/core
topjohnwu a73e7e9f99 Introduce new module mount implementation
Rewrite the whole module mounting logic from scratch.
Even the algorithm is different compared to the old one.

This new design focuses on a few key points:
- Modular: Custom nodes can be injected into the mount tree.
  It's the main reason for starting the rewrite (needed for Android 11)
- Efficient: Compared to the existing implementation, this is the most
  efficient (both in terms of computation and memory usage) design I
  currently can come up with.
- Accurate: The old mounting logic relies on handling specifically every
  edge case I can think of. During this rewrite I actually found some
  cases that the old design does not handle properly. This new design is
  architected in a way (node types and its rankings) that it should
  handle edge cases all by itself when constructing mount trees.
2020-04-18 02:00:48 -07:00
..
applet_stub.cpp Small native code reorganization 2020-03-09 01:50:30 -07:00
applets.cpp Small native code reorganization 2020-03-09 01:50:30 -07:00
bootstages.cpp Introduce new module mount implementation 2020-04-18 02:00:48 -07:00
daemon.cpp Preparation for dynamic tmpfs path 2020-04-12 05:34:56 -07:00
db.cpp Disable MagiskHide by default 2020-03-13 01:48:14 -07:00
magisk.cpp Preparation for dynamic tmpfs path 2020-04-12 05:34:56 -07:00
module.cpp Introduce new module mount implementation 2020-04-18 02:00:48 -07:00
restorecon.cpp Preparation for dynamic tmpfs path 2020-04-12 05:34:56 -07:00
scripting.cpp Use standalone mode in boot scripts 2020-03-11 00:11:15 -07:00
socket.cpp Preparation for dynamic tmpfs path 2020-04-12 05:34:56 -07:00