|
@@ -67,10 +67,24 @@ void error(char *x)
|
|
|
#include "../../../../lib/decompress_unxz.c"
|
|
|
#endif
|
|
|
|
|
|
+unsigned long __stack_chk_guard;
|
|
|
+
|
|
|
+void __stack_chk_guard_setup(void)
|
|
|
+{
|
|
|
+ __stack_chk_guard = 0x000a0dff;
|
|
|
+}
|
|
|
+
|
|
|
+void __stack_chk_fail(void)
|
|
|
+{
|
|
|
+ error("stack-protector: Kernel stack is corrupted\n");
|
|
|
+}
|
|
|
+
|
|
|
void decompress_kernel(unsigned long boot_heap_start)
|
|
|
{
|
|
|
unsigned long zimage_start, zimage_size;
|
|
|
|
|
|
+ __stack_chk_guard_setup();
|
|
|
+
|
|
|
zimage_start = (unsigned long)(&__image_begin);
|
|
|
zimage_size = (unsigned long)(&__image_end) -
|
|
|
(unsigned long)(&__image_begin);
|