Re: [PATCH v1] perf parse-events: Avoid erange from hex numbers

From: Namhyung Kim
Date: Fri Oct 06 2023 - 15:06:12 EST


Hi Ian,

On Fri, Oct 6, 2023 at 8:30 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> On Thu, Sep 7, 2023 at 2:05 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> >
> > We specify that a "num_hex" comprises 1 or more digits, however, that
> > allows strtoull to fail with ERANGE. Limit the number of hex digits to
> > being between 1 and 16.
> >
> > Before:
> > ```
> > $ perf stat -e 'cpu/rE7574c47490475745/' true
> > perf: util/parse-events.c:215: fix_raw: Assertion `errno == 0' failed.
> > Aborted (core dumped)
> > ```
> >
> > After:
> > ```
> > $ perf stat -e 'cpu/rE7574c47490475745/' true
> > event syntax error: 'cpu/rE7574c47490475745/'
> > \___ Bad event or PMU
> >
> > Unable to find PMU or event on a PMU of 'cpu'
> >
> > Initial error:
> > event syntax error: 'cpu/rE7574c47490475745/'
> > \___ unknown term 'rE7574c47490475745' for pmu 'cpu'
> >
> > valid terms: event,pc,edge,offcore_rsp,ldlat,inv,umask,frontend,cmask,config,config1,config2,config3,name,period,percore,metric-id
> > Run 'perf list' for a list of valid events
> >
> > Usage: perf stat [<options>] [<command>]
> >
> > -e, --event <event> event selector. use 'perf list' to list available events
> > ```
> >
> > Issue found through fuzz testing.
> >
> > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung