On Fri, Oct 28, 2016 at 3:27 PM, Matthew Auld <matthew.william.auld@xxxxxxxxx> wrote:
> +/* Note we copy the properties from userspace outside of the i915 perf
> + * mutex to avoid an awkward lockdep with mmap_sem.
> + *
> + * Note this function only validates properties in isolation it doesn't
> + * validate that the combination of properties makes sense or that all
> + * properties necessary for a particular kind of stream have been set.
> + */
> +static int read_properties_unlocked(struct drm_i915_private *dev_priv, Ah but DRM_I915_PERF_PROP_MAX is not a property itself.
> + u64 __user *uprops,
> + u32 n_props,
> + struct perf_open_properties *props)
> +{
> + u64 __user *uprop = uprops;
> + int i;
> +
> + memset(props, 0, sizeof(struct perf_open_properties));
> +
> + if (!n_props) {
> + DRM_ERROR("No i915 perf properties given");
> + return -EINVAL;
> + }
> +
> + if (n_props > DRM_I915_PERF_PROP_MAX) {
I'm not sure I follow what your implied concern is?
This is just a sanity check for the number properties given by userspace, based on the assumption that there's currently no reason for multiple values with a particular property id.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel