On Fri, Sep 11, 2020 at 02:03:23PM -0400, Kevin O'Connor wrote:
On Tue, Sep 08, 2020 at 04:21:03PM +0100, Daniel P. Berrangé wrote:
SeaBIOS implements the SMBIOS 2.1 entry point which is limited to a maximum length of 0xffff. If the SMBIOS data received from QEMU is large enough, then adding the type 0 table will cause integer overflow. This results in fun behaviour such as a KVM crash, or hangs in SeaBIOS.
Thanks. The patch looks fine to me. However, when I run "git am" on your email, it's not taking the patch. (Perhaps the email whitespace got corrupted?)
============== Applying: smbios: avoid integer overflow adding SMBIOS type 0 table error: patch failed: src/fw/biostables.c:462 error: src/fw/biostables.c: patch does not apply Patch failed at 0001 smbios: avoid integer overflow adding SMBIOS type 0 table hint: Use 'git am --show-current-patch=diff' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". ==============
This was just sent using git send-email, so I can't see what would corrupt it on the sending side. In any case, I've got a copy on github you can pull from, on my "smbios-len" branch, this commit:
https://github.com/berrange/seabios/commit/4ea6aa9471f79cc81f957d6c0e2bb238d...
Regards, Daniel