Re: Silence compiler warning in arch/x86/kvm/emulate.c

From: Paolo Bonzini
Date: Fri Feb 19 2016 - 12:56:14 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256



On 19/02/2016 18:54, Valdis.Kletnieks@xxxxxx wrote:
> la can get changed here - but there's 2 cases to consider. If it's
> in a 32-bit kernel, anding with -1 is a no-op.
>
> Now if we're on a 64-bit kernel, the 'and' clears the high 32
> bits.
>
> But under what conditions is 'la' a 64-bit quantity that has any
> bits set in the high 32 bits (meaning it's a pointer to something
> over the 4G line) - but it's still valid to smash those bits?

That can happen for example if there is a non-zero segment base. Then
the linear address wraps at 4G.

Paolo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWx1cxAAoJEL/70l94x66DFBcIAIkWZ7KaTyh3gfy5Cur7aukA
8NkEKvxZxO46lQAiKxf5ORTdBCdtZDjUjbxTVJoguITK/nnXuBLQIP/aeDhfHdhz
BTYumgH+QV+kmZfn7mwgY5omS05Qx08DmdpQ1jyu1Y1aPVBv6FlsoWcHFrA+oXI2
wtit0OejbPJ9gT4dv1S/etuJvzdINQ/Y4fh/ulkyJJRIw5vvEgW+PN81UNCiSust
w1zkljlfoU4he54IWHa0R1Am/uQBmWRuhvzaMZVKdkGlrN/jJo4ObR5DX+qPujPB
sGSw2HTh8p4IuLwAJ0PvZZPNag+6vdOv9jxJuFpRNQGZLYY5eHL1IFVHaESv0vQ=
=ssTD
-----END PGP SIGNATURE-----