[libvirt] [PATCH 2/2] viriscsi: Request more random bits for interface name

Eric Blake eblake at redhat.com
Wed Aug 1 14:48:31 UTC 2018


On 08/01/2018 06:44 AM, Michal Privoznik wrote:
> In virStorageBackendCreateIfaceIQN() the virRandomBits() is
> called in order to use random bits to generate random name for
> new interface. However, virAsprintf() is expecting 32 bits and we
> are requesting only 30.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>   src/util/viriscsi.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/util/viriscsi.c b/src/util/viriscsi.c
> index 653b4fd932..f00aeb53a7 100644
> --- a/src/util/viriscsi.c
> +++ b/src/util/viriscsi.c
> @@ -221,7 +221,7 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriqn,
>   
>       if (virAsprintf(&temp_ifacename,
>                       "libvirt-iface-%08llx",
> -                    (unsigned long long)virRandomBits(30)) < 0)
> +                    (unsigned long long)virRandomBits(32)) < 0)

Are we sure that this wasn't intentional that the 2 most significant 
bits are supposed to be zero (to avoid broadcast interface addresses, ro 
example)?  (If so, then keep things at 30 but add a comment; if not, 
then this change seems fine).

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org




More information about the libvir-list mailing list