All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4] x86/vmware: use BIT() macro for shifting
@ 2022-06-01 10:18 Shreenidhi Shedi
  2022-06-02 13:01   ` Srivatsa S. Bhat
  2022-06-22  9:42 ` [tip: x86/vmware] x86/vmware: Use " tip-bot2 for Shreenidhi Shedi
  0 siblings, 2 replies; 4+ messages in thread
From: Shreenidhi Shedi @ 2022-06-01 10:18 UTC (permalink / raw)
  To: srivatsa, amakhalov, tglx, mingo, bp, dave.hansen, hpa
  Cc: yesshedi, pv-drivers, x86, virtualization, linux-kernel,
	Shreenidhi Shedi

From: Shreenidhi Shedi <sshedi@vmware.com>

Using BIT() macro improves readability & it uses unsigned long for
shifting which is an added advantage.

Kernel builds with -fno-strict-overflow CFLAG hence shifting a signed
integer by 31 bits is not an issue in this case.

Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
 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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v4] x86/vmware: use BIT() macro for shifting
  2022-06-01 10:18 [PATCH v4] x86/vmware: use BIT() macro for shifting Shreenidhi Shedi
@ 2022-06-02 13:01   ` Srivatsa S. Bhat
  2022-06-22  9:42 ` [tip: x86/vmware] x86/vmware: Use " tip-bot2 for Shreenidhi Shedi
  1 sibling, 0 replies; 4+ messages in thread
From: Srivatsa S. Bhat @ 2022-06-02 13:01 UTC (permalink / raw)
  To: Shreenidhi Shedi, amakhalov, tglx, mingo, bp, dave.hansen, hpa
  Cc: pv-drivers, x86, virtualization, linux-kernel, Shreenidhi Shedi

On 6/1/22 3:18 AM, Shreenidhi Shedi wrote:
> From: Shreenidhi Shedi <sshedi@vmware.com>
> 
> Using BIT() macro improves readability & it uses unsigned long for
> shifting which is an added advantage.
> 
> Kernel builds with -fno-strict-overflow CFLAG hence shifting a signed
> integer by 31 bits is not an issue in this case.
> 
> Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
> ---

Looks good to me.

Reviewed-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>

>  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
>  
Regards,
Srivatsa
VMware Photon OS

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v4] x86/vmware: use BIT() macro for shifting
@ 2022-06-02 13:01   ` Srivatsa S. Bhat
  0 siblings, 0 replies; 4+ messages in thread
From: Srivatsa S. Bhat @ 2022-06-02 13:01 UTC (permalink / raw)
  To: Shreenidhi Shedi, amakhalov, tglx, mingo, bp, dave.hansen, hpa
  Cc: pv-drivers, x86, linux-kernel, Shreenidhi Shedi, virtualization

On 6/1/22 3:18 AM, Shreenidhi Shedi wrote:
> From: Shreenidhi Shedi <sshedi@vmware.com>
> 
> Using BIT() macro improves readability & it uses unsigned long for
> shifting which is an added advantage.
> 
> Kernel builds with -fno-strict-overflow CFLAG hence shifting a signed
> integer by 31 bits is not an issue in this case.
> 
> Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
> ---

Looks good to me.

Reviewed-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>

>  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
>  
Regards,
Srivatsa
VMware Photon OS
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip: x86/vmware] x86/vmware: Use BIT() macro for shifting
  2022-06-01 10:18 [PATCH v4] x86/vmware: use BIT() macro for shifting Shreenidhi Shedi
  2022-06-02 13:01   ` Srivatsa S. Bhat
@ 2022-06-22  9:42 ` tip-bot2 for Shreenidhi Shedi
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot2 for Shreenidhi Shedi @ 2022-06-22  9:42 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Shreenidhi Shedi, Borislav Petkov, Srivatsa S. Bhat (VMware),
	x86, linux-kernel

The following commit has been merged into the x86/vmware branch of tip:

Commit-ID:     4745ca43104b422354f06dc814d3f13661f217af
Gitweb:        https://git.kernel.org/tip/4745ca43104b422354f06dc814d3f13661f217af
Author:        Shreenidhi Shedi <sshedi@vmware.com>
AuthorDate:    Wed, 01 Jun 2022 15:48:20 +05:30
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Wed, 22 Jun 2022 11:23:14 +02:00

x86/vmware: Use BIT() macro for shifting

VMWARE_CMD_VCPU_RESERVED is bit 31 and that would mean undefined
behavior when shifting an int but the kernel is built with
-fno-strict-overflow which will wrap around using two's complement.

Use the BIT() macro to improve readability and avoid any potential
overflow confusion because it uses an unsigned long.

  [ bp: Clarify commit message. ]

Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
Link: https://lore.kernel.org/r/20220601101820.535031-1-sshedi@vmware.com
---
 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 c04b933..02039ec 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-22  9:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-01 10:18 [PATCH v4] x86/vmware: use BIT() macro for shifting Shreenidhi Shedi
2022-06-02 13:01 ` Srivatsa S. Bhat
2022-06-02 13:01   ` Srivatsa S. Bhat
2022-06-22  9:42 ` [tip: x86/vmware] x86/vmware: Use " tip-bot2 for Shreenidhi Shedi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.