Code Golf of Death
Bash, x86 Linux 2.6.20 kernel
Warning: the following command may cause permanent damage to your system.
cat /dev/urandom > /dev/mem
Will output the following (try here). After this, the script hangs.
/var/root # cat /dev/urandom > /dev/mem
BUG: unable to handle kernel paging request at virtual address 474e82a5
printing eip:
c01450c4
*pde = 00000000
Oops: 0000 [#1]
CPU: 0
EIP: 0060:[<c01450c4>] Not tainted VLI
EFLAGS: 00000082 (2.6.20 #12)
EIP is at free_block+0x54/0xf0
eax: 00000000 ebx: 474e82a1 ecx: c00745c8 edx: c0005e80
esi: c0070ce0 edi: c002c1a0 ebp: 00000000 esp: c0085eec
ds: 007b es: 007b ss: 0068
Process events/0 (pid: 3, ti=c0084000 task=c0094030 task.ti=c0084000)
Stack: c0076410 00000002 c0051db0 c0051db0 c0051da0 00000002 c002c1a0 c01457dd
00000000 c0070ce0 c002c1a0 c0091840 c0145800 c0145870 00000000 00000000
c02cb2a0 c02cb2a0 00000296 c011dd27 c003fab0 c0094030 c009413c 00047e6c
Call Trace:
[<c01457dd>] drain_array+0x7d/0xa0
[<c0145800>] cache_reap+0x0/0x110
[<c0145870>] cache_reap+0x70/0x110
[<c011dd27>] run_workqueue+0x67/0x130
[<c011df17>] worker_thread+0x127/0x140
[<c010c7d0>] default_wake_function+0x0/0x10
[<c010c817>] __wake_up_common+0x37/0x70
[<c010c7d0>] default_wake_function+0x0/0x10
[<c011ddf0>] worker_thread+0x0/0x140
[<c0120d94>] kthread+0x94/0xc0
[<c0120d00>] kthread+0x0/0xc0
[<c0102ee7>] kernel_thread_helper+0x7/0x10
=======================
Code: 04 0f 8d 8f 00 00 00 8b 44 24 08 8b 0c a8 8d 91 00 00 00 40 c1 ea 0c c1 e2
Here is another exception found with the same command:
/dev # cat urandom > mem
------------[ cut here ]------------
Kernel BUG at c014514c [verbose debug info unavailable]
invalid opcode: 0000 [#1]
CPU: 0
EIP: 0060:[<c014514c>] Not tainted VLI
EFLAGS: 00000046 (2.6.20 #12)
EIP is at free_block+0xdc/0xf0
eax: 1608347b ebx: c009b010 ecx: c003f508 edx: c00057e0
esi: c009b000 edi: c002cd40 ebp: 00000000 esp: c0085eec
ds: 007b es: 007b ss: 0068
Process events/0 (pid: 3, ti=c0084000 task=c0094030 task.ti=c0084000)
Stack: c009b010 00000004 c009b010 c009b010 c009b000 00000004 c002cd40 c01457dd
00000000 c02ddf20 c002cd40 c0091840 c0145800 c0145870 00000000 00000000
c02cb2a0 c02cb2a0 00000296 c011dd27 c005c5a0 c0094030 c009413c 000409ed
C, 16 chars, for P5 x86
main=-926478352;
Remember the F00F bug everyone? I helped lock up a machine or two back in the day with this little program. (Yes, I've been golfing for that long.)
Granted, it's not quite what was asked for, and it only works on old steppings of the P5 Pentium chips. But in its favor, it's cross-platform, working on both Linux and Windows!
QBASIC, 38 Characters
DEF SEG=0:FOR I=0 TO 4^8:POKE I,1:NEXT
Not sure how you would define a BSOD or Kernel panic in DOS, but this is probably pretty close. When run the screen just goes blank, and the machine responds to nothing, not even Ctrl+Alt+Delete. You have to restart with a hard reset or power cycle to get the machine going again. This is running on DOS 6.22 under VirtualBox. Not sure exactly why it causes the system to crash, but, basically the program is writing (POKE) to memory that it has no business writing to.