kdb doesnt check if a pointer in struct task_struct is valid.

        if (tp->sysvsem.undo_list)
                kdb_printf(
                    "  sysvsem.sem_undo refcnt %d proc_list=0x%p\n",
                    atomic_read(&tp->sysvsem.undo_list->refcnt),
                    tp->sysvsem.undo_list->proc_list);

[1]kdb> mds c0000000005ffcd8
0xc0000000005ffcd8 ffffffff00000000   ........
0xc0000000005ffce0 0000000000000000   ........
0xc0000000005ffce8 c00000006a8f3578   ....j.5x
0xc0000000005ffcf0 c0000000edc1bb28   ....mA..
0xc0000000005ffcf8 c0000000005ffcf8 __per_cpu_end+0x191788
0xc0000000005ffd00 c0000000005ffcf8 __per_cpu_end+0x191788
0xc0000000005ffd08 c0000000e230a9e0   ....b0..
0xc0000000005ffd10 c0000000077c0d10   ........
[1]kdb>
0xc0000000005ffd18 0000000000000000   ........
0xc0000000005ffd20 c0000000006c9830 __per_cpu_end+0x25b2c0
0xc0000000005ffd28 0000000000000000   ........
0xc0000000005ffd30-0xc0000000005ffd4f zero suppressed
0xc0000000005ffd50 0000000000000000   ........
[1]kdb> task c00000006a8f3578
struct task at 0xc0000001cb3b8000, pid=7319560 flags=0x0 
state=-4611686015600462712 comm=""
  cpu=-1073741824 policy=13835058055283274504 prio=4643704 static_prio=2509 
cpus_allowed=0x00000000000000000000000000000000 &thread=0xc0000001cb3b84b0
  need_resched=1 timestamp=13835058055286807416 time_slice=0 
lock_depth=-1073741824
  fs=0x0000000010120008 files=0x0000000000000000 mm=0x00000000000000d2
  uid=0 euid=0 suid=1 fsuid=1795248530 gid=0 egid=713608 sgid=0 fsgid=16
  user=0xc000000093cdec20
  sysvsem.sem_undo refcnt -1073741823 proc_list=0x000000001011d000
  signal=0x0000000000000001 &blocked=0xc0000001cb3b8848 
&pending=0xc0000001cb3b8858
  utime=0 stime=0 cutime=0 cstime=0
[1]kdb> task c0000000edc1bb28
struct task at 0xc0000001cb3b8000, pid=7319560 flags=0x0 
state=-4611686018421097240 comm=""
  cpu=0 policy=13835058055283274504 prio=4643704 static_prio=5219 
cpus_allowed=0x00000000000000000000000000000000 &thread=0xc0000001cb3b84b0
  need_resched=0 timestamp=13835058055286807416 time_slice=3221225472 
lock_depth=-1073741824
  fs=0x0000000000000000 files=0x0000000000000000 mm=0xc0000000edc1bdd0
  uid=0 euid=0 suid=0 fsuid=0 gid=0 egid=0 sgid=0 fsgid=0
  user=0x0000000000000000
kdb: Debugger re-entered on cpu 1, new reason = 7
     Forced recursion is set
     Attempting recursive mode

Entering kdb (current=0xc0000000eaee4170, pid 21292) on processor 1 due to 
Recursion @ 0xc00000000022ce30
[1]kdb> bt
Stack traceback for pid 21292
0xc0000000eaee4170    21292    21291  1    1   R  0xc0000000eaee4620 *run-crons
          SP(esp)            PC(eip)      Function(args)
0xc0000000abb4a720  0xc00000000022ce30  .kdbm_task +0x2d0
0xc0000000abb4a7f0  0xc000000000227938  .kdb_parse +0x3e4
0xc0000000abb4a8c0  0xc0000000002298a8  .kdb_main_loop +0xa78
0xc0000000abb4a9c0  0xc0000000000557f8  .kdba_main_loop +0x84
0xc0000000abb4abc0  0xc00000000022697c  .kdb +0x5b4
...


kdb-v4.4-2.6.5-common-3

-- 
short story of a lazy sysadmin:
 alias appserv=wotan
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.

Reply via email to