From 870925205c78415dc4c594bfae9de8eb31745b81 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 30 Nov 2009 00:33:42 +0100 Subject: Add stack-protector support * kern/debug.c (__stack_chk_guard): New variable (__stack_chk_fail): New function. --- kern/debug.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'kern/debug.c') diff --git a/kern/debug.c b/kern/debug.c index 109d920..67b04ad 100644 --- a/kern/debug.c +++ b/kern/debug.c @@ -191,3 +191,16 @@ log(int level, const char *fmt, ...) _doprnt(fmt, &listp, do_cnputc, 0, 0); va_end(listp); } + +unsigned char __stack_chk_guard [ sizeof (vm_offset_t) ] = +{ + [ sizeof (vm_offset_t) - 3 ] = '\r', + [ sizeof (vm_offset_t) - 2 ] = '\n', + [ sizeof (vm_offset_t) - 1 ] = 0xff, +}; + +void +__stack_chk_fail (void) +{ + panic("stack smashing detected"); +} -- cgit v1.2.3