<div class="gmail_quote">On Mon, Aug 12, 2013 at 8:37 PM, amit mehta <span dir="ltr"><<a href="mailto:gmate.amit@gmail.com" target="_blank">gmate.amit@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On Mon, Aug 12, 2013 at 5:28 PM, nidhi mittal hada<br>
<<a href="mailto:nidhimittal19@gmail.com" target="_blank">nidhimittal19@gmail.com</a>> wrote:<br>
> Questions:-<br>
> 1)Which memory address in stack contains struct super_block *s<br>
> 2)how does disassembly helps in knowing which register contain the struct<br>
> super_block *s<br>
> 3)bt -f gives highlighted above, register dump at the end, does that help in<br>
> finding this information ???<br>
<br>
</div>Have you *actually* spent your time on reading the AMD 64ABI [1] ?<br>
Also there is a very nice and concise document available on x86_64<br>
assembly [2]. While trying to analyse kernel crash dump using 'crash',<br>
utility you might want to refer this page [1] and this blog [4] as well.<br>
<br>
[1] <a href="http://www.uclibc.org/docs/psABI-x86_64.pdf" target="_blank">http://www.uclibc.org/docs/psABI-x86_64.pdf</a><br>
[2] <a href="http://www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf" target="_blank">www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf</a><br>
[3] <a href="http://people.redhat.com/~anderson/" target="_blank">http://people.redhat.com/~anderson/</a><br>
[4] <a href="http://www.sungju.org/?p=1166" target="_blank">http://www.sungju.org/?p=1166</a><br>
<span><font color="#888888"><br>
!!amit<br>
</font></span></blockquote></div><br><u><b>Thats my system on which ran crash tool</b></u><br>[nidhi@raw ~]$ uname -a<br>Linux <a href="http://raw.ind.hp.com">raw.ind.hp.com</a> 2.6.32-220.el6.hpsp16k1.x86_64 #1 SMP Mon Nov 19 17:07:07 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux<br>
<br><u><b>thats the information of coredump file:-</b></u><br> KERNEL: vmlinux <br> DUMPFILE: vmcore.1 [PARTIAL DUMP]<br> CPUS: 8<br> DATE: Mon Jun 11 09:10:59 2012<br> UPTIME: 13 days, 22:39:30<br>
LOAD AVERAGE: 83.88, 62.23, 30.30<br> TASKS: 393<br> NODENAME: <a href="http://million.ind.hp.com">million.ind.hp.com</a><br> RELEASE: 2.6.32-220.el6.hpsp16k1.x86_64<br> VERSION: #1 SMP Mon Nov 19 17:07:07 UTC 2012<br>
MACHINE: x86_64 (2132 Mhz)<br> MEMORY: 96 GB<br> PANIC: "Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 4"<br> PID: 26715<br> COMMAND: "mount.*******"<br>
TASK: ffff8817dd4de0c0 [THREAD_INFO: ffff8802c3f80000]<br> CPU: 4<br> STATE: TASK_UNINTERRUPTIBLE (PANIC)<br><br><br>Thank you very very much .. <u><b>It was so helpful what Tobias and amit explained.</b></u><br>
<br>I actually skipped AMD64 ABI considering its for AMD architecture and mine was<br>x86_64 .. my mistake !!<br><br>i read from wikipedia x86 calling convention link.<br>What i read was that all function arguments should be on stack .. thats where i was wrong....!!!<br>
I read that on x86_64 arg are pushed from right to left ..which also seems wrong now..<br><br>Now i m finding AMD 64ABI is the thing to be read for understanding this crash output.<br><br>Thanks a lottt<br><br>Nidhi <br>
<br>
<br><br><br>