Я пишу модуль ядра в Linux на архитектуре aarch64, который имеет глобальную структуру. Я работаю над устройством Pixel 8 (shiba) с callyxos, ядром AOSP (проект Android с открытым исходным кодом) [uname -r: 5.15.137-android14-11-gbc062a78e195-ab12057991].
< ul>
[*]Что я хочу:
sp регистр укажет на эту глобальную структуру, то есть я хочу, чтобы стек будет управляться внутри моей глобальной переменной.
[*]Что происходит:
Каждый раз, когда я устанавливаю sp, чтобы указать мою глобальную структуру, и получить доступ к этой памяти (например, с помощью инструкции stp), я сразу же получаю панику ядра из-за переполнения стека ядра.
[*]Вот пример код, вызывающий переполнение стека ядра KP:
mov x16, #0x12
mov x17, #0x34
mov x1, sp
ldr x0, = new_stack
mov sp, x0
stp x16, x17, [sp]
Подробнее здесь: https://stackoverflow.com/questions/793 ... le-aarch64
Изменение указателя стека вручную внутри модуля ядра aarch64 ⇐ Linux
-
Anonymous
1736943653
Anonymous
Я пишу модуль ядра в Linux на архитектуре aarch64, который имеет глобальную структуру. Я работаю над устройством Pixel 8 (shiba) с callyxos, ядром AOSP (проект Android с открытым исходным кодом) [uname -r: 5.15.137-android14-11-gbc062a78e195-ab12057991].
< ul>
[*]Что я хочу:
sp регистр укажет на эту глобальную структуру, то есть я хочу, чтобы стек будет управляться внутри моей глобальной переменной.
[*]Что происходит:
Каждый раз, когда я устанавливаю sp, чтобы указать мою глобальную структуру, и получить доступ к этой памяти (например, с помощью инструкции stp), я сразу же получаю панику ядра из-за переполнения стека ядра.
[*]Вот пример код, вызывающий переполнение стека ядра KP:
mov x16, #0x12
mov x17, #0x34
mov x1, sp
ldr x0, = new_stack
mov sp, x0
stp x16, x17, [sp]
Подробнее здесь: [url]https://stackoverflow.com/questions/79358163/manually-modifying-stack-pointer-inside-a-kernel-module-aarch64[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия