OUT_RING_TABLE((int __user *)cmdbuf->buf, sz); 
OUT_RING_TABLE((int *)cmdbuf->buf, sz); 
static __inline__ int r300_emit_packet0(drm_radeon_private_t * dev_priv,					drm_radeon_cmd_buffer_t * cmdbuf,					drm_r300_cmd_header_t header){	int reg;	int sz;	RING_LOCALS;	sz = header.packet0.count;	reg = (header.packet0.reghi << 8) | header.packet0.reglo;	if (!sz)		return 0;	if (sz * 4 > cmdbuf->bufsz)		return DRM_ERR(EINVAL);	if (reg + sz * 4 >= 0x10000) {		DRM_ERROR("No such registers in hardware reg=%04x sz=%d\n", reg,			  sz);		return DRM_ERR(EINVAL);	}	if (r300_check_range(reg, sz)) {		/* go and check everything */		return r300_emit_carefully_checked_packet0(dev_priv, cmdbuf,							   header);	}	/* the rest of the data is safe to emit, whatever the values the user passed */	BEGIN_RING(1 + sz);	OUT_RING(CP_PACKET0(reg, sz - 1));	OUT_RING_TABLE((int __user *)cmdbuf->buf, sz);	ADVANCE_RING();	cmdbuf->buf += sz * 4;	cmdbuf->bufsz -= sz * 4;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b3a83639895a422b25f72eec0a5d1d88c3ac4e9e/r300_cmdbuf.c/buggy/drivers/char/drm/r300_cmdbuf.c