В исходном коде ядра Linux добавлены эти строки в код tasklet_action:
printk("tasklet_action = %p\n" , *tasklet_action);
printk("tasklet_action = %p\n" , &tasklet_action);
printk("tasklet_action = %p\n" , tasklet_action);
На выходе я получаю:
tasklet_action = c03441a1
tasklet_action = c03441a1
tasklet_action = c03441a1
Но при поиске в файле system.map адрес tasklet_action находится в c03441a0, поэтому есть смещение в 1 байт.
- Почему у меня есть это смещение?
- Всегда ли это однобайтное смещение?