User: | Jiri Slaby |
Error type: | Invalid Pointer Dereference |
Error type description: | A pointer which is invalid is being dereferenced |
File location: | drivers/misc/sgi-xp/xpc_main.c |
Line in file: | 1041 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Stanse
(1.2)
|
Entered: | 2011-11-07 22:22:22 UTC |
1011 1012 /* a 'rmmod XPC' and a 'reboot' cannot both end up here together */ 1013 DBUG_ON(xpc_exiting == 1); 1014 1015 /* 1016 * Let the heartbeat checker thread and the discovery thread 1017 * (if one is running) know that they should exit. Also wake up 1018 * the heartbeat checker thread in case it's sleeping. 1019 */ 1020 xpc_exiting = 1; 1021 wake_up_interruptible(&xpc_activate_IRQ_wq); 1022 1023 /* wait for the discovery thread to exit */ 1024 wait_for_completion(&xpc_discovery_exited); 1025 1026 /* wait for the heartbeat checker thread to exit */ 1027 wait_for_completion(&xpc_hb_checker_exited); 1028 1029 /* sleep for a 1/3 of a second or so */ 1030 (void)msleep_interruptible(300); 1031 1032 /* wait for all partitions to become inactive */ 1033 1034 printmsg_time = jiffies + (XPC_DEACTIVATE_PRINTMSG_INTERVAL * HZ); 1035 xpc_disengage_timedout = 0; 1036 1037 do { 1038 active_part_count = 0; 1039 1040 for (partid = 0; partid < xp_max_npartitions; partid++) { 1041 part = &xpc_partitions[partid]; 1042 1043 if (xpc_partition_disengaged(part) && 1044 part->act_state == XPC_P_AS_INACTIVE) { 1045 continue; 1046 } 1047 1048 active_part_count++; 1049 1050 XPC_DEACTIVATE_PARTITION(part, reason); 1051