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

From: David Ahern
Date: Thu Mar 10 2016 - 11:16:46 EST


On 2/26/16 4:45 PM, David Ahern wrote:
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@xxxxxxxxxxx>
---

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

Tested-by: David Ahern <dsahern@xxxxxxxxx>

Arnaldo: have not seen this one hit your tree. Did it fall through the cracks?