On Tue, Oct 25, 2022 at 3:30 PM Philippe Mathieu-Daudé <phi...@linaro.org> wrote: > > On 25/10/22 02:43, Jason A. Donenfeld 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. Several > > architectures require this functionality, so export a function for > > injecting a new seed into the given FDT. > > > > Cc: Alistair Francis <alistair.fran...@wdc.com> > > Cc: David Gibson <da...@gibson.dropbear.id.au> > > Signed-off-by: Jason A. Donenfeld <ja...@zx2c4.com> > > --- > > include/sysemu/device_tree.h | 9 +++++++++ > > softmmu/device_tree.c | 21 +++++++++++++++++++++ > > 2 files changed, 30 insertions(+) > > > +void qemu_fdt_randomize_seeds(void *fdt) > > +{ > > + int noffset, poffset, len; > > + const char *name; > > + uint8_t *data; > > + > > + for (noffset = fdt_next_node(fdt, 0, NULL); > > + noffset >= 0; > > + noffset = fdt_next_node(fdt, noffset, NULL)) { > > + for (poffset = fdt_first_property_offset(fdt, noffset); > > + poffset >= 0; > > + poffset = fdt_next_property_offset(fdt, poffset)) { > > + data = (uint8_t *)fdt_getprop_by_offset(fdt, poffset, &name, > > &len); > > Is this non-const cast is safe?
This is how the libfdt/fdt_rw.c helpers of libfdt do it, so I think so. Jason