lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 12 Aug 2020 09:21:39 -0300
From:   Arnaldo Carvalho de Melo <acme@...nel.org>
To:     Kan Liang <kan.liang@...ux.intel.com>
Cc:     peterz@...radead.org, mingo@...hat.com,
        linux-kernel@...r.kernel.org, mark.rutland@....com,
        alexander.shishkin@...ux.intel.com, jolsa@...hat.com,
        eranian@...gle.com, ak@...ux.intel.com, dave.hansen@...el.com,
        kirill.shutemov@...ux.intel.com
Subject: Re: [PATCH V6 06/16] perf script: Use ULL for enum perf_output_field

Em Mon, Aug 10, 2020 at 02:24:26PM -0700, Kan Liang escreveu:
> The Bitwise-Shift operator (1U << ) is used in the enum
> perf_output_field, which has already reached its capacity (32 items).
> If more items are added, a compile error will be triggered.
> 
> Change the U to ULL, which extend the capacity to 64 items.
> 
> The enum perf_output_field is only used to calculate a value for the
> 'fields' in the output structure. The 'fields' is u64. The change
> doesn't break anything.

Jiri did this already:

https://git.kernel.org/torvalds/c/60e5eeb56a1
 
> Signed-off-by: Kan Liang <kan.liang@...ux.intel.com>
> ---
>  tools/perf/builtin-script.c | 64 ++++++++++++++++++-------------------
>  1 file changed, 32 insertions(+), 32 deletions(-)
> 
> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> index 447457786362..214bec350971 100644
> --- a/tools/perf/builtin-script.c
> +++ b/tools/perf/builtin-script.c
> @@ -82,38 +82,38 @@ static bool			native_arch;
>  unsigned int scripting_max_stack = PERF_MAX_STACK_DEPTH;
>  
>  enum perf_output_field {
> -	PERF_OUTPUT_COMM            = 1U << 0,
> -	PERF_OUTPUT_TID             = 1U << 1,
> -	PERF_OUTPUT_PID             = 1U << 2,
> -	PERF_OUTPUT_TIME            = 1U << 3,
> -	PERF_OUTPUT_CPU             = 1U << 4,
> -	PERF_OUTPUT_EVNAME          = 1U << 5,
> -	PERF_OUTPUT_TRACE           = 1U << 6,
> -	PERF_OUTPUT_IP              = 1U << 7,
> -	PERF_OUTPUT_SYM             = 1U << 8,
> -	PERF_OUTPUT_DSO             = 1U << 9,
> -	PERF_OUTPUT_ADDR            = 1U << 10,
> -	PERF_OUTPUT_SYMOFFSET       = 1U << 11,
> -	PERF_OUTPUT_SRCLINE         = 1U << 12,
> -	PERF_OUTPUT_PERIOD          = 1U << 13,
> -	PERF_OUTPUT_IREGS	    = 1U << 14,
> -	PERF_OUTPUT_BRSTACK	    = 1U << 15,
> -	PERF_OUTPUT_BRSTACKSYM	    = 1U << 16,
> -	PERF_OUTPUT_DATA_SRC	    = 1U << 17,
> -	PERF_OUTPUT_WEIGHT	    = 1U << 18,
> -	PERF_OUTPUT_BPF_OUTPUT	    = 1U << 19,
> -	PERF_OUTPUT_CALLINDENT	    = 1U << 20,
> -	PERF_OUTPUT_INSN	    = 1U << 21,
> -	PERF_OUTPUT_INSNLEN	    = 1U << 22,
> -	PERF_OUTPUT_BRSTACKINSN	    = 1U << 23,
> -	PERF_OUTPUT_BRSTACKOFF	    = 1U << 24,
> -	PERF_OUTPUT_SYNTH           = 1U << 25,
> -	PERF_OUTPUT_PHYS_ADDR       = 1U << 26,
> -	PERF_OUTPUT_UREGS	    = 1U << 27,
> -	PERF_OUTPUT_METRIC	    = 1U << 28,
> -	PERF_OUTPUT_MISC            = 1U << 29,
> -	PERF_OUTPUT_SRCCODE	    = 1U << 30,
> -	PERF_OUTPUT_IPC             = 1U << 31,
> +	PERF_OUTPUT_COMM            = 1ULL << 0,
> +	PERF_OUTPUT_TID             = 1ULL << 1,
> +	PERF_OUTPUT_PID             = 1ULL << 2,
> +	PERF_OUTPUT_TIME            = 1ULL << 3,
> +	PERF_OUTPUT_CPU             = 1ULL << 4,
> +	PERF_OUTPUT_EVNAME          = 1ULL << 5,
> +	PERF_OUTPUT_TRACE           = 1ULL << 6,
> +	PERF_OUTPUT_IP              = 1ULL << 7,
> +	PERF_OUTPUT_SYM             = 1ULL << 8,
> +	PERF_OUTPUT_DSO             = 1ULL << 9,
> +	PERF_OUTPUT_ADDR            = 1ULL << 10,
> +	PERF_OUTPUT_SYMOFFSET       = 1ULL << 11,
> +	PERF_OUTPUT_SRCLINE         = 1ULL << 12,
> +	PERF_OUTPUT_PERIOD          = 1ULL << 13,
> +	PERF_OUTPUT_IREGS	    = 1ULL << 14,
> +	PERF_OUTPUT_BRSTACK	    = 1ULL << 15,
> +	PERF_OUTPUT_BRSTACKSYM	    = 1ULL << 16,
> +	PERF_OUTPUT_DATA_SRC	    = 1ULL << 17,
> +	PERF_OUTPUT_WEIGHT	    = 1ULL << 18,
> +	PERF_OUTPUT_BPF_OUTPUT	    = 1ULL << 19,
> +	PERF_OUTPUT_CALLINDENT	    = 1ULL << 20,
> +	PERF_OUTPUT_INSN	    = 1ULL << 21,
> +	PERF_OUTPUT_INSNLEN	    = 1ULL << 22,
> +	PERF_OUTPUT_BRSTACKINSN	    = 1ULL << 23,
> +	PERF_OUTPUT_BRSTACKOFF	    = 1ULL << 24,
> +	PERF_OUTPUT_SYNTH           = 1ULL << 25,
> +	PERF_OUTPUT_PHYS_ADDR       = 1ULL << 26,
> +	PERF_OUTPUT_UREGS	    = 1ULL << 27,
> +	PERF_OUTPUT_METRIC	    = 1ULL << 28,
> +	PERF_OUTPUT_MISC            = 1ULL << 29,
> +	PERF_OUTPUT_SRCCODE	    = 1ULL << 30,
> +	PERF_OUTPUT_IPC             = 1ULL << 31,
>  };
>  
>  struct output_option {
> -- 
> 2.17.1
> 

-- 

- Arnaldo

Powered by blists - more mailing lists