Re: [PATCH v2] Fix kmem failing to print task context when address is vmalloced stack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2022/09/01 17:15, Tao Liu wrote:

>>> When kernel enabled CONFIG_VMAP_STACK, stack can be allocated to
>>> vmalloced area. Currently crash didn't handle the case, as a result,
>>> kmem will not print the task context as expected. This patch fix the
>>> bug by checking if the address is a vmalloced stack first.
>>>
>>> Before:
>>>      crash> kmem ffffb7efce9bbe28
>>>         VMAP_AREA         VM_STRUCT                 ADDRESS RANGE                SIZE
>>>      ffff94eb9102c640  ffff94eb9102b140  ffffb7efce9b8000 - ffffb7efce9bd000    20480
>>>
>>>            PAGE         PHYSICAL      MAPPING       INDEX CNT FLAGS
>>>      ffffdd28220dc000 1883700000                0        0  1 50000000000000
>>>
>>> After:
>>>      crash> kmem ffffb7efce9bbe28
>>>          PID: 847
>>>      COMMAND: "khungtaskd"
>>>         TASK: ffff94f8038f4000  [THREAD_INFO: ffff94f8038f4000]
>>>          CPU: 72
>>>        STATE: TASK_RUNNING (PANIC)
>>>
>>>         VMAP_AREA         VM_STRUCT                 ADDRESS RANGE                SIZE
>>>      ffff94eb9102c640  ffff94eb9102b140  ffffb7efce9b8000 - ffffb7efce9bd000    20480
>>>
>>
>> I have one question: If the given physical address falls in the vmalloc area, it won't print the task context, is that expected? For example:
>>
> 
> Thanks for pointing it out. Hmm... I didn't consider the physical
> address case as vtop does. I will improve the patch and send v3.

For physical address, a context is not shown also without CONFIG_VMAP_STACK.

crash> kmem ffff9288bc977f00
     PID: 1
COMMAND: "systemd"
    TASK: ffff9288bc978000  [THREAD_INFO: ffff9288bc974000]
     CPU: 10
   STATE: TASK_INTERRUPTIBLE

       PAGE       PHYSICAL      MAPPING       INDEX CNT FLAGS
ffffd91fc1f25dc0 7c977000                0        0  0 1fffff00000000

crash> kmem 7c977f00
       PAGE       PHYSICAL      MAPPING       INDEX CNT FLAGS
ffffd91fc1f25dc0 7c977000                0        0  0 1fffff00000000

Some information for virtual address is not shown with physical address,
it's kind of expected.  And we have the ptov command, personally I don't
think it needs to do.

but if you change this behavior, it might be good in a separate patch.

Thanks,
Kazu
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/crash-utility
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux