On Fri, Sep 30, 2022 at 9:24 AM Jason A. Donenfeld <[email protected]> wrote: > > When the system reboots, the rng-seed that the FDT has should be > re-randomized, so that the new boot gets a new seed. Since the FDT is in > the ROM region at this point, we add a hook right after the ROM has been > added, so that we have a pointer to that copy of the FDT. > > Cc: Palmer Dabbelt <[email protected]> > Cc: Alistair Francis <[email protected]> > Cc: Bin Meng <[email protected]> > Cc: [email protected] > Signed-off-by: Jason A. Donenfeld <[email protected]>
Reviewed-by: Alistair Francis <[email protected]> Alistair > --- > hw/riscv/boot.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c > index 1ae7596873..aaecf21543 100644 > --- a/hw/riscv/boot.c > +++ b/hw/riscv/boot.c > @@ -30,6 +30,7 @@ > #include "sysemu/device_tree.h" > #include "sysemu/qtest.h" > #include "sysemu/kvm.h" > +#include "sysemu/reset.h" > > #include <libfdt.h> > > @@ -241,6 +242,8 @@ uint64_t riscv_load_fdt(hwaddr dram_base, uint64_t > mem_size, void *fdt) > > rom_add_blob_fixed_as("fdt", fdt, fdtsize, fdt_addr, > &address_space_memory); > + qemu_register_reset(qemu_fdt_randomize_seeds, > + rom_ptr_for_as(&address_space_memory, fdt_addr, > fdtsize)); > > return fdt_addr; > } > -- > 2.37.3 > >
