Существует массив в ядре называется zone_table
согласно page_alloc.c
это массив указателей, указывающих на zone_t (zone_struct) структуры данных:найти адрес памяти структуры данных ядра
/*
*
* The zone_table array is used to look up the address of the
* struct zone corresponding to a given zone number (ZONE_DMA,
* ZONE_NORMAL, or ZONE_HIGHMEM).
*/
zone_t *zone_table[MAX_NR_ZONES*MAX_NR_NODES];
и я нашел свой адрес из System.map
но, как я думаю, этот адрес 0xc04260c4
является адресом zone_table[0]
.
но мне нужен адрес zone_table[1]
Я не знаю, как рассчитать этот адрес. Я думал, что в системе 32 bit x86
возможно 0xc04260c4
следует добавить в 0x4
для доступа к адресу zone_table[1]
. Это правильно?