x86: Correct copying of BIOS mode information
authorSimon Glass <sjg@chromium.org>
Sun, 30 Jul 2023 17:16:04 +0000 (11:16 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Wed, 9 Aug 2023 15:31:11 +0000 (23:31 +0800)
commit4099df48a68fdfdc4b1d57a503679b35e724de4e
tree28a129e9b95612a5f06685e8c490257c86e10931
parent1fa64e155d93a9e8a44b34e22390db61bfb24afd
x86: Correct copying of BIOS mode information

This is copying beyond the end of the destination buffer. Correct the code
by using the size of the  vesa_mode_info struct. We don't need to copy the
rest of the bytes in the buffer.

This long-standing bug prevents virtio bootdevs working correctly on
qemu-x86 at present.

Fixes: 0ca2426beae ("x86: Add support for running option ROMs natively")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com> # qemu-x86_64
arch/x86/lib/bios.c