lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4EC47FCA.5090908@redhat.com>
Date:	Thu, 17 Nov 2011 11:30:18 +0800
From:	Dave Young <dyoung@...hat.com>
To:	tim@...ecast.com
CC:	tj@...nel.org, WANG Cong <xiyou.wangcong@...il.com>,
	kexec@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: Crash during vmcore_init

On 11/17/2011 02:20 AM, Tim Hartrick wrote:

> 
> Dave,
> 
> On Wed, 2011-11-16 at 10:22 +0800, Dave Young wrote:
>> On 11/16/2011 06:32 AM, Tim Hartrick wrote:
>>
>>>
>>> Dave,
>>>
>>> I tested with
>>>
>>> linux-image-3.1.1-030101-generic_3.1.1-030101.201111111651_amd64.deb
>>>
>>> which, as far as I know, is the Ubuntu build of the latest stable.
>>> Below are the results.
>>>
>>> [    1.427457] ioremap: invalid physical address 5800000000000
>>
>>
>> Hi, thanks for the testing
>>
>> Can you applied the debug patch to see if it's per cpu problem?
>>
>> Don't need test kdump, just
>> cd /sys/devices/system/cpu
>> cat cpu[x]/crash_notes
>>
>> probably cat crash notes of cpu number other than 0 will get the invalid
>> address
>>
> 
> Using 3.1.1 stable with your patch.  See below.
> 
> 
> tim
> 
> # for i in /sys/devices/system/cpu/cpu[0-9]*/crash_notes; do cat $i; done
> 5800000000000
> 5800000000000
> 5800000000000
> 5800000000000
> 5800000000000
> 5800000000000
> 5800000000000
> 5800000000000
> 
> dmesg:
> 
> [  277.276349] per cpu addr ffff880c7fc19ad0

> [  277.276352] addr is not in vmalloc area


This addr is converted to an invalid phys address,

looking the code below:
       if (in_first_chunk) {
                if (!is_vmalloc_addr(addr))
                        return __pa(addr);
                else
                        return page_to_phys(vmalloc_to_page(addr));
        } else
                return page_to_phys(pcpu_addr_to_page(addr));

I dont understand per cpu allocation well, if addr is not in first chunk
then it should be in vmalloc area?

Tejun, do you have any idea about this?


> [  277.277545] per cpu addr ffff880667c19ad0
> [  277.277548] addr is not in vmalloc area
> [  277.278832] per cpu addr ffff880c7fc39ad0
> [  277.278835] addr is not in vmalloc area
> [  277.280175] per cpu addr ffff880667c39ad0
> [  277.280178] addr is not in vmalloc area
> [  277.281406] per cpu addr ffff880c7fc59ad0
> [  277.281409] addr is not in vmalloc area
> [  277.282592] per cpu addr ffff880667c59ad0
> [  277.282594] addr is not in vmalloc area
> [  277.284019] per cpu addr ffff880c7fc79ad0
> [  277.284022] addr is not in vmalloc area
> [  277.285251] per cpu addr ffff880667c79ad0
> [  277.285254] addr is not in vmalloc area
> 
> 
> 
> 
> 
> 
> 
> 



-- 
Thanks
Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ