From: Julien Grall <julien.grall@citrix.com>
To: Shannon Zhao <shannon.zhao@linaro.org>,
Shannon Zhao <zhaoshenglong@huawei.com>,
xen-devel <xen-devel@lists.xen.org>,
Jan Beulich <jbeulich@suse.com>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Parth Dixit <parth.dixit@linaro.org>,
Christoffer Dall <christoffer.dall@linaro.org>
Cc: Hangaohuai <hangaohuai@huawei.com>,
"Huangpeng (Peter)" <peter.huangpeng@huawei.com>
Subject: Re: xen/arm: Crash when allocating memory for ACPI table (Was Re: Design doc of adding ACPI support for arm64 on Xen - version 2)
Date: Fri, 14 Aug 2015 15:41:36 +0100 [thread overview]
Message-ID: <55CDFE20.3070208@citrix.com> (raw)
In-Reply-To: <55CDFCBD.608@linaro.org>
On 14/08/15 15:35, Shannon Zhao wrote:
>>>> Do you copy data in the newly allocated memory between 2 xzalloc_bytes?
>>>>
>>>
>>> No, I just use xzalloc_bytes to allocate some place and copy ACPI to the
>>> allocated place, modify the content, then call
>>> raw_copy_to_guest_flush_dcache to copy the modified tables to guest
>>> memory.
>>
>> Can you provide the code and show which call is crashing?
>>
> Oh, sorry. The code is not on hand as it stays at my working computer.
> From previous debug, it fails at the xzalloc_bytes. Because I add two
> printk before and after the xzalloc_bytes, only the before one shows.
>
> The code calling route is like below:
>
> acpi_create_fadt();
> acpi_create_gtdt();
> acpi_create_madt();
> acpi_create_stao();
> acpi_create_xsdt();
> acpi_map_rsdp();
> acpi_map_rest_table();
> acpi_create_est();
> acpi_create_mmap();
> ...
>
> Within everyone of these functions, it will call xzalloc_bytes to
> allocate memory and call raw_copy_to_guest_flush_dcache to copy the
> modified tables to guest memory. And this failure happened at
> acpi_create_xsdt().
When I asked if you copy data between 2 calls of xzalloc_bytes you said
no ... But here you say the invert ... So do you copy data between two
call or not? (FIY, raw_copy_to_guest_flush_dcache is copying data).
>
> If I add xzalloc_bytes(1000) before acpi_create_xsdt() like below:
>
> acpi_create_fadt();
> acpi_create_gtdt();
> acpi_create_madt();
> acpi_create_stao();
>
> xzalloc_bytes(1000);
>
> acpi_create_xsdt();
> acpi_map_rsdp();
> acpi_map_rest_table();
> acpi_create_est();
> acpi_create_mmap();
> ...
>
> The failure will not happen at acpi_create_xsdt() but at
> acpi_create_mmap().
Ok, so it's likely a memory corruption. You need to check the bound you
ara using when copying the data to the guest or from the ACPI in
general. Or maybe you just didn't allocate enough space.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2015-08-14 14:41 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 2:11 Design doc of adding ACPI support for arm64 on Xen - version 2 Shannon Zhao
2015-08-07 9:45 ` Stefano Stabellini
2015-08-07 10:33 ` Julien Grall
2015-08-07 10:37 ` Christoffer Dall
2015-08-07 10:42 ` Stefano Stabellini
2015-08-07 10:44 ` Julien Grall
2015-08-11 2:09 ` Shannon Zhao
2015-08-11 9:46 ` Julien Grall
2015-08-11 10:27 ` Shannon Zhao
2015-08-11 14:12 ` Ian Campbell
2015-08-11 14:51 ` David Vrabel
2015-08-11 14:59 ` Ian Campbell
2015-08-11 15:02 ` David Vrabel
2015-08-11 15:11 ` Julien Grall
2015-08-11 15:19 ` Ian Campbell
2015-08-11 15:25 ` David Vrabel
2015-08-11 16:01 ` Julien Grall
2015-08-12 2:42 ` Shannon Zhao
2015-08-12 8:46 ` Ian Campbell
2015-08-12 8:46 ` Ian Campbell
2015-08-12 9:02 ` Julien Grall
2015-08-12 15:48 ` Jan Beulich
2015-08-11 14:19 ` Ian Campbell
2015-08-11 14:21 ` Ian Campbell
2015-08-11 15:29 ` Boris Ostrovsky
2015-08-11 15:35 ` Ian Campbell
2015-08-11 15:52 ` Boris Ostrovsky
2015-08-12 2:47 ` Shannon Zhao
2015-08-12 8:47 ` Ian Campbell
2015-08-12 9:00 ` Shannon Zhao
2015-08-17 10:36 ` Roger Pau Monné
2015-08-18 1:44 ` Shannon Zhao
2015-08-11 16:19 ` Julien Grall
2015-08-12 3:04 ` Shannon Zhao
2015-08-12 8:52 ` Ian Campbell
2015-08-12 9:21 ` Julien Grall
2015-08-12 10:36 ` Andrew Turner
2015-08-12 10:48 ` Stefano Stabellini
2015-08-12 11:23 ` Ian Campbell
2015-08-12 12:11 ` Julien Grall
2015-09-02 11:27 ` Ian Campbell
2015-08-12 12:20 ` Julien Grall
2015-09-02 11:30 ` Ian Campbell
2015-09-02 11:39 ` Julien Grall
2015-09-02 12:05 ` Ian Campbell
2015-08-12 10:17 ` Stefano Stabellini
2015-08-12 7:22 ` Shannon Zhao
2015-08-12 9:11 ` Julien Grall
2015-08-14 14:05 ` Shannon Zhao
2015-08-14 14:17 ` xen/arm: Crash when allocating memory for ACPI table (Was Re: Design doc of adding ACPI support for arm64 on Xen - version 2) Julien Grall
2015-08-14 14:35 ` Shannon Zhao
2015-08-14 14:41 ` Julien Grall [this message]
2015-08-14 14:49 ` Shannon Zhao
2015-08-14 14:53 ` Julien Grall
2015-08-14 14:55 ` Shannon Zhao
2015-08-12 15:45 ` Design doc of adding ACPI support for arm64 on Xen - version 2 Jan Beulich
2015-08-12 15:51 ` Christoffer Dall
2015-08-12 15:58 ` Jan Beulich
2015-08-12 16:18 ` Julien Grall
2015-08-13 6:41 ` Jan Beulich
2015-08-13 8:01 ` Christoffer Dall
2015-08-13 8:11 ` Jan Beulich
2015-08-13 8:18 ` Jan Beulich
2015-08-13 9:05 ` Ian Campbell
2015-08-13 9:20 ` Jan Beulich
2015-08-13 10:40 ` Julien Grall
2015-08-13 9:43 ` Stefano Stabellini
2015-08-13 10:03 ` Jan Beulich
2015-08-13 10:13 ` Stefano Stabellini
2015-08-13 10:22 ` Ian Campbell
2015-08-13 10:29 ` Christoffer Dall
2015-08-13 10:32 ` Stefano Stabellini
2015-08-13 10:34 ` Ian Campbell
2015-08-13 10:48 ` Shannon Zhao
2015-08-13 10:54 ` Jan Beulich
2015-08-13 11:00 ` Julien Grall
2015-08-13 11:07 ` Stefano Stabellini
2015-08-13 11:55 ` Jan Beulich
2015-08-13 12:08 ` Julien Grall
2015-08-13 14:49 ` Ian Campbell
2015-08-14 5:34 ` Shannon Zhao
2015-08-14 9:54 ` Stefano Stabellini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55CDFE20.3070208@citrix.com \
--to=julien.grall@citrix.com \
--cc=christoffer.dall@linaro.org \
--cc=hangaohuai@huawei.com \
--cc=ian.campbell@citrix.com \
--cc=jbeulich@suse.com \
--cc=parth.dixit@linaro.org \
--cc=peter.huangpeng@huawei.com \
--cc=shannon.zhao@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=xen-devel@lists.xen.org \
--cc=zhaoshenglong@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).