All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Steve Sistare <steven.sistare@oracle.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:14:57 -0500	[thread overview]
Message-ID: <Z3cB0TehNey27uNZ@x1n> (raw)
In-Reply-To: <1735850090-329906-1-git-send-email-steven.sistare@oracle.com>

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

> 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.

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..

Thanks,

-- 
Peter Xu



  reply	other threads:[~2025-01-02 21:16 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 [this message]
2025-01-02 21:33   ` Steven Sistare

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=Z3cB0TehNey27uNZ@x1n \
    --to=peterx@redhat.com \
    --cc=david@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    --cc=steven.sistare@oracle.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 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.