if(r_list->map && r_list->map->handle == request.handle) 
if (r_list->map && r_list->map->offset == (unsigned long) request.handle) 
int drm_setsareactx(struct inode *inode, struct file *filp,		     unsigned int cmd, unsigned long arg){	drm_file_t	*priv	= filp->private_data;	drm_device_t	*dev	= priv->head->dev;	drm_ctx_priv_map_t request;	drm_map_t *map = NULL;	drm_map_list_t *r_list = NULL;	struct list_head *list;	if (copy_from_user(&request,			   (drm_ctx_priv_map_t __user *)arg,			   sizeof(request)))		return -EFAULT;	down(&dev->struct_sem);	list_for_each(list, &dev->maplist->head) {		r_list = list_entry(list, drm_map_list_t, head);		if(r_list->map &&		   r_list->map->handle == request.handle)			goto found;	}bad:	up(&dev->struct_sem);	return -EINVAL;found:	map = r_list->map;	if (!map) goto bad;	if (dev->max_context < 0)		goto bad;	if (request.ctx_id >= (unsigned) dev->max_context)		goto bad;	dev->context_sareas[request.ctx_id] = map;	up(&dev->struct_sem);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/9a18664506dbce5e23f3c5de7b1c5a042dd26520/drm_context.c/clean/drivers/char/drm/drm_context.c