Re: [PATCH] tools lib traceevent: Add '~' operation within arg_num_eval()

David Ahern
2016-02-26T23:46:04Z

On 2/26/16 4:13 PM, Steven Rostedt wrote:
> When evaluating values for print flags, if the value included a '~'
> operator, the parsing would fail. This broke kmalloc's parsing of:
>
> __print_flags(REC->gfp_flags, "|", {(unsigned
> long)((((((( gfp_t)(0x400000u|0x2000000u)) | (( gfp_t)0x40u) |
> (( gfp_t)0x80u) | (( gfp_t)0x20000u)) | (( gfp_t)0x02u)) |
> (( gfp_t)0x08u)) | (( gfp_t)0x4000u) | (( gfp_t)0x10000u) |
> (( gfp_t)0x1000u) | (( gfp_t)0x200u)) & ~(( gfp_t)0x2000000u))
> ^
> |
> here
>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> ---

I've been meaning to chase this down for a few weeks. Worked for me.

Tested-by: David Ahern <dsahern@gmail.com>