Oscar Hellström | 9 Sep 2011 14:51

Errors in schedule / _switch_to

Hi,

I'm running an older version of the kernel, 2.6.32.3, and I'm experiencing
segmentations faults in _switch_to, which is called from schedule. My
stacktrace looks like:
...
#13 <signal handler called>
#14 _switch_to (prev=0x43ff1340, next=0xffffffd4, last=0x43ff1340) at
arch/um/kernel/process.c:82
#15 0x08205cd9 in schedule () at kernel/sched.c:2886
#16 0x08205dda in io_schedule () at kernel/sched.c:6784
#17 0x0809af72 in sync_page (word=0x96ba180) at mm/filemap.c:187
#18 0x08205fde in __wait_on_bit_lock (wq=0x980b7d8, q=0x43fd5ce4,
action=0x809af37 <sync_page>, mode=2) at kernel/wait.c:229
#19 0x0809af21 in __lock_page (page=0x96ba180) at mm/filemap.c:601
#20 0x0809afbd in find_lock_page (mapping=0x47608668, offset=2596) at
include/linux/pagemap.h:317
#21 0x0809c888 in filemap_fault (vma=0x43d70764, vmf=0x43fd5d8c) at
mm/filemap.c:1538
#22 0x080a88ad in __do_fault (mm=0x478855e0, vma=0x43d70764,
address=2437412980, pmd=0x472c0914, pgoff=2596, flags=0, orig_pte={pte =
0}) at mm/memory.c:2719
#23 0x080a9fec in handle_mm_fault (mm=0x478855e0, vma=0x43d70764,
address=2437412980, flags=0) at mm/memory.c:2917
#24 0x0805c5f1 in handle_page_fault (address=2437412980, ip=1076410045,
is_write=0, is_user=1, code_out=0x43fd5e40) at arch/um/kernel/trap.c:71
#25 0x0805c729 in segv (fi={error_code = 4, cr2 = 2437412980, trap_no =
14}, ip=1076410045, is_user=1, regs=0x43ff1550) at
arch/um/kernel/trap.c:178
#26 0x0805c91e in segv_handler (sig=11, regs=0x43ff1550) at
(Continue reading)

Oscar Hellström | 9 Sep 2011 14:13
Gravatar

Errors in schedule / _switch_to

Hi,

I'm running an older version of the kernel, 2.6.32.3 and I'm experiencing
segmentations faults in _switch_to, which is called from schedule. My
stacktrace looks like:
3 <signal handler called>
#14 _switch_to (prev=0x43ff1340, next=0xffffffd4, last=0x43ff1340) at
arch/um/kernel/process.c:82
#15 0x08205cd9 in schedule () at kernel/sched.c:2886
#16 0x08205dda in io_schedule () at kernel/sched.c:6784
#17 0x0809af72 in sync_page (word=0x96ba180) at mm/filemap.c:187
#18 0x08205fde in __wait_on_bit_lock (wq=0x980b7d8, q=0x43fd5ce4,
action=0x809af37 <sync_page>, mode=2) at kernel/wait.c:229
#19 0x0809af21 in __lock_page (page=0x96ba180) at mm/filemap.c:601
#20 0x0809afbd in find_lock_page (mapping=0x47608668, offset=2596) at
include/linux/pagemap.h:317
#21 0x0809c888 in filemap_fault (vma=0x43d70764, vmf=0x43fd5d8c) at
mm/filemap.c:1538
#22 0x080a88ad in __do_fault (mm=0x478855e0, vma=0x43d70764,
address=2437412980, pmd=0x472c0914, pgoff=2596, flags=0, 
orig_pte={pte = 0}) at mm/memory.c:2719
#23 0x080a9fec in handle_mm_fault (mm=0x478855e0, vma=0x43d70764,
address=2437412980, flags=0) at mm/memory.c:2917
#24 0x0805c5f1 in handle_page_fault (address=2437412980, ip=1076410045,
is_write=0, is_user=1, code_out=0x43fd5e40)
at arch/um/kernel/trap.c:71
#25 0x0805c729 in segv (fi={error_code = 4, cr2 = 2437412980, trap_no =
14}, ip=1076410045, is_user=1, regs=0x43ff1550)
at arch/um/kernel/trap.c:178
#26 0x0805c91e in segv_handler (sig=11, regs=0x43ff1550) at
(Continue reading)

richard -rw- weinberger | 10 Sep 2011 13:10
Picon

Re: Errors in schedule / _switch_to

2011/9/9 Oscar Hellström <oscar <at> hellstrom.st>:
>
> Any pointer to what this can be and where I can start looking would be
> appreciated!
>

Does with also happen with a vanilla kernel?
Do you have a full trace? The value of EIP would be helpful.

--

-- 
Thanks,
//richard

------------------------------------------------------------------------------
Malware Security Report: Protecting Your Business, Customers, and the 
Bottom Line. Protect your business and customers by understanding the 
threat from malware and how it can impact your online business. 
http://www.accelacomm.com/jaw/sfnl/114/51427462/
Oscar Hellström | 12 Sep 2011 12:46
Gravatar

Re: Errors in schedule / _switch_to

Hi,

I don't think I can reproduce this on a vanilla kernel, but I can't run my
application without my driver (and some other changes).

bt full gives me:
....
#13 <signal handler called>
No symbol table info available.
#14 _switch_to (prev=0x43ff1340, next=0xffffffd4, last=0x43ff1340) at
arch/um/kernel/process.c:82
from = (struct task_struct *) 0x43ff1340
to = (struct task_struct *) 0xffffffd4
#15 0x08205cd9 in schedule () at kernel/sched.c:2886
prev = (struct task_struct *) 0x43ff1340
next = (struct task_struct *) 0xffffffd4
switch_count = (long unsigned int *) 0x43ff14c8
#16 0x08205dda in io_schedule () at kernel/sched.c:6784
No locals.
#17 0x0809af72 in sync_page (word=0x96ba180) at mm/filemap.c:187
mapping = (struct address_space *) 0x0
#18 0x08205fde in __wait_on_bit_lock (wq=0x980b7d8, q=0x43fd5ce4,
action=0x809af37 <sync_page>, mode=2) at kernel/wait.c:229
ret = 158048640
#19 0x0809af21 in __lock_page (page=0x96ba180) at mm/filemap.c:601
wait = {key = {flags = 0x96ba180, bit_nr = 0}, wait = {flags = 1, private =
0x43ff1340, 
func = 0x8086ef9 <wake_bit_function>, task_list = {next = 0x980b7d8, prev =
0x980b7d8}}}
#20 0x0809afbd in find_lock_page (mapping=0x47608668, offset=2596) at
(Continue reading)


Gmane