lkrg-org / lkrg

Linux Kernel Runtime Guard
https://lkrg.org
Other
410 stars 72 forks source link

p_lkrg: section 4 reloc 77 sym '_raw_read_lock': relocation 28 out of range (0xbf003914 -> 0xc1009800) #173

Open vt-alt opened 2 years ago

vt-alt commented 2 years ago

There is boot test failure on ARM-32 architecture in 5.10.109, LKRG 0.9.2.0.1.git10ba314-alt1.

[00:01:17] [   45.002445] Run /init as init process
[00:01:17] [   45.293043] hrtimer: interrupt took 47738240 ns
[00:01:17] [   45.805028] p_lkrg: module_layout: kernel tainted.
[00:01:17] [   45.808561] Disabling lock debugging due to kernel taint
[00:01:17] [   45.810166] p_lkrg: loading out-of-tree module taints kernel.
[00:01:17] [   45.823484] p_lkrg: module verification failed: signature and/or required key missing - tainting kernel
[00:01:17] [   45.835239] p_lkrg: section 4 reloc 77 sym '_raw_read_lock': relocation 28 out of range (0xbf003914 -> 0xc1009800)
[00:01:17] LKRG test failed /proc/sys/lkrg/trigger: No such file or directory
[00:01:17] [   48.041911] reboot: Power down

@wladmis

vt-alt commented 2 years ago

This is perhaps kernel options dependent, because the same kernel with other build options boots good. Failure is on the kernel with some DEBUG options enabled (-debug kernel).

vt-alt commented 2 years ago

Additional DEBUG options we have for that kernel:

CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_ACPI_DEBUG=y
CONFIG_ATH_DEBUG=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43_DEBUG=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_CAN_DEBUG_DEVICES=y
CONFIG_CARL9170_DEBUGFS=y
CONFIG_CEPH_LIB_PRETTYDEBUG=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_BLK_CGROUP=y
CONFIG_DEBUG_CREDENTIALS=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DMADEVICES_DEBUG=y
CONFIG_DMA_API_DEBUG=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_EFI_PGT_DUMP=y
CONFIG_EXT4_DEBUG=y
CONFIG_FAULT_INJECTION=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_JBD2_DEBUG=y
CONFIG_KGDB_KDB=y
CONFIG_LOCK_STAT=y
CONFIG_LOCK_TORTURE_TEST=m
CONFIG_MAXSMP=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NOUVEAU_DEBUG_MMU=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_QUOTA_DEBUG=y
CONFIG_REFCOUNT_FULL=y
CONFIG_SND_DEBUG=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_TEST_LIST_SORT=y
CONFIG_WQ_WATCHDOG=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
CONFIG_ARM64_PTDUMP=y
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_SLAB=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_FUNCTION=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_MMC_REQUEST=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
CONFIG_PROVE_RCU=y
CONFIG_SND_PCM_XRUN_DEBUG=y

CONFIG_FRAME_POINTER=y
CONFIG_RANDOMIZE_BASE=n