[libvirt] [PATCH] util: virrandom: make virRandomBits endian-safe

Daniel P. Berrangé berrange at redhat.com
Thu Aug 2 11:18:46 UTC 2018


On Thu, Aug 02, 2018 at 01:12:02PM +0200, Pino Toscano wrote:
> On Thursday, 2 August 2018 12:28:45 CEST Daniel P. Berrangé wrote:
> > On Thu, Aug 02, 2018 at 10:17:32AM +0200, Bjoern Walk wrote:
> > > Pino Toscano <ptoscano at redhat.com> [2018-08-02, 10:02AM +0200]:
> > > > I do not think this patch is correct: we are dealing with random bytes,
> > > > so there is no "endianness" for them.
> > > 
> > > Well, it's not incorrect either, isn't it? I agree that endianness
> > > doesn't matter for random data, but in the same time, it doesn't hurt to
> > > have the same random data generated on big- and little-endian machines.
> 
> Not sure I understand -- since it's random data, you cannot have it
> "the same", no matter which endianness the machine has.
> 
> > > And it gives an easy and future-proof fix for the mocked tests.
> 
> IMHO every mocked test has its own behaviour, and thus the mocking
> needs to reflect that.
> 
> > Lets just modijfy tests/virrandommock.c to add mocking of virRandomBits
> > alongside virRandomBytes.
> 
> I don't see how it will help, since all virRandomBits does is calling
> virRandomBytes.

That's exactly what it would fix. A virRandomBits mock would simply
return a fixed number and not call the mocked virRandomBytes at all
thus avoiding the endianness problem

> I still did not see any complaints about my patch to fix viriscsitest
> (since the problem is specific for it), what about ACKing it then?

The virrandommock.c was intended to provide "stable" random numbers across
multiple tests. It didn't mock virRandomBits because it was mistakenly
assumed that mocking virRandomBytes was enough. Changing virscsitest just
fixes the one occurrance that happens to hit today - we want to fix the
general problem as virrandommock.c intended.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list