CeDOS - kernel/sched/stack_check.c

kernel/sched/stack_check.c (view raw)

1
2
3
4
5
6
7
8
9
10
11
#include "cedos/sched/stack_check.h"

STACK_CHECKSUM stack_check(const void *esp, const void *ebp) {
    STACK_CHECKSUM sum = 0;
    
    for (uint32_t *p = esp; p < ebp; p = &p[1]) {
        sum ^= *p;
    }

    return sum;
}