I’m attempting to use a KASAN kernel to validate some kernel changes we are making, but I’ve been having trouble booting the kernel, it outputs an RAS error on boot:
ERROR: MPIDR 0x80000100: exception reason=0 syndrome=0xbe000000
ERROR: **************************************
ERROR: RAS Error in L2, ERRSELR_EL1=0x210:
ERROR: Status = 0xfc00630d
ERROR: IERR = SCF to L2 Decode Error Write: 0x63
ERROR: SE fault): 0xd
ERROR: Overflow (there may be more errors) - Uncorrectable
ERROR: Uncorrectable (this is fatal)
ERROR: MISC0 = 0x100000000080000
ERROR: MISC1 = 0x40ac0000000
ERROR: ADDR = 0x8000000003885f40
ERROR: **************************************
ERROR: **************************************
ERROR: RAS Error in SCF_IOB, ERRSELR_EL1=0x401:
ERROR: Status = 0xfc009404
ERROR: IERR = IHI Interface Error: 0x94
ERROR: SERR = Assertion failure: 0x4
ERROR: Overflow (there may be more errors) - Uncorrectable
ERROR: Uncorrectable (this is fatal)
ERROR: MISC0 = 0x10
ERROR: MISC1 = 0x2a460940e3
ERROR: ADDR = 0x8000000003885f40
ERROR: **************************************
ERROR: RAS error handled!
ERROR: sdei_dispatch_event returned -1
ERROR: MPIDR 0x80000101: exception reason=0 syndrome=0xbe000000
ERROR: Not a RAS error!
After some digging, it was found that this is related to the efivarfs filesystem that systemd mounts on boot. This was confirmed by adding initcall_blacklist=efivarfs_init to the kernel commandline, which did indeed let it boot.
This is an OK workaround for now, but our software does interact with EFI variables through that efivarfs interface, so it makes testing with kasan harder.
Attached is my .config.
This is on a AGX Xavier Industrial on a custom carrier board.
kernel-config.txt (220.6 KB)