Bash、x86 Linux 2.6.20カーネル
警告:次のコマンドは、システムに永続的な損傷を引き起こす可能性があります。
cat /dev/urandom > /dev/mem
以下を出力します(ここで試してください)。この後、スクリプトがハングします。
/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
同じコマンドで見つかった別の例外を次に示します。
/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
1/0
呼び出されたファイルを入れることはdriver.c
、有効なカーネルモードドライバーを構成していません。とにかく、勝者はコードの長さではなく、賛成票に基づいています。