From: Steven Sistare <steven.sistare@oracle.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-stable@nongnu.org,
David Hildenbrand <david@redhat.com>,
Philippe Mathieu-Daude <philmd@linaro.org>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH] physmem: fix qemu_ram_alloc_from_fd size calculation
Date: Thu, 2 Jan 2025 16:33:34 -0500 [thread overview]
Message-ID: <10f05b81-49e8-4fa2-a331-fa135380e92c@oracle.com> (raw)
In-Reply-To: <Z3cB0TehNey27uNZ@x1n>
On 1/2/2025 4:14 PM, Peter Xu wrote:
> On Thu, Jan 02, 2025 at 12:34:50PM -0800, Steve Sistare wrote:
>> qemu_ram_alloc_from_fd allocates space if file_size == 0. If non-zero,
>> it uses the existing space and verifies it is large enough, but the
>> verification was broken when the offset parameter was introduced. As
>> a result, a file smaller than offset passes the verification and causes
>> errors later. Fix that, and update the error message to include offset.
>>
>> Peter provides this concise reproducer:
>>
>> $ touch ramfile
>> $ truncate -s 64M ramfile
>> $ ./qemu-system-x86_64 -object memory-backend-file,mem-path=./ramfile,offset=128M,size=128M,id=mem1,prealloc=on
>> qemu-system-x86_64: qemu_prealloc_mem: preallocating memory failed: Bad address
>>
>> With the fix, the error message is:
>> qemu-system-x86_64: mem1 backing store size 0x4000000 is too small for 'size' option 0x8000000 plus 'offset' option 0x8000000
>>
>
> Can have the cc tag here too to be super clear:
>
> Cc: qemu-stable@nongnu.org
Done and resubmitted.
>> Fixes: 4b870dc4d0c0 ("hostmem-file: add offset option")
>> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
>
> Reviewed-by: Peter Xu <peterx@redhat.com>
>
> Please also feel free to attach this patch as the 1st patch when repost
> cpr-transfer, it could make dependency easier no matter how this would
> land.
Will do - steve
> Maybe it'll be still easier to go via a migration pull that collects cpr
> transfer as a whole. May depend on whether there'll be a memory API pull
> before that..
prev parent reply other threads:[~2025-01-02 21:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-02 20:34 [PATCH] physmem: fix qemu_ram_alloc_from_fd size calculation Steve Sistare
2025-01-02 21:14 ` Peter Xu
2025-01-02 21:33 ` Steven Sistare [this message]
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=10f05b81-49e8-4fa2-a331-fa135380e92c@oracle.com \
--to=steven.sistare@oracle.com \
--cc=david@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.