mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
1f2803b266
The struct pages could be discontiguous when the kfence pool is allocated
via alloc_contig_pages() with CONFIG_SPARSEMEM and
!CONFIG_SPARSEMEM_VMEMMAP.
This may result in setting PG_slab and memcg_data to a arbitrary
address (may be not used as a struct page), which in the worst case
might corrupt the kernel.
So the iteration should use nth_page().
Link: https://lkml.kernel.org/r/20230323025003.94447-1-songmuchun@bytedance.com
Fixes:
|
||
---|---|---|
.. | ||
.kunitconfig | ||
core.c | ||
kfence_test.c | ||
kfence.h | ||
Makefile | ||
report.c |