mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-25 15:02:45 +00:00
qemu.go: qemu: resizeMemory: Fix virtio-mem resize overflow issue
This commit change sizeByte from uint32 to uint64 to fix overflow issue. Fixes: #1796 Signed-off-by: Hui Zhu <teawater@antfin.com>
This commit is contained in:
parent
c9053ea3fb
commit
7f7c3fc8ec
@ -2043,8 +2043,9 @@ func (q *qemu) resizeMemory(ctx context.Context, reqMemMB uint32, memoryBlockSiz
|
|||||||
var addMemDevice memoryDevice
|
var addMemDevice memoryDevice
|
||||||
if q.config.VirtioMem && currentMemory != reqMemMB {
|
if q.config.VirtioMem && currentMemory != reqMemMB {
|
||||||
q.Logger().WithField("hotplug", "memory").Debugf("resize memory from %dMB to %dMB", currentMemory, reqMemMB)
|
q.Logger().WithField("hotplug", "memory").Debugf("resize memory from %dMB to %dMB", currentMemory, reqMemMB)
|
||||||
sizeByte := (reqMemMB - q.config.MemorySize) * 1024 * 1024
|
sizeByte := uint64(reqMemMB - q.config.MemorySize)
|
||||||
err := q.qmpMonitorCh.qmp.ExecQomSet(q.qmpMonitorCh.ctx, "virtiomem0", "requested-size", uint64(sizeByte))
|
sizeByte = sizeByte * 1024 * 1024
|
||||||
|
err := q.qmpMonitorCh.qmp.ExecQomSet(q.qmpMonitorCh.ctx, "virtiomem0", "requested-size", sizeByte)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, memoryDevice{}, err
|
return 0, memoryDevice{}, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user