I have access to a system whose crashdump extraction mechanism
unfortunately trashes the first few hundred kilobytes of physical
memory, which includes the page tables at swapper_pg_dir.
crash does chug along and remains quite useful without these page tables
since much of the interesting information is in the direct mapped
region, but it disables the use of the unwind tables because it
fails to read the module unwind tables, which are placed at a
non-direct-mapped address.
The patch below allows unwind tables to be used only for core kernel
addresses if the module tables are inaccessible.
Alternatively, we could perhaps not attempt to read the
module unwind tables when --no_modules is specified.
for (tbl = &module_unwind_tables[0]; tbl->idx; tbl++) {
--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
01-29-2012, 06:02 PM
Mika Westerberg
ARM: corrupted pages tables vs unwind
On Sat, Jan 28, 2012 at 03:36:28PM +0530, Rabin Vincent wrote:
> I have access to a system whose crashdump extraction mechanism
> unfortunately trashes the first few hundred kilobytes of physical
> memory, which includes the page tables at swapper_pg_dir.
>
> crash does chug along and remains quite useful without these page tables
> since much of the interesting information is in the direct mapped
> region, but it disables the use of the unwind tables because it
> fails to read the module unwind tables, which are placed at a
> non-direct-mapped address.
>
> The patch below allows unwind tables to be used only for core kernel
> addresses if the module tables are inaccessible.
>
> Alternatively, we could perhaps not attempt to read the
> module unwind tables when --no_modules is specified.
IMHO crash should at least try to allow user to perform analysis even if it
cannot do V<->P translations via page tables. The patch looks good and makes
ARM port of crash a bit more tolerant so,
Acked-by: Mika Westerberg <mika.westerberg@iki.fi>
Thanks!
--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
01-30-2012, 03:57 PM
Dave Anderson
ARM: corrupted pages tables vs unwind
----- Original Message -----
> On Sat, Jan 28, 2012 at 03:36:28PM +0530, Rabin Vincent wrote:
> > I have access to a system whose crashdump extraction mechanism
> > unfortunately trashes the first few hundred kilobytes of physical
> > memory, which includes the page tables at swapper_pg_dir.
> >
> > crash does chug along and remains quite useful without these page tables
> > since much of the interesting information is in the direct mapped
> > region, but it disables the use of the unwind tables because it
> > fails to read the module unwind tables, which are placed at a
> > non-direct-mapped address.
> >
> > The patch below allows unwind tables to be used only for core kernel
> > addresses if the module tables are inaccessible.
> >
> > Alternatively, we could perhaps not attempt to read the
> > module unwind tables when --no_modules is specified.
>
> IMHO crash should at least try to allow user to perform analysis even if it
> cannot do V<->P translations via page tables. The patch looks good and makes
> ARM port of crash a bit more tolerant so,
>
> Acked-by: Mika Westerberg <mika.westerberg@iki.fi>
>
> Thanks!
>
One small change required:
$ make warn
...
cc -c -g -DARM -m32 -D_FILE_OFFSET_BITS=64 -DGDB_7_3_1 unwind_arm.c -o unwind_arm.o -Wall -O2 -Wstrict-prototypes -Wmissing-prototypes -fstack-protector
unwind_arm.c:219: warning: ‘free_kernel_unwind_table’ defined but not used
...
I'll remove the free_kernel_unwind_table() function since nobody
calls it anymore -- and then queue it for crash-6.0.3.