Ingo Molnar
3bf52a4df3
irq: sparse irqs, fix IRQ auto-probe crash
fix:
[ 10.631533] calling yenta_socket_init+0x0/0x20
[ 10.631533] Yenta: CardBus bridge found at 0000:15:00.0 [17aa:2012]
[ 10.631533] Yenta: Using INTVAL to route CSC interrupts to PCI
[ 10.631533] Yenta: Routing CardBus interrupts to PCI
[ 10.631533] Yenta TI: socket 0000:15:00.0, mfunc 0x01d01002, devctl 0x64
[ 10.731599] BUG: unable to handle kernel NULL pointer dereference at 00000040
[ 10.731838] IP: [<c0c95b5f>] _spin_lock_irq+0xf/0x20
[ 10.732221] *pde = 00000000
[ 10.732741] Oops: 0002 [#1] SMP
[ 10.733453]
[ 10.734253] Pid: 1, comm: swapper Tainted: G W (2.6.27-rc3-tip-00173-gd7eaa4f-dirty #1)
[ 10.735188] EIP: 0060:[<c0c95b5f>] EFLAGS: 00010002 CPU: 0
[ 10.735523] EIP is at _spin_lock_irq+0xf/0x20
[ 10.735523] EAX: 00000040 EBX: 00000000 ECX: f6e04c90 EDX: 00000100
[ 10.735523] ESI: 000000df EDI: f6e04c90 EBP: f7867df0 ESP: f7867df0
[ 10.735523] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 10.735523] Process swapper (pid: 1, ti=f7867000 task=f7870000 task.ti=f7867000)
[ 10.735523] Stack: f7867e04 c0155fbd 00000000 00000000 f6e04c90 f7867e5c c0c6e319 c0f6a074
[ 10.735523] f6e04c90 000017aa 00002012 c112b648 f791f240 c112b5e0 f7867e44 c010440b
[ 10.735523] f791f240 f791f29c c112b8ec f791f240 00000000 f7867e5c c048f893 03c0b648
[ 10.735523] Call Trace:
[ 10.735523] [<c0155fbd>] ? probe_irq_on+0x3d/0x140
[ 10.735523] [<c0c6e319>] ? yenta_probe+0x529/0x640
[ 10.735523] [<c010440b>] ? mcount_call+0x5/0xa
[ 10.735523] [<c048f893>] ? pci_match_device+0xa3/0xb0
[ 10.735523] [<c048fc1e>] ? pci_device_probe+0x5e/0x80
[ 10.735523] [<c0515423>] ? driver_probe_device+0x83/0x180
[ 10.735523] [<c0515594>] ? __driver_attach+0x74/0x80
[ 10.735523] [<c0514b69>] ? bus_for_each_dev+0x49/0x70
[ 10.735523] [<c051528e>] ? driver_attach+0x1e/0x20
[ 10.735523] [<c0515520>] ? __driver_attach+0x0/0x80
[ 10.735523] [<c05150d3>] ? bus_add_driver+0x1a3/0x220
[ 10.735523] [<c048fb60>] ? pci_device_remove+0x0/0x40
[ 10.735523] [<c05157f4>] ? driver_register+0x54/0x130
[ 10.735523] [<c048fe2f>] ? __pci_register_driver+0x4f/0x90
[ 10.735523] [<c11e9419>] ? yenta_socket_init+0x19/0x20
[ 10.735523] [<c0101125>] ? do_one_initcall+0x35/0x160
[ 10.735523] [<c11e9400>] ? yenta_socket_init+0x0/0x20
[ 10.735523] [<c01391a6>] ? __queue_work+0x36/0x50
[ 10.735523] [<c013922d>] ? queue_work_on+0x3d/0x50
[ 10.735523] [<c11a2758>] ? kernel_init+0x148/0x210
[ 10.735523] [<c11a2610>] ? kernel_init+0x0/0x210
[ 10.735523] [<c01043f3>] ? kernel_thread_helper+0x7/0x10
[ 10.735523] =======================
[ 10.735523] Code: 10 38 f2 74 06 f3 90 8a 10 eb f6 5d 89 c8 c3 8d b6 00 00 00 00 8d bc 27 00 00 00 00 55 89 e5 e8 a4 e8 46 ff fa ba 00 01 00 00 90 <66> 0f c1 10 38 f2 74 06 f3 90 8a 10 eb f6 5d c3 90 55 89 e5 53
as auto-probing wants to iterate over existing irqs.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
2008-10-16 16:52:30 +02:00 |
| .. |
|
irq
|
irq: sparse irqs, fix IRQ auto-probe crash
|
2008-10-16 16:52:30 +02:00 |
|
power
|
ftrace: disable tracing for hibernation
|
2008-08-28 12:27:39 -07:00 |
|
time
|
[CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor
|
2008-10-09 13:52:44 -04:00 |
|
trace
|
hrtimer: prevent migration of per CPU hrtimers
|
2008-09-29 17:09:14 +02:00 |
|
.gitignore
|
|
|
|
acct.c
|
tty: Fix abusers of current->sighand->tty
|
2008-10-13 09:51:42 -07:00 |
|
audit.c
|
[PATCH] Fix the bug of using AUDIT_STATUS_RATE_LIMIT when set fail, no error output.
|
2008-08-01 12:15:16 -04:00 |
|
audit.h
|
[PATCH 1/2] audit: move extern declarations to audit.h
|
2008-04-28 06:28:04 -04:00 |
|
audit_tree.c
|
[PATCH] list_for_each_rcu must die: audit
|
2008-05-17 03:30:23 -04:00 |
|
auditfilter.c
|
Re: [PATCH] the loginuid field should be output in all AUDIT_CONFIG_CHANGE audit messages
|
2008-08-01 12:15:03 -04:00 |
|
auditsc.c
|
tty: Fix abusers of current->sighand->tty
|
2008-10-13 09:51:42 -07:00 |
|
backtracetest.c
|
backtrace: replace timer with tasklet + completions
|
2008-06-27 18:09:16 +02:00 |
|
bounds.c
|
Add kbuild.h that contains common definitions for kbuild users
|
2008-04-29 08:06:29 -07:00 |
|
capability.c
|
security: Fix setting of PF_SUPERPRIV by __capable()
|
2008-08-14 22:59:43 +10:00 |
|
cgroup.c
|
mm owner: fix race between swapoff and exit
|
2008-09-29 08:41:47 -07:00 |
|
cgroup_debug.c
|
CGroup API files: move "releasable" to cgroup_debug subsystem
|
2008-04-29 08:06:09 -07:00 |
|
compat.c
|
ntp: support for TAI
|
2008-05-01 08:03:59 -07:00 |
|
configs.c
|
kernel: use non-racy method for proc entries creation
|
2008-04-29 08:06:22 -07:00 |
|
cpu.c
|
Merge branches 'sched/devel', 'sched/cpu-hotplug', 'sched/cpusets' and 'sched/urgent' into sched/core
|
2008-10-08 11:31:02 +02:00 |
|
cpuset.c
|
cpusets: scan_for_empty_cpusets(), cpuset doesn't seem to be so const
|
2008-10-03 13:39:50 +02:00 |
|
delayacct.c
|
per-task-delay-accounting: update taskstats for memory reclaim delay
|
2008-07-25 10:53:47 -07:00 |
|
dma-coherent.c
|
dma-coherent: export dma_[alloc|release]_from_coherent methods
|
2008-08-22 08:34:53 +02:00 |
|
dma.c
|
kernel: use non-racy method for proc entries creation
|
2008-04-29 08:06:22 -07:00 |
|
exec_domain.c
|
[PATCH] kill altroot
|
2008-07-26 20:53:20 -04:00 |
|
exit.c
|
mm owner: fix race between swapoff and exit
|
2008-09-29 08:41:47 -07:00 |
|
extable.c
|
|
|
|
fork.c
|
tty: Add a kref count
|
2008-10-13 09:51:40 -07:00 |
|
futex.c
|
futexes: fix fault handling in futex_lock_pi
|
2008-06-23 13:31:15 +02:00 |
|
futex_compat.c
|
|
|
|
hrtimer.c
|
hrtimer: prevent migration of per CPU hrtimers
|
2008-09-29 17:09:14 +02:00 |
|
itimer.c
|
|
|
|
kallsyms.c
|
kallsyms: fix potential overflow in binary search
|
2008-07-25 10:53:27 -07:00 |
|
Kconfig.hz
|
sched: fix SCHED_HRTICK dependency
|
2008-07-28 14:37:38 +02:00 |
|
Kconfig.preempt
|
|
|
|
kexec.c
|
kexec: fix segmentation fault in kimage_add_entry
|
2008-09-23 08:09:14 -07:00 |
|
kfifo.c
|
|
|
|
kgdb.c
|
kgdb: call touch_softlockup_watchdog on resume
|
2008-10-06 13:50:59 -05:00 |
|
kmod.c
|
call_usermodehelper(): increase reliability
|
2008-07-25 10:53:28 -07:00 |
|
kprobes.c
|
kprobes: remove redundant config check
|
2008-07-25 10:53:30 -07:00 |
|
ksysfs.c
|
|
|
|
kthread.c
|
tracehook: wait_task_inactive
|
2008-07-26 12:00:09 -07:00 |
|
latencytop.c
|
kernel: use non-racy method for proc entries creation
|
2008-04-29 08:06:22 -07:00 |
|
lockdep.c
|
lockdep: fix invalid list_del_rcu in zap_class
|
2008-08-27 08:40:36 +02:00 |
|
lockdep_internals.h
|
lockdep: build fix
|
2008-08-13 12:55:10 +02:00 |
|
lockdep_proc.c
|
lockstat: fix numerical output rounding error
|
2008-08-26 10:37:46 +02:00 |
|
Makefile
|
Merge branch 'linus' into core/generic-dma-coherent
|
2008-07-29 00:07:55 +02:00 |
|
marker.c
|
markers: fix markers read barrier for multiple probes
|
2008-07-30 09:41:45 -07:00 |
|
module.c
|
[module] Don't let gcc inline load_module()
|
2008-08-25 11:10:26 -07:00 |
|
mutex-debug.c
|
mutex-debug: check mutex magic before owner
|
2008-05-16 16:53:35 +02:00 |
|
mutex-debug.h
|
|
|
|
mutex.c
|
locking: fix mutex @key parameter kernel-doc notation
|
2008-07-28 18:12:36 +02:00 |
|
mutex.h
|
|
|
|
notifier.c
|
ipc: re-enable msgmni automatic recomputing msgmni if set to negative
|
2008-04-29 08:06:13 -07:00 |
|
ns_cgroup.c
|
cgroup_clone: use pid of newly created task for new cgroup
|
2008-07-25 10:53:37 -07:00 |
|
nsproxy.c
|
removed unused #include <linux/version.h>'s
|
2008-08-23 12:14:12 -07:00 |
|
panic.c
|
Add a WARN() macro; this is WARN_ON() + printk arguments
|
2008-07-25 10:53:29 -07:00 |
|
params.c
|
|
|
|
pid.c
|
pidns: remove now unused find_pid function.
|
2008-07-25 10:53:45 -07:00 |
|
pid_namespace.c
|
pid_ns: (BUG 11391) change ->child_reaper when init->group_leader exits
|
2008-09-02 19:21:38 -07:00 |
|
pm_qos_params.c
|
pm_qos_requirement might sleep
|
2008-09-02 19:21:40 -07:00 |
|
posix-cpu-timers.c
|
posix-timers: print RT watchdog message
|
2008-05-24 18:49:22 +02:00 |
|
posix-timers.c
|
fix error-path NULL deref in alloc_posix_timer()
|
2008-10-02 15:53:13 -07:00 |
|
printk.c
|
tty: Move tty_write_message out of kernel/printk
|
2008-10-13 09:51:41 -07:00 |
|
profile.c
|
build kernel/profile.o only when requested
|
2008-07-25 10:53:27 -07:00 |
|
ptrace.c
|
security: Fix setting of PF_SUPERPRIV by __capable()
|
2008-08-14 22:59:43 +10:00 |
|
rcuclassic.c
|
rcu: RCU-based detection of stalled CPUs for Classic RCU, fix
|
2008-10-03 10:41:00 +02:00 |
|
rcupdate.c
|
rcu: fix synchronize_rcu() so that kernel-doc works
|
2008-08-21 09:31:44 +02:00 |
|
rcupreempt.c
|
rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c
|
2008-08-18 09:45:22 +02:00 |
|
rcupreempt_trace.c
|
rcu: trace fix possible mem-leak
|
2008-08-15 17:54:40 +02:00 |
|
rcutorture.c
|
rcu: make rcutorture even more vicious: invoke RCU readers from irq handlers (timers)
|
2008-06-26 09:24:33 +02:00 |
|
relay.c
|
relay: fix "full buffer with exactly full last subbuffer" accounting problem
|
2008-08-05 14:33:46 -07:00 |
|
res_counter.c
|
cgroup files: convert res_counter_write() to be a cgroups write_string() handler
|
2008-07-25 10:53:36 -07:00 |
|
resource.c
|
IO resources: add reserve_region_with_split()
|
2008-09-04 21:02:44 +02:00 |
|
rtmutex-debug.c
|
|
|
|
rtmutex-debug.h
|
|
|
|
rtmutex-tester.c
|
sysdev: Pass the attribute to the low level sysdev show/store function
|
2008-07-21 21:55:02 -07:00 |
|
rtmutex.c
|
|
|
|
rtmutex.h
|
|
|
|
rtmutex_common.h
|
|
|
|
rwsem.c
|
|
|
|
sched.c
|
irq: make irqs in kernel stat use per_cpu_dyn_array
|
2008-10-16 16:52:08 +02:00 |
|
sched_clock.c
|
sched_clock: fix cpu_clock()
|
2008-08-25 17:39:57 +02:00 |
|
sched_cpupri.c
|
sched: use a 2-d bitmap for searching lowest-pri CPU
|
2008-06-06 15:19:28 +02:00 |
|
sched_cpupri.h
|
sched: fix the cpuprio count really
|
2008-06-06 15:19:44 +02:00 |
|
sched_debug.c
|
[PATCH] signal, procfs: some lock_task_sighand() users do not need rcu_read_lock()
|
2008-10-10 04:18:57 +04:00 |
|
sched_fair.c
|
sched: sync wakeups vs avg_overlap
|
2008-10-08 12:20:26 +02:00 |
|
sched_features.h
|
sched: turn off WAKEUP_OVERLAP
|
2008-09-22 16:29:00 +02:00 |
|
sched_idletask.c
|
sched: wakeup preempt when small overlap
|
2008-09-22 16:28:32 +02:00 |
|
sched_rt.c
|
sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq
|
2008-10-04 14:31:54 +02:00 |
|
sched_stats.h
|
sched: fix accounting in task delay accounting & migration
|
2008-07-04 12:50:23 +02:00 |
|
seccomp.c
|
|
|
|
semaphore.c
|
semaphore: __down_common: use signal_pending_state()
|
2008-08-05 14:33:47 -07:00 |
|
signal.c
|
tracehook: fix SA_NOCLDWAIT
|
2008-08-19 20:37:07 -07:00 |
|
smp.c
|
smp: have smp_call_function_single() detect invalid CPUs
|
2008-08-25 17:45:48 -07:00 |
|
softirq.c
|
Full conversion to early_initcall() interface, remove old interface
|
2008-07-26 12:00:04 -07:00 |
|
softlockup.c
|
softlockup: minor cleanup, don't check task->state twice
|
2008-09-02 10:49:51 -07:00 |
|
spinlock.c
|
lockdep: spin_lock_nest_lock(), checkpatch fixes
|
2008-08-13 13:56:51 +02:00 |
|
srcu.c
|
|
|
|
stacktrace.c
|
stacktrace: fix modular build, export print_stack_trace and save_stack_trace
|
2008-06-30 09:20:55 +02:00 |
|
stop_machine.c
|
stop_machine: remove unused variable
|
2008-08-12 17:52:55 +10:00 |
|
sys.c
|
tty: Add a kref count
|
2008-10-13 09:51:40 -07:00 |
|
sys_ni.c
|
Configure out file locking features
|
2008-09-29 17:56:57 -04:00 |
|
sysctl.c
|
Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux
|
2008-10-14 12:31:14 -07:00 |
|
sysctl_check.c
|
sysctl: check for bogus modes
|
2008-07-25 10:53:45 -07:00 |
|
taskstats.c
|
taskstats: remove initialization of static per-cpu variable
|
2008-07-25 10:53:47 -07:00 |
|
test_kprobes.c
|
|
|
|
time.c
|
Make constants in kernel/timeconst.h fixed 64 bits
|
2008-05-02 16:18:42 -07:00 |
|
timeconst.pl
|
Make constants in kernel/timeconst.h fixed 64 bits
|
2008-05-02 16:18:42 -07:00 |
|
timer.c
|
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
|
2008-07-14 16:06:58 -07:00 |
|
tsacct.c
|
task IO accounting: move all IO statistics in struct task_io_accounting
|
2008-07-27 16:12:28 -07:00 |
|
uid16.c
|
|
|
|
user.c
|
sched: rt-bandwidth for user grouping interface
|
2008-08-19 13:10:09 +02:00 |
|
user_namespace.c
|
removed unused #include <linux/version.h>'s
|
2008-08-23 12:14:12 -07:00 |
|
utsname.c
|
removed unused #include <linux/version.h>'s
|
2008-08-23 12:14:12 -07:00 |
|
utsname_sysctl.c
|
removed unused #include <linux/version.h>'s
|
2008-08-23 12:14:12 -07:00 |
|
wait.c
|
|
|
|
workqueue.c
|
Merge branch 'core/locking' into core/urgent
|
2008-08-12 00:11:49 +02:00 |