root/kernel/panic.c

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. panic
  2. bad_user_access_length

   1 /*
   2  *  linux/kernel/panic.c
   3  *
   4  *  Copyright (C) 1991, 1992  Linus Torvalds
   5  */
   6 
   7 /*
   8  * This function is used through-out the kernel (including mm and fs)
   9  * to indicate a major problem.
  10  */
  11 #include <stdarg.h>
  12 
  13 #include <linux/kernel.h>
  14 #include <linux/sched.h>
  15 
  16 asmlinkage void sys_sync(void); /* it's really int */
  17 
  18 NORET_TYPE void panic(const char * fmt, ...)
     /* [previous][next][first][last][top][bottom][index][help] */
  19 {
  20         static char buf[1024];
  21         va_list args;
  22 
  23         va_start(args, fmt);
  24         vsprintf(buf, fmt, args);
  25         va_end(args);
  26         printk(KERN_EMERG "Kernel panic: %s\n",buf);
  27         if (current == task[0])
  28                 printk(KERN_EMERG "In swapper task - not syncing\n");
  29         else
  30                 sys_sync();
  31         for(;;);
  32 }
  33 
  34 /*
  35  * GCC 2.5.8 doesn't always optimize correctly; see include/asm/segment.h
  36  */
  37 
  38 int bad_user_access_length(void)
     /* [previous][next][first][last][top][bottom][index][help] */
  39 {
  40         panic("bad_user_access_length executed (not cool, dude)");
  41 }

/* [previous][next][first][last][top][bottom][index][help] */