asma               69 drivers/staging/android/ashmem.c 	struct ashmem_area *asma;
asma              176 drivers/staging/android/ashmem.c static void range_alloc(struct ashmem_area *asma,
asma              184 drivers/staging/android/ashmem.c 	range->asma = asma;
asma              243 drivers/staging/android/ashmem.c 	struct ashmem_area *asma;
asma              250 drivers/staging/android/ashmem.c 	asma = kmem_cache_zalloc(ashmem_area_cachep, GFP_KERNEL);
asma              251 drivers/staging/android/ashmem.c 	if (!asma)
asma              254 drivers/staging/android/ashmem.c 	INIT_LIST_HEAD(&asma->unpinned_list);
asma              255 drivers/staging/android/ashmem.c 	memcpy(asma->name, ASHMEM_NAME_PREFIX, ASHMEM_NAME_PREFIX_LEN);
asma              256 drivers/staging/android/ashmem.c 	asma->prot_mask = PROT_MASK;
asma              257 drivers/staging/android/ashmem.c 	file->private_data = asma;
asma              272 drivers/staging/android/ashmem.c 	struct ashmem_area *asma = file->private_data;
asma              276 drivers/staging/android/ashmem.c 	list_for_each_entry_safe(range, next, &asma->unpinned_list, unpinned)
asma              280 drivers/staging/android/ashmem.c 	if (asma->file)
asma              281 drivers/staging/android/ashmem.c 		fput(asma->file);
asma              282 drivers/staging/android/ashmem.c 	kmem_cache_free(ashmem_area_cachep, asma);
asma              289 drivers/staging/android/ashmem.c 	struct ashmem_area *asma = iocb->ki_filp->private_data;
asma              295 drivers/staging/android/ashmem.c 	if (asma->size == 0)
asma              298 drivers/staging/android/ashmem.c 	if (!asma->file) {
asma              310 drivers/staging/android/ashmem.c 	ret = vfs_iter_read(asma->file, iter, &iocb->ki_pos, 0);
asma              313 drivers/staging/android/ashmem.c 		asma->file->f_pos = iocb->ki_pos;
asma              321 drivers/staging/android/ashmem.c 	struct ashmem_area *asma = file->private_data;
asma              326 drivers/staging/android/ashmem.c 	if (asma->size == 0) {
asma              331 drivers/staging/android/ashmem.c 	if (!asma->file) {
asma              338 drivers/staging/android/ashmem.c 	ret = vfs_llseek(asma->file, offset, origin);
asma              343 drivers/staging/android/ashmem.c 	file->f_pos = asma->file->f_pos;
asma              371 drivers/staging/android/ashmem.c 	struct ashmem_area *asma = file->private_data;
asma              377 drivers/staging/android/ashmem.c 	if (!asma->size) {
asma              383 drivers/staging/android/ashmem.c 	if (vma->vm_end - vma->vm_start > PAGE_ALIGN(asma->size)) {
asma              389 drivers/staging/android/ashmem.c 	if ((vma->vm_flags & ~calc_vm_prot_bits(asma->prot_mask, 0)) &
asma              394 drivers/staging/android/ashmem.c 	vma->vm_flags &= ~calc_vm_may_flags(~asma->prot_mask);
asma              396 drivers/staging/android/ashmem.c 	if (!asma->file) {
asma              400 drivers/staging/android/ashmem.c 		if (asma->name[ASHMEM_NAME_PREFIX_LEN] != '\0')
asma              401 drivers/staging/android/ashmem.c 			name = asma->name;
asma              404 drivers/staging/android/ashmem.c 		vmfile = shmem_file_setup(name, asma->size, vma->vm_flags);
asma              410 drivers/staging/android/ashmem.c 		asma->file = vmfile;
asma              425 drivers/staging/android/ashmem.c 	get_file(asma->file);
asma              434 drivers/staging/android/ashmem.c 			fput(asma->file);
asma              443 drivers/staging/android/ashmem.c 	vma->vm_file = asma->file;
asma              481 drivers/staging/android/ashmem.c 		struct file *f = range->asma->file;
asma              527 drivers/staging/android/ashmem.c static int set_prot_mask(struct ashmem_area *asma, unsigned long prot)
asma              534 drivers/staging/android/ashmem.c 	if ((asma->prot_mask & prot) != prot) {
asma              543 drivers/staging/android/ashmem.c 	asma->prot_mask = prot;
asma              550 drivers/staging/android/ashmem.c static int set_name(struct ashmem_area *asma, void __user *name)
asma              572 drivers/staging/android/ashmem.c 	if (asma->file)
asma              575 drivers/staging/android/ashmem.c 		strcpy(asma->name + ASHMEM_NAME_PREFIX_LEN, local_name);
asma              581 drivers/staging/android/ashmem.c static int get_name(struct ashmem_area *asma, void __user *name)
asma              594 drivers/staging/android/ashmem.c 	if (asma->name[ASHMEM_NAME_PREFIX_LEN] != '\0') {
asma              599 drivers/staging/android/ashmem.c 		len = strlen(asma->name + ASHMEM_NAME_PREFIX_LEN) + 1;
asma              600 drivers/staging/android/ashmem.c 		memcpy(local_name, asma->name + ASHMEM_NAME_PREFIX_LEN, len);
asma              622 drivers/staging/android/ashmem.c static int ashmem_pin(struct ashmem_area *asma, size_t pgstart, size_t pgend,
asma              628 drivers/staging/android/ashmem.c 	list_for_each_entry_safe(range, next, &asma->unpinned_list, unpinned) {
asma              675 drivers/staging/android/ashmem.c 			range_alloc(asma, range, range->purged,
asma              690 drivers/staging/android/ashmem.c static int ashmem_unpin(struct ashmem_area *asma, size_t pgstart, size_t pgend,
asma              697 drivers/staging/android/ashmem.c 	list_for_each_entry_safe(range, next, &asma->unpinned_list, unpinned) {
asma              717 drivers/staging/android/ashmem.c 	range_alloc(asma, range, purged, pgstart, pgend, new_range);
asma              727 drivers/staging/android/ashmem.c static int ashmem_get_pin_status(struct ashmem_area *asma, size_t pgstart,
asma              733 drivers/staging/android/ashmem.c 	list_for_each_entry(range, &asma->unpinned_list, unpinned) {
asma              745 drivers/staging/android/ashmem.c static int ashmem_pin_unpin(struct ashmem_area *asma, unsigned long cmd,
asma              765 drivers/staging/android/ashmem.c 	if (!asma->file)
asma              770 drivers/staging/android/ashmem.c 		pin.len = PAGE_ALIGN(asma->size) - pin.offset;
asma              778 drivers/staging/android/ashmem.c 	if (PAGE_ALIGN(asma->size) < pin.offset + pin.len)
asma              786 drivers/staging/android/ashmem.c 		ret = ashmem_pin(asma, pgstart, pgend, &range);
asma              789 drivers/staging/android/ashmem.c 		ret = ashmem_unpin(asma, pgstart, pgend, &range);
asma              792 drivers/staging/android/ashmem.c 		ret = ashmem_get_pin_status(asma, pgstart, pgend);
asma              806 drivers/staging/android/ashmem.c 	struct ashmem_area *asma = file->private_data;
asma              811 drivers/staging/android/ashmem.c 		ret = set_name(asma, (void __user *)arg);
asma              814 drivers/staging/android/ashmem.c 		ret = get_name(asma, (void __user *)arg);
asma              819 drivers/staging/android/ashmem.c 		if (!asma->file) {
asma              821 drivers/staging/android/ashmem.c 			asma->size = (size_t)arg;
asma              826 drivers/staging/android/ashmem.c 		ret = asma->size;
asma              829 drivers/staging/android/ashmem.c 		ret = set_prot_mask(asma, arg);
asma              832 drivers/staging/android/ashmem.c 		ret = asma->prot_mask;
asma              837 drivers/staging/android/ashmem.c 		ret = ashmem_pin_unpin(asma, cmd, (void __user *)arg);
asma              874 drivers/staging/android/ashmem.c 	struct ashmem_area *asma = file->private_data;
asma              878 drivers/staging/android/ashmem.c 	if (asma->file)
asma              879 drivers/staging/android/ashmem.c 		seq_printf(m, "inode:\t%ld\n", file_inode(asma->file)->i_ino);
asma              881 drivers/staging/android/ashmem.c 	if (asma->name[ASHMEM_NAME_PREFIX_LEN] != '\0')
asma              883 drivers/staging/android/ashmem.c 			   asma->name + ASHMEM_NAME_PREFIX_LEN);