On Mon, 7 Feb 2022 17:01:29 +0530 Ani Sinha <a...@anisinha.ca> wrote:
> Since change b3cddba9c14b034 ("hw/smbios: fix table memory corruption with > large memory vms") > we reserve additional memory space between tables 17 and 19 for large VMs. > This may cause table 19 to collide with table 32 for those VMs. This change > adds an assertion to make sure table 19 does not extend into the memory used > by table 32. > > Signed-off-by: Ani Sinha <a...@anisinha.ca> > --- > hw/smbios/smbios.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c > index d7de740363..800a35e9a5 100644 > --- a/hw/smbios/smbios.c > +++ b/hw/smbios/smbios.c > @@ -1048,6 +1048,9 @@ void smbios_get_tables(MachineState *ms, > mem_array[i].length); > } > > + /* we need to make sure table 19 and table 32 do not overlap */ same as in 2/3 (here and commit message), tables do not overlap > + assert((mem_array_size + offset) < (T32_BASE - T19_BASE)); > + > smbios_build_type_32_table(); > smbios_build_type_38_table(); > smbios_build_type_41_table(errp);