Hi Dave,
Thank you so much for your help.
Below is the output of dis -rl n_tty_read+0x58c
crash> dis -rl n_tty_read+0x58c
dis: line numbers are not available
0xffffffff811efe27 <n_tty_read>: push %rbp
0xffffffff811efe28 <n_tty_read+1>: mov %gs:0xb500,%rax
0xffffffff811efe31 <n_tty_read+10>: mov %rsp,%rbp
0xffffffff811efe34 <n_tty_read+13>: push %r15
0xffffffff811efe36 <n_tty_read+15>: push %r14
0xffffffff811efe38 <n_tty_read+17>: push %r13
0xffffffff811efe3a <n_tty_read+19>: mov %rdi,%r13
0xffffffff811efe3d <n_tty_read+22>: lea -0x70(%rbp),%rdi
0xffffffff811efe41 <n_tty_read+26>: push %r12
0xffffffff811efe43 <n_tty_read+28>: push %rbx
0xffffffff811efe44 <n_tty_read+29>: lea 0x490(%r13),%rbx
0xffffffff811efe4b <n_tty_read+36>: sub $0xe8,%rsp
0xffffffff811efe52 <n_tty_read+43>: mov %rax,-0x98(%rbp)
0xffffffff811efe59 <n_tty_read+50>: mov %rcx,-0x78(%rbp)
0xffffffff811efe5d <n_tty_read+54>: xor %eax,%eax
0xffffffff811efe5f <n_tty_read+56>: mov $0xa,%ecx
0xffffffff811efe64 <n_tty_read+61>: mov %rdx,-0xd8(%rbp)
0xffffffff811efe6b <n_tty_read+68>: mov %rsi,-0xd0(%rbp)
0xffffffff811efe72 <n_tty_read+75>: mov %rdx,-0x40(%rbp)
0xffffffff811efe76 <n_tty_read+79>: rep stos %eax,%es:(%rdi)
0xffffffff811efe78 <n_tty_read+81>: lea 0x1c0(%r13),%rax
0xffffffff811efe7f <n_tty_read+88>: lea 0x1c8(%r13),%rcx
0xffffffff811efe86 <n_tty_read+95>: mov %rbx,-0xc0(%rbp)
0xffffffff811efe8d <n_tty_read+102>: lea 0xd8(%r13),%rbx
0xffffffff811efe94 <n_tty_read+109>: movq
$0xffffffff81045f84,-0x60(%rbp)
0xffffffff811efe9c <n_tty_read+117>: movq $0x0,-0xa8(%rbp)
0xffffffff811efea7 <n_tty_read+128>: mov -0x98(%rbp),%rdx
0xffffffff811efeae <n_tty_read+135>: mov %rax,-0xc8(%rbp)
0xffffffff811efeb5 <n_tty_read+142>: mov -0x98(%rbp),%rax
0xffffffff811efebc <n_tty_read+149>: mov %rcx,-0x90(%rbp)
0xffffffff811efec3 <n_tty_read+156>: lea 0x51c(%r13),%rcx
0xffffffff811efeca <n_tty_read+163>: mov %rbx,-0x80(%rbp)
0xffffffff811efece <n_tty_read+167>: mov %rdx,-0x68(%rbp)
0xffffffff811efed2 <n_tty_read+171>: lea 0x268(%r13),%rdx
0xffffffff811efed9 <n_tty_read+178>: mov %rcx,-0xb8(%rbp)
0xffffffff811efee0 <n_tty_read+185>: mov %rax,-0xf8(%rbp)
0xffffffff811efee7 <n_tty_read+192>: mov %rax,-0x100(%rbp)
0xffffffff811efeee <n_tty_read+199>: mov %rdx,-0x88(%rbp)
0xffffffff811efef5 <n_tty_read+206>: mov %rax,-0x108(%rbp)
0xffffffff811efefc <n_tty_read+213>: mov %rax,-0x110(%rbp)
0xffffffff811eff03 <n_tty_read+220>: cmpq $0x0,0x250(%r13)
0xffffffff811eff0b <n_tty_read+228>: jne 0xffffffff811eff11
<n_tty_read+234>
0xffffffff811eff0d <n_tty_read+230>: ud2a
0xffffffff811eff0f <n_tty_read+232>: jmp 0xffffffff811eff0f
<n_tty_read+232>
0xffffffff811eff11 <n_tty_read+234>: mov -0xd0(%rbp),%rdx
0xffffffff811eff18 <n_tty_read+241>: mov 0x20(%rdx),%rax
0xffffffff811eff1c <n_tty_read+245>: cmpq
$0xffffffff811ed61f,0x18(%rax)
0xffffffff811eff24 <n_tty_read+253>: je 0xffffffff811effef
<n_tty_read+456>
0xffffffff811eff2a <n_tty_read+259>: mov -0xf8(%rbp),%rcx
0xffffffff811eff31 <n_tty_read+266>: mov 0x478(%rcx),%rax
0xffffffff811eff38 <n_tty_read+273>: cmp %r13,0x180(%rax)
0xffffffff811eff3f <n_tty_read+280>: jne 0xffffffff811effef
<n_tty_read+456>
0xffffffff811eff45 <n_tty_read+286>: mov 0xc8(%r13),%rdx
0xffffffff811eff4c <n_tty_read+293>: test %rdx,%rdx
0xffffffff811eff4f <n_tty_read+296>: jne 0xffffffff811eff64
<n_tty_read+317>
0xffffffff811eff51 <n_tty_read+298>: mov $0xffffffff8139c972,%rdi
0xffffffff811eff58 <n_tty_read+305>: xor %eax,%eax
0xffffffff811eff5a <n_tty_read+307>: callq 0xffffffff812d4abf
<printk>
0xffffffff811eff5f <n_tty_read+312>: jmpq 0xffffffff811effef
<n_tty_read+456>
0xffffffff811eff64 <n_tty_read+317>: mov -0xf8(%rbp),%rbx
0xffffffff811eff6b <n_tty_read+324>: mov 0x1e0(%rbx),%rax
0xffffffff811eff72 <n_tty_read+331>: cmp %rdx,0x238(%rax)
0xffffffff811eff79 <n_tty_read+338>: je 0xffffffff811effef
<n_tty_read+456>
0xffffffff811eff7b <n_tty_read+340>: mov -0x98(%rbp),%rax
0xffffffff811eff82 <n_tty_read+347>: testb $0x10,0x48a(%rax)
0xffffffff811eff89 <n_tty_read+354>: jne 0xffffffff811f0611
<n_tty_read+2026>
0xffffffff811eff8f <n_tty_read+360>: mov 0x480(%rax),%rax
0xffffffff811eff96 <n_tty_read+367>: cmpq $0x1,0x288(%rax)
0xffffffff811eff9e <n_tty_read+375>: jne 0xffffffff811f0604
<n_tty_read+2013>
0xffffffff811effa4 <n_tty_read+381>: jmpq 0xffffffff811f0611
<n_tty_read+2026>
0xffffffff811effa9 <n_tty_read+386>: mov -0x98(%rbp),%rcx
0xffffffff811effb0 <n_tty_read+393>: mov $0x1,%edx
0xffffffff811effb5 <n_tty_read+398>: mov $0x15,%esi
0xffffffff811effba <n_tty_read+403>: mov 0x1e0(%rcx),%rax
0xffffffff811effc1 <n_tty_read+410>: mov 0x238(%rax),%rdi
0xffffffff811effc8 <n_tty_read+417>: callq 0xffffffff8105953a
<kill_pgrp>
0xffffffff811effcd <n_tty_read+422>: mov %gs:0xb508,%rdx
0xffffffff811effd6 <n_tty_read+431>: lea -0x1fc8(%rdx),%rax
0xffffffff811effdd <n_tty_read+438>: lock orb $0x4,-0x1fc8(%rdx)
0xffffffff811effe5 <n_tty_read+446>: mov $0xfffffe00,%eax
0xffffffff811effea <n_tty_read+451>: jmpq 0xffffffff811f0616
<n_tty_read+2031>
0xffffffff811effef <n_tty_read+456>: testb $0x10,0x21c(%r13)
0xffffffff811efff7 <n_tty_read+464>: je 0xffffffff811f000f
<n_tty_read+488>
0xffffffff811efff9 <n_tty_read+466>: movl $0x0,-0xb0(%rbp)
0xffffffff811f0003 <n_tty_read+476>: movl $0x0,-0xac(%rbp)
0xffffffff811f000d <n_tty_read+486>: jmp 0xffffffff811f0076
<n_tty_read+591>
0xffffffff811f000f <n_tty_read+488>: mov 0x70(%r13),%rdx
0xffffffff811f0013 <n_tty_read+492>: movzbl 0x16(%rdx),%eax
0xffffffff811f0017 <n_tty_read+496>: imul $0x19,%eax,%eax
0xffffffff811f001a <n_tty_read+499>: mov %eax,-0xac(%rbp)
0xffffffff811f0020 <n_tty_read+505>: movzbl 0x17(%rdx),%edx
0xffffffff811f0024 <n_tty_read+509>: test %edx,%edx
0xffffffff811f0026 <n_tty_read+511>: mov %edx,-0xb0(%rbp)
0xffffffff811f002c <n_tty_read+517>: je 0xffffffff811f0082
<n_tty_read+603>
0xffffffff811f002e <n_tty_read+519>: test %eax,%eax
0xffffffff811f0030 <n_tty_read+521>: je 0xffffffff811f003e
<n_tty_read+535>
0xffffffff811f0032 <n_tty_read+523>: movw $0x1,0x21e(%r13)
0xffffffff811f003c <n_tty_read+533>: jmp 0xffffffff811f0076
<n_tty_read+591>
0xffffffff811f003e <n_tty_read+535>: mov -0x90(%rbp),%rbx
0xffffffff811f0045 <n_tty_read+542>: cmp %rbx,0x1c8(%r13)
0xffffffff811f004c <n_tty_read+549>: je 0xffffffff811f0068
<n_tty_read+577>
0xffffffff811f004e <n_tty_read+551>: movzwl 0x21e(%r13),%eax
0xffffffff811f0056 <n_tty_read+559>: mov $0x7fffffffffffffff,%r15
0xffffffff811f0060 <n_tty_read+569>: cmp -0xb0(%rbp),%eax
0xffffffff811f0066 <n_tty_read+575>: jle 0xffffffff811f00b7
<n_tty_read+656>
0xffffffff811f0068 <n_tty_read+577>: mov -0xb0(%rbp),%eax
0xffffffff811f006e <n_tty_read+583>: mov %ax,0x21e(%r13)
0xffffffff811f0076 <n_tty_read+591>: mov $0x7fffffffffffffff,%r15
0xffffffff811f0080 <n_tty_read+601>: jmp 0xffffffff811f00b7
<n_tty_read+656>
0xffffffff811f0082 <n_tty_read+603>: movslq -0xac(%rbp),%r15
0xffffffff811f0089 <n_tty_read+610>: cmpl $0x0,-0xac(%rbp)
0xffffffff811f0090 <n_tty_read+617>: mov $0x0,%eax
0xffffffff811f0095 <n_tty_read+622>: movw $0x1,0x21e(%r13)
0xffffffff811f009f <n_tty_read+632>: movl $0x1,-0xb0(%rbp)
0xffffffff811f00a9 <n_tty_read+642>: movl $0x0,-0xac(%rbp)
0xffffffff811f00b3 <n_tty_read+652>: cmove %rax,%r15
0xffffffff811f00b7 <n_tty_read+656>: mov -0xd0(%rbp),%rdx
0xffffffff811f00be <n_tty_read+663>: testb $0x8,0x39(%rdx)
0xffffffff811f00c2 <n_tty_read+667>: je 0xffffffff811f00e4
<n_tty_read+701>
0xffffffff811f00c4 <n_tty_read+669>: mov -0xc0(%rbp),%rdi
0xffffffff811f00cb <n_tty_read+676>: callq 0xffffffff812d5ec7
<mutex_trylock>
0xffffffff811f00d0 <n_tty_read+681>: test %eax,%eax
0xffffffff811f00d2 <n_tty_read+683>: jne 0xffffffff811f0104
<n_tty_read+733>
0xffffffff811f00d4 <n_tty_read+685>: movq
$0xfffffffffffffff5,-0xa8(%rbp)
0xffffffff811f00df <n_tty_read+696>: jmpq 0xffffffff811f05eb
<n_tty_read+1988>
0xffffffff811f00e4 <n_tty_read+701>: mov -0xc0(%rbp),%rdi
0xffffffff811f00eb <n_tty_read+708>: callq 0xffffffff812d6358
<mutex_lock_interruptible>
0xffffffff811f00f0 <n_tty_read+713>: test %eax,%eax
0xffffffff811f00f2 <n_tty_read+715>: je 0xffffffff811f0104
<n_tty_read+733>
0xffffffff811f00f4 <n_tty_read+717>: movq
$0xfffffffffffffe00,-0xa8(%rbp)
0xffffffff811f00ff <n_tty_read+728>: jmpq 0xffffffff811f05eb
<n_tty_read+1988>
0xffffffff811f0104 <n_tty_read+733>: mov 0xec(%r13),%al
0xffffffff811f010b <n_tty_read+740>: mov -0xc8(%rbp),%rdi
0xffffffff811f0112 <n_tty_read+747>: lea -0x70(%rbp),%rsi
0xffffffff811f0116 <n_tty_read+751>: shr $0x3,%al
0xffffffff811f0119 <n_tty_read+754>: mov %eax,%ecx
0xffffffff811f011b <n_tty_read+756>: and $0x1,%ecx
0xffffffff811f011e <n_tty_read+759>: mov %ecx,-0x9c(%rbp)
0xffffffff811f0124 <n_tty_read+765>: callq 0xffffffff8106201b
<add_wait_queue>
0xffffffff811f0129 <n_tty_read+770>: movslq -0xb0(%rbp),%rbx
0xffffffff811f0130 <n_tty_read+777>: movslq -0xac(%rbp),%rax
0xffffffff811f0137 <n_tty_read+784>: mov -0xd8(%rbp),%rdx
0xffffffff811f013e <n_tty_read+791>: inc %rdx
0xffffffff811f0141 <n_tty_read+794>: mov %rbx,-0xe0(%rbp)
0xffffffff811f0148 <n_tty_read+801>: mov %rax,-0xe8(%rbp)
0xffffffff811f014f <n_tty_read+808>: mov %rdx,-0xf0(%rbp)
0xffffffff811f0156 <n_tty_read+815>: jmpq 0xffffffff811f0522
<n_tty_read+1787>
0xffffffff811f015b <n_tty_read+820>: cmpl $0x0,-0x9c(%rbp)
0xffffffff811f0162 <n_tty_read+827>: je 0xffffffff811f01ef
<n_tty_read+968>
0xffffffff811f0168 <n_tty_read+833>: mov 0xf8(%r13),%rax
0xffffffff811f016f <n_tty_read+840>: cmpb $0x0,0xed(%rax)
0xffffffff811f0176 <n_tty_read+847>: je 0xffffffff811f01ef
<n_tty_read+968>
0xffffffff811f0178 <n_tty_read+849>: mov -0xd8(%rbp),%rcx
0xffffffff811f017f <n_tty_read+856>: cmp %rcx,-0x40(%rbp)
0xffffffff811f0183 <n_tty_read+860>: jne 0xffffffff811f052d
<n_tty_read+1798>
0xffffffff811f0189 <n_tty_read+866>: lea 0x68(%rax),%rdi
0xffffffff811f018d <n_tty_read+870>: callq 0xffffffff812d6fb8
<_spin_lock_irqsave>
0xffffffff811f0192 <n_tty_read+875>: mov 0xf8(%r13),%rdi
0xffffffff811f0199 <n_tty_read+882>: mov %rax,%rsi
0xffffffff811f019c <n_tty_read+885>: mov 0xed(%rdi),%bl
0xffffffff811f01a2 <n_tty_read+891>: movb $0x0,0xed(%rdi)
0xffffffff811f01a9 <n_tty_read+898>: add $0x68,%rdi
0xffffffff811f01ad <n_tty_read+902>: callq 0xffffffff812d70c1
<_spin_unlock_irqrestore>
0xffffffff811f01b2 <n_tty_read+907>: mov -0x40(%rbp),%r12
0xffffffff811f01b6 <n_tty_read+911>: lea -0x31(%rbp),%rsi
0xffffffff811f01ba <n_tty_read+915>: mov $0x1,%edx
0xffffffff811f01bf <n_tty_read+920>: mov %r13,%rdi
0xffffffff811f01c2 <n_tty_read+923>: mov %bl,-0x31(%rbp)
0xffffffff811f01c5 <n_tty_read+926>: lea 0x1(%r12),%rax
0xffffffff811f01ca <n_tty_read+931>: mov %rax,-0x40(%rbp)
0xffffffff811f01ce <n_tty_read+935>: callq 0xffffffff812008ac
<tty_audit_add_data>
0xffffffff811f01d3 <n_tty_read+940>: mov -0x31(%rbp),%al
0xffffffff811f01d6 <n_tty_read+943>: mov %r12,%rcx
0xffffffff811f01d9 <n_tty_read+946>: callq 0xffffffff811949a0
<__put_user_1>
0xffffffff811f01de <n_tty_read+951>: test %eax,%eax
0xffffffff811f01e0 <n_tty_read+953>: jne 0xffffffff811f043d
<n_tty_read+1558>
0xffffffff811f01e6 <n_tty_read+959>: decq -0x78(%rbp)
0xffffffff811f01ea <n_tty_read+963>: jmpq 0xffffffff811f052d
<n_tty_read+1798>
0xffffffff811f01ef <n_tty_read+968>: mov $0x1,%eax
0xffffffff811f01f4 <n_tty_read+973>: mov -0x100(%rbp),%rbx
0xffffffff811f01fb <n_tty_read+980>: xchg %rax,(%rbx)
0xffffffff811f01fe <n_tty_read+983>: mov -0x40(%rbp),%rcx
0xffffffff811f0202 <n_tty_read+987>: mov -0xd8(%rbp),%rax
0xffffffff811f0209 <n_tty_read+994>: mov -0xe0(%rbp),%rbx
0xffffffff811f0210 <n_tty_read+1001>: sub %rcx,%rax
0xffffffff811f0213 <n_tty_read+1004>: lea (%rax,%rbx,1),%rdx
0xffffffff811f0217 <n_tty_read+1008>: movzwl 0x21e(%r13),%eax
0xffffffff811f021f <n_tty_read+1016>: cmp %rax,%rdx
0xffffffff811f0222 <n_tty_read+1019>: jge 0xffffffff811f0240
<n_tty_read+1049>
0xffffffff811f0224 <n_tty_read+1021>: test %rdx,%rdx
0xffffffff811f0227 <n_tty_read+1024>: jle 0xffffffff811f0240
<n_tty_read+1049>
0xffffffff811f0229 <n_tty_read+1026>: mov -0xd8(%rbp),%eax
0xffffffff811f022f <n_tty_read+1032>: sub %cx,%ax
0xffffffff811f0232 <n_tty_read+1035>: add -0xb0(%rbp),%eax
0xffffffff811f0238 <n_tty_read+1041>: mov %ax,0x21e(%r13)
0xffffffff811f0240 <n_tty_read+1049>: mov %r13,%rdi
0xffffffff811f0243 <n_tty_read+1052>: callq 0xffffffff811f37f3
<tty_flush_to_ldisc>
0xffffffff811f0248 <n_tty_read+1057>: testb $0x10,0x21c(%r13)
0xffffffff811f0250 <n_tty_read+1065>: je 0xffffffff811f0261
<n_tty_read+1082>
0xffffffff811f0252 <n_tty_read+1067>: cmpl $0x0,0x478(%r13)
0xffffffff811f025a <n_tty_read+1075>: jne 0xffffffff811f026f
<n_tty_read+1096>
0xffffffff811f025c <n_tty_read+1077>: jmpq 0xffffffff811f0621
<n_tty_read+2042>
0xffffffff811f0261 <n_tty_read+1082>: cmpl $0x0,0x260(%r13)
0xffffffff811f0269 <n_tty_read+1090>: jle 0xffffffff811f0621
<n_tty_read+2042>
0xffffffff811f026f <n_tty_read+1096>: mov -0x110(%rbp),%rax
0xffffffff811f0276 <n_tty_read+1103>: movq $0x0,(%rax)
0xffffffff811f027d <n_tty_read+1110>: cmpl $0x0,-0x9c(%rbp)
0xffffffff811f0284 <n_tty_read+1117>: mov -0x40(%rbp),%rax
0xffffffff811f0288 <n_tty_read+1121>: je 0xffffffff811f0376
<n_tty_read+1359>
0xffffffff811f028e <n_tty_read+1127>: cmp -0xd8(%rbp),%rax
0xffffffff811f0295 <n_tty_read+1134>: jne 0xffffffff811f0376
<n_tty_read+1359>
0xffffffff811f029b <n_tty_read+1140>: jmpq 0xffffffff811f033b
<n_tty_read+1300>
0xffffffff811f02a0 <n_tty_read+1145>: mov -0xd0(%rbp),%rdi
0xffffffff811f02a7 <n_tty_read+1152>: callq 0xffffffff811eb980
<tty_hung_up_p>
0xffffffff811f02ac <n_tty_read+1157>: test %eax,%eax
0xffffffff811f02ae <n_tty_read+1159>: jne 0xffffffff811f052d
<n_tty_read+1798>
0xffffffff811f02b4 <n_tty_read+1165>: test %r15,%r15
0xffffffff811f02b7 <n_tty_read+1168>: je 0xffffffff811f052d
<n_tty_read+1798>
0xffffffff811f02bd <n_tty_read+1174>: mov -0xd0(%rbp),%rdx
0xffffffff811f02c4 <n_tty_read+1181>: testb $0x8,0x39(%rdx)
0xffffffff811f02c8 <n_tty_read+1185>: je 0xffffffff811f02da
<n_tty_read+1203>
0xffffffff811f02ca <n_tty_read+1187>: movq
$0xfffffffffffffff5,-0xa8(%rbp)
0xffffffff811f02d5 <n_tty_read+1198>: jmpq 0xffffffff811f052d
<n_tty_read+1798>
0xffffffff811f02da <n_tty_read+1203>: mov -0x108(%rbp),%rcx
0xffffffff811f02e1 <n_tty_read+1210>: mov 0x8(%rcx),%rax
0xffffffff811f02e5 <n_tty_read+1214>: testb $0x4,0x10(%rax)
0xffffffff811f02e9 <n_tty_read+1218>: je 0xffffffff811f02fb
<n_tty_read+1236>
0xffffffff811f02eb <n_tty_read+1220>: movq
$0xfffffffffffffe00,-0xa8(%rbp)
0xffffffff811f02f6 <n_tty_read+1231>: jmpq 0xffffffff811f052d
<n_tty_read+1798>
0xffffffff811f02fb <n_tty_read+1236>: mov $0xfff,%eax
0xffffffff811f0300 <n_tty_read+1241>: sub 0x260(%r13),%eax
0xffffffff811f0307 <n_tty_read+1248>: test %eax,%eax
0xffffffff811f0309 <n_tty_read+1250>: jg 0xffffffff811f0324
<n_tty_read+1277>
0xffffffff811f030b <n_tty_read+1252>: xor %eax,%eax
0xffffffff811f030d <n_tty_read+1254>: testb $0x10,0x21c(%r13)
0xffffffff811f0315 <n_tty_read+1262>: je 0xffffffff811f0324
<n_tty_read+1277>
0xffffffff811f0317 <n_tty_read+1264>: xor %eax,%eax
0xffffffff811f0319 <n_tty_read+1266>: cmpl $0x0,0x478(%r13)
0xffffffff811f0321 <n_tty_read+1274>: sete %al
0xffffffff811f0324 <n_tty_read+1277>: mov %r15,%rdi
0xffffffff811f0327 <n_tty_read+1280>: mov %eax,0xf0(%r13)
0xffffffff811f032e <n_tty_read+1287>: callq 0xffffffff812d5a02
<schedule_timeout>
0xffffffff811f0333 <n_tty_read+1292>: mov %rax,%r15
0xffffffff811f0336 <n_tty_read+1295>: jmpq 0xffffffff811f0522
<n_tty_read+1787>
0xffffffff811f033b <n_tty_read+1300>: mov -0xf0(%rbp),%rbx
0xffffffff811f0342 <n_tty_read+1307>: lea -0x31(%rbp),%rsi
0xffffffff811f0346 <n_tty_read+1311>: mov $0x1,%edx
0xffffffff811f034b <n_tty_read+1316>: mov %r13,%rdi
0xffffffff811f034e <n_tty_read+1319>: movb $0x0,-0x31(%rbp)
0xffffffff811f0352 <n_tty_read+1323>: mov %rbx,-0x40(%rbp)
0xffffffff811f0356 <n_tty_read+1327>: callq 0xffffffff812008ac
<tty_audit_add_data>
0xffffffff811f035b <n_tty_read+1332>: mov -0x31(%rbp),%al
0xffffffff811f035e <n_tty_read+1335>: mov -0xd8(%rbp),%rcx
0xffffffff811f0365 <n_tty_read+1342>: callq 0xffffffff811949a0
<__put_user_1>
0xffffffff811f036a <n_tty_read+1347>: test %eax,%eax
0xffffffff811f036c <n_tty_read+1349>: jne 0xffffffff811f043d
<n_tty_read+1558>
0xffffffff811f0372 <n_tty_read+1355>: decq -0x78(%rbp)
0xffffffff811f0376 <n_tty_read+1359>: testb $0x10,0x21c(%r13)
0xffffffff811f037e <n_tty_read+1367>: jne 0xffffffff811f0456
<n_tty_read+1583>
0xffffffff811f0384 <n_tty_read+1373>: jmpq 0xffffffff811f047a
<n_tty_read+1619>
0xffffffff811f0389 <n_tty_read+1378>: mov 0x25c(%r13),%eax
0xffffffff811f0390 <n_tty_read+1385>: mov -0x88(%rbp),%rbx
0xffffffff811f0397 <n_tty_read+1392>: lock btr %eax,(%rbx)
0xffffffff811f039b <n_tty_read+1396>: sbb %r14d,%r14d
0xffffffff811f039e <n_tty_read+1399>: movslq 0x25c(%r13),%rdx
0xffffffff811f03a5 <n_tty_read+1406>: mov 0x250(%r13),%rax
0xffffffff811f03ac <n_tty_read+1413>: mov -0xb8(%rbp),%rdi
0xffffffff811f03b3 <n_tty_read+1420>: movsbl (%rax,%rdx,1),%ebx
Below is the output of bt -a command in crash
bt -a
PID: 0 TASK: ffffffff814204b0 CPU: 0 COMMAND: "swapper"
#0 [ffff880033007e80] crash_nmi_callback at ffffffff8101fbc9
#1 [ffff880033007e90] notifier_call_chain at ffffffff81065893
#2 [ffff880033007ed0] atomic_notifier_call_chain at ffffffff810658dd
#3 [ffff880033007ee0] notify_die at ffffffff8106597f
#4 [ffff880033007f10] do_nmi at ffffffff8100dc5d
#5 [ffff880033007f50] nmi at ffffffff812d76b0
[exception RIP: mwait_idle+163]
RIP: ffffffff81013029 RSP: ffffffff813e3eb8 RFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffffff813e3fd8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff813e3fd8 RDI: ffffffff81522308
RBP: ffffffff813e3ec8 R8: 0000000000000000 R9: ffff88003306e290
R10: 0000000000012d80 R11: 0000000000000000 R12: ffffffff8147e368
R13: ffffffff814ccb30 R14: ffffffff814cdfa0 R15: ffffffff813e3fa8
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
--- <NMI exception stack> ---
#6 [ffffffff813e3eb8] mwait_idle at ffffffff81013029
#7 [ffffffff813e3ed0] cpu_idle at ffffffff8100af21
PID: 13366 TASK: ffff88031b60d580 CPU: 1 COMMAND: "telnet"
#0 [ffff88031ce759d0] machine_kexec at ffffffff81024486
#1 [ffff88031ce75a40] crash_kexec at ffffffff8107e230
#2 [ffff88031ce75b20] oops_end at ffffffff8100fa38
#3 [ffff88031ce75b50] no_context at ffffffff8102d801
#4 [ffff88031ce75ba0] __bad_area_nosemaphore at ffffffff8102d9c9
#5 [ffff88031ce75c70] bad_area at ffffffff8102da41
#6 [ffff88031ce75ca0] do_page_fault at ffffffff8102dd19
#7 [ffff88031ce75cf0] page_fault at ffffffff812d7425
[exception RIP: n_tty_read+1420]
RIP: ffffffff811f03b3 RSP: ffff88031ce75da8 RFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8802cbd54a68 RCX: 000000000061c044
RDX: 0000000000000005 RSI: ffff88031ce75e87 RDI: ffff8802cbd54d1c
RBP: ffff88031ce75eb8 R8: 0000000000000000 R9: 0000000000000000
R10: 0000000000616680 R11: 0000000000000246 R12: 000000000061c044
R13: ffff8802cbd54800 R14: 0000000000000000 R15: 7fffffffffffffff
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
#8 [ffff88031ce75ec0] tty_read at ffffffff811ebf7e
#9 [ffff88031ce75f10] vfs_read at ffffffff810ebcc8
#10 [ffff88031ce75f40] sys_read at ffffffff810ebe48
#11 [ffff88031ce75f80] system_call_fastpath at ffffffff8100bbc2
RIP: 00007ffff716b9e0 RSP: 00007fffffffdfc0 RFLAGS: 00010212
RAX: 0000000000000000 RBX: ffffffff8100bbc2 RCX: 0000000000000000
RDX: 0000000000001ff6 RSI: 000000000061c02a RDI: 0000000000000000
RBP: 0000000000001ff6 R8: 0000000000000000 R9: 0000000000000000
R10: 0000000000616680 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000001 R14: 000000000061c02a R15: 00000000006178a0
ORIG_RAX: 0000000000000000 CS: 0033 SS: 002b
PID: 0 TASK: ffff88031e0e3540 CPU: 2 COMMAND: "swapper"
#0 [ffff880033047e80] crash_nmi_callback at ffffffff8101fbc9
#1 [ffff880033047e90] notifier_call_chain at ffffffff81065893
#2 [ffff880033047ed0] atomic_notifier_call_chain at ffffffff810658dd
#3 [ffff880033047ee0] notify_die at ffffffff8106597f
#4 [ffff880033047f10] do_nmi at ffffffff8100dc5d
#5 [ffff880033047f50] nmi at ffffffff812d76b0
[exception RIP: mwait_idle+163]
RIP: ffffffff81013029 RSP: ffff88031e0e5ef8 RFLAGS: 00000246
RAX: 0000000000000000 RBX: ffff88031e0e5fd8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff88031e0e5fd8 RDI: ffffffff81522308
RBP: ffff88031e0e5f08 R8: 0000000000000000 R9: ffff88003302e290
R10: 0000000000012d80 R11: 0000000000000000 R12: ffffffff8147e368
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
--- <NMI exception stack> ---
#6 [ffff88031e0e5ef8] mwait_idle at ffffffff81013029
#7 [ffff88031e0e5f10] cpu_idle at ffffffff8100af21
PID: 0 TASK: ffff88031e113580 CPU: 3 COMMAND: "swapper"
#0 [ffff880033067e80] crash_nmi_callback at ffffffff8101fbc9
#1 [ffff880033067e90] notifier_call_chain at ffffffff81065893
#2 [ffff880033067ed0] atomic_notifier_call_chain at ffffffff810658dd
#3 [ffff880033067ee0] notify_die at ffffffff8106597f
#4 [ffff880033067f10] do_nmi at ffffffff8100dc5d
#5 [ffff880033067f50] nmi at ffffffff812d76b0
[exception RIP: mwait_idle+163]
RIP: ffffffff81013029 RSP: ffff88031e115ef8 RFLAGS: 00000246
RAX: 0000000000000000 RBX: ffff88031e115fd8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff88031e115fd8 RDI: ffffffff81522308
RBP: ffff88031e115f08 R8: 0000000000000000 R9: 0000000000000000
R10: 0000000000000800 R11: 0000000000000000 R12: ffffffff8147e368
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
--- <NMI exception stack> ---
#6 [ffff88031e115ef8] mwait_idle at ffffffff81013029
#7 [ffff88031e115f10] cpu_idle at ffffffff8100af21
Please let me know if you need any other details.
Thanks and Regards
Shashidhara
-----Original Message-----
From: crash-utility-bounces(a)redhat.com
[mailto:crash-utility-bounces@redhat.com] On Behalf Of Dave Anderson
Sent: Thursday, June 23, 2011 9:35 PM
To: Discussion list for crash utility usage,maintenance and development
Subject: Re: [Crash-utility] Unable to switch stack frames while using
crash
----- Original Message -----
BTW, are you sure about that?
Presuming that the "tty" pointer is ffff8802cbd54800 as you've shown
below,
and therefore tty->read_buf is 0xffff8802cbfe6000 and
tty->read_tail
is 0,
then the statement above would be simply be reading
tty->read_buf[0],
or
virtual address 0xffff8802cbfe6000. But the oops shows it faulting on
a
virtual address of "5":
BUG: unable to handle kernel NULL pointer dereference at
0000000000000005
Just for my own sanity, can you either attach the "drivers/char/n_tty.c"
from *your* specific kernel, or get the source-code/line-number data
from
the embedded gdb module?
If you don't have the n_tty.c file readily available, you can get the
source-code/line-number data of a particular function by doing something
like this:
Get the line number of the beginning of n_tty_read(), which in my kernel
is at 1698 -- your's will probably be different:
crash> gdb list n_tty_read
1695 * This code must be sure never to sleep through a hangup.
1696 */
1697
1698 static ssize_t n_tty_read(struct tty_struct *tty, struct file
*file,
1699 unsigned char __user *buf, size_t nr)
1700 {
1701 unsigned char __user *b = buf;
1702 DECLARE_WAITQUEUE(wait, current);
1703 int c;
1704 int minimum, time;
crash>
Then get the line number of the next function in the file, which is
n_tty_write():
crash> gdb list n_tty_write
1918 * lock themselves)
1919 */
1920
1921 static ssize_t n_tty_write(struct tty_struct *tty, struct file
*file,
1922 const unsigned char *buf, size_t nr)
1923 {
1924 const unsigned char *b = buf;
1925 DECLARE_WAITQUEUE(wait, current);
1926 int c;
1927 ssize_t retval = 0;
And then dump the whole n_tty_read() function (plus some extra stuff):
crash> gdb list 1698,1920
1698 static ssize_t n_tty_read(struct tty_struct *tty, struct file
*file,
1699 unsigned char __user *buf, size_t nr)
1700 {
1701 unsigned char __user *b = buf;
1702 DECLARE_WAITQUEUE(wait, current);
1703 int c;
1704 int minimum, time;
1705 ssize_t retval = 0;
1706 ssize_t size;
1707 long timeout;
1708 unsigned long flags;
1709 int packet;
1710
1711 do_it_again:
1712
1713 BUG_ON(!tty->read_buf);
1714
1715 c = job_control(tty, file);
1716 if (c < 0)
1717 return c;
1718
1719 minimum = time = 0;
1720 timeout = MAX_SCHEDULE_TIMEOUT;
1721 if (!tty->icanon) {
1722 time = (HZ / 10) * TIME_CHAR(tty);
1723 minimum = MIN_CHAR(tty);
...
And lastly, since the crash occurred at
IP: [<ffffffff811f03b3>] n_tty_read+0x58c/0x818
Do this:
crash> dis -rl n_tty_read+0x58c
...
And then post all of that data.
Dave
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
Information transmitted by this e-mail is proprietary to MphasiS, its associated companies
and/ or its customers and is intended
for use only by the individual or entity to which it is addressed, and may contain
information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended recipient or it
appears that this mail has been forwarded
to you without proper authority, you are notified that any use or dissemination of this
information in any manner is strictly
prohibited. In such cases, please notify us immediately at mailmaster(a)mphasis.com and
delete this mail from your records.