[OpenBIOS] r422 - in openbios-devel: config/examples include/libc libc
svn at openbios.org
svn at openbios.org
Sat Jan 24 09:23:33 CET 2009
Author: blueswirl
Date: 2009-01-24 09:23:33 +0100 (Sat, 24 Jan 2009)
New Revision: 422
Modified:
openbios-devel/config/examples/sparc64_rules.xml
openbios-devel/include/libc/string.h
openbios-devel/libc/misc.c
Log:
Add Propolice support
Modified: openbios-devel/config/examples/sparc64_rules.xml
===================================================================
--- openbios-devel/config/examples/sparc64_rules.xml 2009-01-24 07:31:45 UTC (rev 421)
+++ openbios-devel/config/examples/sparc64_rules.xml 2009-01-24 08:23:33 UTC (rev 422)
@@ -38,10 +38,6 @@
INCLUDES := -I$(SRCDIR)/include -I$(SRCDIR)/kernel/include -I$(ODIR)/target/include
AS_FLAGS := -Wa,-xarch=v9b -Wa,-64 -g
-ifeq ($(shell uname), OpenBSD)
- CFLAGS+= -fno-stack-protector
-endif
-
#
# pre rules
#
Modified: openbios-devel/include/libc/string.h
===================================================================
--- openbios-devel/include/libc/string.h 2009-01-24 07:31:45 UTC (rev 421)
+++ openbios-devel/include/libc/string.h 2009-01-24 08:23:33 UTC (rev 422)
@@ -99,4 +99,9 @@
extern int errno_int;
+// Propolice support
+extern long __guard[8];
+
+void __stack_smash_handler(const char *func, int damaged);
+
#endif /* _H_STRING */
Modified: openbios-devel/libc/misc.c
===================================================================
--- openbios-devel/libc/misc.c 2009-01-24 07:31:45 UTC (rev 421)
+++ openbios-devel/libc/misc.c 2009-01-24 08:23:33 UTC (rev 422)
@@ -75,3 +75,24 @@
return sum * sign;
}
+
+// Propolice support
+long __guard[8] = {
+#ifdef CONFIG_BIG_ENDIAN
+ (0 << 24) | (0 << 16) | ('\n' << 8) | 255,
+#else
+ (255 << 24) | ('\n' << 16) | (0 << 8) | 0,
+#endif
+ 0, 0, 0, 0, 0, 0, 0
+};
+
+void __stack_smash_handler(const char *func, int damaged)
+{
+ printk("Propolice detected a stack smashing attack %x at function %s,"
+ " freezing\n", damaged, func);
+
+ // Freeze
+ // XXX: Disable interrupts?
+ for(;;)
+ ;
+}
More information about the OpenBIOS
mailing list