int i915_cmdbuffer(DRM_IOCTL_ARGS) 
static int i915_cmdbuffer(DRM_IOCTL_ARGS) 
int i915_cmdbuffer(DRM_IOCTL_ARGS){	DRM_DEVICE;	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;	u32 *hw_status = dev_priv->hw_status_page;	drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *)	    dev_priv->sarea_priv;	drm_i915_cmdbuffer_t cmdbuf;	int ret;	DRM_COPY_FROM_USER_IOCTL(cmdbuf, (drm_i915_cmdbuffer_t __user *) data,				 sizeof(cmdbuf));	DRM_DEBUG("i915 cmdbuffer, buf %p sz %d cliprects %d\n",		  cmdbuf.buf, cmdbuf.sz, cmdbuf.num_cliprects);	LOCK_TEST_WITH_RETURN(dev, filp);	if (cmdbuf.num_cliprects &&	    DRM_VERIFYAREA_READ(cmdbuf.cliprects,				cmdbuf.num_cliprects *				sizeof(drm_clip_rect_t))) {		DRM_ERROR("Fault accessing cliprects\n");		return DRM_ERR(EFAULT);	}	ret = i915_dispatch_cmdbuffer(dev, &cmdbuf);	if (ret) {		DRM_ERROR("i915_dispatch_cmdbuffer failed\n");		return ret;	}	sarea_priv->last_dispatch = (int)hw_status[5];	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c94f70298529d99ac6e1ee7709f61eab00adeb39/i915_dma.c/buggy/drivers/char/drm/i915_dma.c