drm/i915: Round l3 parity reads down
authorBen Widawsky <benjamin.widawsky@intel.com>
Fri, 13 Sep 2013 05:28:28 +0000 (22:28 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 13 Sep 2013 12:55:55 +0000 (14:55 +0200)
We always read a register for l3 parity reads, and we don't really want
to ever let userspace trick us into giving back less than the dword.

Writes are okay because we assume everything will be 0 filled, and as
such, if a user really wants to write less than a dword, let them.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_sysfs.c

index c8c4112de1108e9293066305eca079fdac8651d2..9070f503d3321df8360579628eb68b1d489967a3 100644 (file)
@@ -121,6 +121,8 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
        uint32_t misccpctl;
        int i, ret;
 
+       count = round_down(count, 4);
+
        ret = l3_access_valid(drm_dev, offset);
        if (ret)
                return ret;