Re: [PATCH V3 01/15] arm: perf: cleanup cppcheck shifting error
From: Will Deacon
Date: Tue Jun 25 2019 - 13:21:22 EST
On Tue, Jun 25, 2019 at 11:03:42AM +0700, Phong Tran wrote:
> There is error from cppcheck tool
> "Shifting signed 32-bit value by 31 bits is undefined behaviour errors"
> change to use BIT() marco for improvement.
s/marco/macro/
As Peter pointed out, this "error" is also a false positive also for the
kernel.
> Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx>
> ---
> arch/arm/kernel/perf_event_v7.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/kernel/perf_event_v7.c b/arch/arm/kernel/perf_event_v7.c
> index a4fb0f8b8f84..2924d7910b10 100644
> --- a/arch/arm/kernel/perf_event_v7.c
> +++ b/arch/arm/kernel/perf_event_v7.c
> @@ -697,9 +697,9 @@ static struct attribute_group armv7_pmuv2_events_attr_group = {
> /*
> * Event filters for PMUv2
> */
> -#define ARMV7_EXCLUDE_PL1 (1 << 31)
> -#define ARMV7_EXCLUDE_USER (1 << 30)
> -#define ARMV7_INCLUDE_HYP (1 << 27)
> +#define ARMV7_EXCLUDE_PL1 BIT(31)
> +#define ARMV7_EXCLUDE_USER BIT(30)
> +#define ARMV7_INCLUDE_HYP BIT(27)
Acked-by: Will Deacon <will.deacon@xxxxxxx>
You can drop this into Russell's patch system[1].
Will
[1] https://www.arm.linux.org.uk/developer/patches/