On Fri, 19 Jun 2020, Christoph Hellwig wrote:
> That is indeed really strange, as that commit is just a rename.
> Well, Linus also added swapping of the argument order, but again it
> shouldn't change much.
Thing is, there's other examples of the previous version in the kernel tree- any
chance there's a usage conflict (Thunderbolt has a ROM in it, maybe something in
"probe_roms.c"? (Just guessing, no idea):
----
afind probe_kernel_address
./lib/test_lockup.c: probe_kernel_address(ptr, buf) ||
./lib/test_lockup.c: probe_kernel_address(ptr + size - 1, buf)) {
./lib/test_lockup.c: if (probe_kernel_address(ptr, magic) || magic !=
expected) {
./arch/arm64/kernel/traps.c: if (probe_kernel_address((__force
__le32 *)pc, instr_le))
./arch/sh/kernel/traps.c: if (probe_kernel_address((insn_size_t *)addr,
opcode))
./arch/x86/kernel/traps.c: if (probe_kernel_address((unsigned short
*)addr, ud))
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom_list,
device) != 0)
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom + 0x18,
offset) != 0)
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom + offset +
0x4, vendor) != 0)
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom + offset +
0x6, device) != 0)
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom + offset +
0x8, list) == 0 &&
./arch/x86/kernel/probe_roms.c: probe_kernel_address(rom + offset +
0xc, rev) == 0 &&
./arch/x86/kernel/probe_roms.c: return probe_kernel_address(ptr, sig) == 0 &&
sig == ROMSIGNATURE;
./arch/x86/kernel/probe_roms.c: for (sum = 0; length &&
probe_kernel_address(rom++, c) == 0; length--)
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom + 2, c) !=
0)
./arch/x86/kernel/probe_roms.c: if (probe_kernel_address(rom + 2, c) !=
0)
./arch/x86/mm/fault.c: if (probe_kernel_address(instr, opcode))
./arch/x86/mm/fault.c: if (probe_kernel_address(instr, opcode))
./arch/x86/mm/fault.c: return probe_kernel_address((unsigned long *)p, dummy);
./arch/x86/pci/pcbios.c: if
(probe_kernel_address(&check->fields.signature, sig))
./arch/arm/mm/alignment.c: fault = probe_kernel_address(ip, instr);
./arch/arm/mm/alignment.c: fault = probe_kernel_address(ip, instr);
./arch/s390/mm/fault.c: return probe_kernel_address((unsigned long *)p, dummy);
./arch/powerpc/kernel/process.c: probe_kernel_address((const
void *)pc, instr)) {
./arch/powerpc/kernel/kprobes.c: if (probe_kernel_address(addr,
instr))
./arch/powerpc/sysdev/fsl_pci.c: ret =
probe_kernel_address((void *)regs->nip, inst);
./arch/riscv/kernel/kgdb.c: if (probe_kernel_address((void *)pc, op_code))
./arch/riscv/kernel/kgdb.c: error = probe_kernel_address((void *)addr,
stepped_opcode);
./arch/riscv/kernel/traps.c: if (probe_kernel_address((bug_insn_t *)pc,
insn))
./arch/riscv/kernel/traps.c: if (probe_kernel_address((bug_insn_t *)pc,
insn))
----
> Do you see any compiler warnings or something
> odd in the kernel log before the actual crash?
Not that I could see, but I'll try building again later on.
-Kenny
--
Kenneth R. Crudup Sr. SW Engineer, Scott County Consulting, Silicon Valley