Re: [RFC PATCH 18/20] coresight: etm3x: pushing down perf configuration to tracer

From: Alexander Shishkin
Date: Wed Sep 30 2015 - 08:45:30 EST


Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/