在提交问题之前,请确保你已经完成了以下检查:

  1. 你已经搜索过现有问题,并且没有找到任何相关的问题。
  2. 你将上传bug报告文件到KernelSU Manager的设置中的报告日志部分。
  3. 你知道如何重现问题,并且这个问题可能不特定于你的设备。

描述问题:

我事先声明,我认为这个问题仅仅存在于某些超前内核中,但越全面越好。这个问题源于这样一个Commit:https://github.com/EndCredits/android_kernel_xiaomi_sm8350-miui/commit/659d3acc60dfe175284a8deab1e96f4164ad1b51。他将mmap_sem放置进了MMAP_LOCK_INITIALIZER中用于统一调用mmap_sem

#define MMAP_LOCK_INITIALIZER(name) 
mmap_sem = __RWSEM_INITIALIZER((name).mmap_sem),

虽然我不太清楚他这么搞的意义是什么,但是确实存在这样的情况,这样就会导致如下的编译错误:

   42 | down_read(&mm->mmap_lock);
      |                ~~  ^
../drivers/kernelsu/manual_su.h:9:19: note: expanded from macro 'mmap_lock'
    9 | #define mmap_lock mmap_sem
      |                   ^
../drivers/kernelsu/manual_su.c:49:22: error: no member named 'mmap_sem' in 'struct mm_struct'
   49 | up_read(&mm->mmap_lock);
      |                  ~~  ^
../drivers/kernelsu/manual_su.h:9:19: note: expanded from macro 'mmap_lock'
    9 | #define mmap_lock mmap_sem
      |                   ^
../drivers/kernelsu/manual_su.c:55:22: error: no member named 'mmap_sem' in 'struct mm_struct'
   55 | up_read(&mm->mmap_lock);
      |                  ~~  ^
../drivers/kernelsu/manual_su.h:9:19: note: expanded from macro 'mmap_lock'
    9 | #define mmap_lock mmap_sem
      |                   ^
../drivers/kernelsu/manual_su.c:61:22: error: no member named 'mmap_sem' in 'struct mm_struct'
   61 | up_read(&mm->mmap_lock);
      |                  ~~  ^
../drivers/kernelsu/manual_su.h:9:19: note: expanded from macro 'mmap_lock'
    9 | #define mmap_lock mmap_sem
      |                   ^
../drivers/kernelsu/manual_su.c:65:18: error: no member named 'mmap_sem' in 'struct mm_struct'
   65 | up_read(&mm->mmap_lock);
      |              ~~  ^
../drivers/kernelsu/manual_su.h:9:19: note: expanded from macro 'mmap_lock'
    9 | #define mmap_lock mmap_sem
      |                   ^
5 errors generated.
make[3]: *** [../scripts/Makefile.build:288: drivers/kernelsu/manual_su.o] Error 1
make[2]: *** [../scripts/Makefile.build:558: drivers/kernelsu] Error 2
make[1]: *** [/home/runner/work/NonGKI_Kernel_Build_2nd/NonGKI_Kernel_Build_2nd/device_kernel/Makefile:1863: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....

世界之大,无奇不有呀

为了重现问题,请提供以下信息:

  • 设备信息:Xiaomi 11 Ultra
  • 操作系统版本:Hyper OS 1 Android 14
  • KernelSU版本:latest@susfs-main
  • 内核版本:5.4

请提供任何额外的上下文信息。