Hi Stephen, Adrian
the only commits to hit arch/m68k/mm between 5.15 and now are:
29f28f8b826d m68k: fix livelock in uaccess
6d0b92254510 m68k/mm: enable ARCH_HAS_VM_GET_PAGE_PROT
d92725256b4f mm: avoid unnecessary page fault retires on shared memory types
f95a387cdeb3 m68k: coldfire: drop ISA_DMA_API support
05d51e42df06 m68k: Introduce a virtual m68k machine
c4d5b6eef258 m68k: mm: Remove check for VM_IO to fix deferred I/O
36ef159f4408 mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit
0e25498f8cd4 exit: Add and use make_task_dead.
376e3fdecb0d m68k: Enable memtest functionality
952eea9b01e4 memblock: allow to specify flags with memblock_add_node()
The first is a fix for the second so these should be tested together.
None appear suspect to me.
Running memtest could incur a boot delay but AFAIR that isn't enabled by
default, and it isn't implicated in the panic log Adrian posted.
Cheers,
Michael
Am 24.02.2023 um 16:02 schrieb Michael Schmitz:
Hi Stephen,
that's apparently been corrected in later versions. Commit
ca831f29f8f25c97182e726429b38c0802200c8f (in from 5.17).
I doubt this would lead to different code generated.
Which was the first broken version you tried? That would narrow down the
search range considerably...
Cheers,
Michael
Am 24.02.2023 um 14:09 schrieb Stephen Walsh:
FYI:
Just caught this trying a re-compile of kernel 5.15.2 from kernel org,
under debbootstrap/sbuild and qemu-system-m68k both produce this issue:
CC mm/process_vm_access.o
CC mm/page_alloc.o
mm/page_alloc.c: In function ‘mem_init_print_info’:
mm/page_alloc.c:8163:27: warning: comparison between two arrays
[-Warray-compare]
8163 | if (start <= pos && pos < end && size > adj) \
| ^~
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
8167 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^
mm/page_alloc.c:8163:27: note: use ‘&__init_begin[0] <=
&_sinittext[0]’ to compare the addresses
8163 | if (start <= pos && pos < end && size > adj) \
| ^~
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
8167 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^
mm/page_alloc.c:8163:41: warning: comparison between two arrays
[-Warray-compare]
8163 | if (start <= pos && pos < end && size > adj) \
| ^
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
8167 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^
mm/page_alloc.c:8163:41: note: use ‘&_sinittext[0] < &__init_end[0]’
to compare the addresses
8163 | if (start <= pos && pos < end && size > adj) \
| ^
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
8167 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^
mm/page_alloc.c:8163:27: warning: comparison between two arrays
[-Warray-compare]
8163 | if (start <= pos && pos < end && size > adj) \
| ^~
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
| ^
mm/page_alloc.c:8163:27: note: use ‘&_stext[0] <= &_sinittext[0]’ to
compare the addresses
8163 | if (start <= pos && pos < end && size > adj) \
| ^~
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
| ^
mm/page_alloc.c:8163:41: warning: comparison between two arrays
[-Warray-compare]
8163 | if (start <= pos && pos < end && size > adj) \
| ^
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
| ^
mm/page_alloc.c:8163:41: note: use ‘&_sinittext[0] < &_etext[0]’ to
compare the addresses
8163 | if (start <= pos && pos < end && size > adj) \
| ^
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
| ^
mm/page_alloc.c:8163:27: warning: comparison between two arrays
[-Warray-compare]
8163 | if (start <= pos && pos < end && size > adj) \
| ^~
mm/page_alloc.c:8170:9: note: in expansion of macro ‘adj_init_size’
8170 | adj_init_size(_sdata, _edata, datasize, __init_begin,
init_data_size);
| ^