Messages in this thread | | | Date | Fri, 20 May 2022 11:26:54 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH] x86/vmware: use unsigned integer for shifting |
| |
On Fri, May 20, 2022 at 12:58:57PM +0530, Shreenidhi Shedi wrote: > Shifting signed 32-bit value by 31 bits is implementation-defined > behaviour. Using unsigned is better option for this. > > Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com> > --- > arch/x86/kernel/cpu/vmware.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c > index c04b933f48d3..b28f789d3c56 100644 > --- a/arch/x86/kernel/cpu/vmware.c > +++ b/arch/x86/kernel/cpu/vmware.c > @@ -476,7 +476,7 @@ static bool __init vmware_legacy_x2apic_available(void) > { > uint32_t eax, ebx, ecx, edx; > VMWARE_CMD(GETVCPU_INFO, eax, ebx, ecx, edx); > - return (eax & (1 << VMWARE_CMD_VCPU_RESERVED)) == 0 && > + return (eax & (1U << VMWARE_CMD_VCPU_RESERVED)) == 0 && > (eax & (1 << VMWARE_CMD_LEGACY_X2APIC)) != 0;
Or you can use the BIT() macro and simplify this expression even more:
return !(eax & BIT(VMWARE_CMD_VCPU_RESERVED)) && (eax & BIT(VMWARE_CMD_LEGACY_X2APIC));
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |