From: Shreenidhi Shedi <sshedi@xxxxxxxxxx> Shifting signed 32-bit value by 31 bits is implementation-defined behaviour. Using unsigned is better option for this. Fixes: 4cca6ea04d31 ("x86/apic: Allow x2apic without IR on VMware platform") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shreenidhi Shedi <sshedi@xxxxxxxxxx> --- arch/x86/kernel/cpu/vmware.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c index c04b933f4..02039ec35 100644 --- a/arch/x86/kernel/cpu/vmware.c +++ b/arch/x86/kernel/cpu/vmware.c @@ -476,8 +476,8 @@ 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 && - (eax & (1 << VMWARE_CMD_LEGACY_X2APIC)) != 0; + return !(eax & BIT(VMWARE_CMD_VCPU_RESERVED)) && + (eax & BIT(VMWARE_CMD_LEGACY_X2APIC)); } #ifdef CONFIG_AMD_MEM_ENCRYPT -- 2.36.1