Функция для повреждения стека ядра - PullRequest
3 голосов
/ 05 октября 2010

В настоящее время я тестирую механизм обратной трассировки ядра (например, dump_stack и frame_unwind). Я хочу знать, может ли механизм обратной трассировки ядра по-прежнему давать обратную трассировку, если стек ядра был поврежден. Если нет, то каков будет выход в этом случае. Пожалуйста, предложите мне способ, чтобы я мог повредить стек ядра, написав функцию (которую я буду вставлять между некоторыми путями выполнения ядра) или модуль.

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Еще один:

#define VALUE 1
#define HUGESIZE 50
void overflow()
{
    char buffer[0];
    printk("Overflowing stack.. \n");
    memset(buffer, VALUE, HUGESIZE);
}
0 голосов
/ 05 октября 2010

Как насчет этого:

void overflow_stack() {
    int p[1];
    int i;

    for(i = 0; i < 1024; i++) {
        p[i] = i;
    }
}
...