Mathieu Poirier <mathieu.poir...@linaro.org> writes:

> +#define ETM3X_SUPPORTED_OPTIONS (ETMCR_CYC_ACC | ETMCR_TIMESTAMP_EN)
> +
> +static int etm_parse_event_config(struct etm_drvdata *drvdata,
> +                               struct perf_event *event)
> +{
> +     u64 config = event->attr.config;
> +
> +     /*
> +      * At this time only cycle accurate and timestamp options are
> +      * available.  As such clear everything else that may have been
> +      * configured and set the ETM control register based on what was
> +      * requested.
> +      */
> +     config &= ETM3X_SUPPORTED_OPTIONS;

You want to make sure no bits outside of this mask are set in config,
though, and return -EINVAL. Below you're even checking for it:

> +     if (etm_parse_event_config(drvdata, event))
> +             return -EINVAL;

Regards,
--
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to