• Home
  • Raw
  • Download

Lines Matching refs:group

105 	struct user_event_group *group;  member
133 struct user_event_group *group; member
149 static int user_event_parse(struct user_event_group *group, char *name,
172 static void user_event_group_destroy(struct user_event_group *group) in user_event_group_destroy() argument
174 if (group->register_page_data) in user_event_group_destroy()
175 set_page_reservations(group->register_page_data, false); in user_event_group_destroy()
177 if (group->pages) in user_event_group_destroy()
178 __free_pages(group->pages, MAX_PAGE_ORDER); in user_event_group_destroy()
180 kfree(group->system_name); in user_event_group_destroy()
181 kfree(group); in user_event_group_destroy()
221 struct user_event_group *group = NULL; in current_user_event_group() local
224 group = user_event_group_from_user_ns(user_ns); in current_user_event_group()
226 if (group) in current_user_event_group()
232 return group; in current_user_event_group()
238 struct user_event_group *group; in user_event_group_create() local
240 group = kzalloc(sizeof(*group), GFP_KERNEL); in user_event_group_create()
242 if (!group) in user_event_group_create()
245 group->system_name = user_event_group_system_name(user_ns); in user_event_group_create()
247 if (!group->system_name) in user_event_group_create()
250 group->pages = alloc_pages(GFP_KERNEL | __GFP_ZERO, MAX_PAGE_ORDER); in user_event_group_create()
252 if (!group->pages) in user_event_group_create()
255 group->register_page_data = page_address(group->pages); in user_event_group_create()
257 set_page_reservations(group->register_page_data, true); in user_event_group_create()
260 bitmap_zero(group->page_bitmap, MAX_EVENTS); in user_event_group_create()
261 set_bit(0, group->page_bitmap); in user_event_group_create()
263 mutex_init(&group->reg_mutex); in user_event_group_create()
264 hash_init(group->register_table); in user_event_group_create()
266 return group; in user_event_group_create()
268 if (group) in user_event_group_create()
269 user_event_group_destroy(group); in user_event_group_create()
279 user->group->register_page_data[MAP_STATUS_BYTE(i)] |= MAP_STATUS_MASK(i); in user_event_register_set()
287 user->group->register_page_data[MAP_STATUS_BYTE(i)] &= ~MAP_STATUS_MASK(i); in user_event_register_clear()
331 static int user_event_parse_cmd(struct user_event_group *group, in user_event_parse_cmd() argument
346 return user_event_parse(group, name, args, flags, newuser); in user_event_parse_cmd()
837 clear_bit(user->index, user->group->page_bitmap); in destroy_user_event()
848 static struct user_event *find_user_event(struct user_event_group *group, in find_user_event() argument
856 hash_for_each_possible(group->register_table, user, node, key) in find_user_event()
1088 struct user_event_group *group; in user_event_create() local
1104 group = current_user_event_group(); in user_event_create()
1106 if (!group) { in user_event_create()
1111 mutex_lock(&group->reg_mutex); in user_event_create()
1113 ret = user_event_parse_cmd(group, name, &user); in user_event_create()
1118 mutex_unlock(&group->reg_mutex); in user_event_create()
1272 static int user_event_parse(struct user_event_group *group, char *name, in user_event_parse() argument
1283 user = find_user_event(group, name, &key); in user_event_parse()
1296 index = find_first_zero_bit(group->page_bitmap, MAX_EVENTS); in user_event_parse()
1310 user->group = group; in user_event_parse()
1329 user->class.system = group->system_name; in user_event_parse()
1353 set_bit(user->index, group->page_bitmap); in user_event_parse()
1354 hash_add(group->register_table, &user->node, key); in user_event_parse()
1373 static int delete_user_event(struct user_event_group *group, char *name) in delete_user_event() argument
1376 struct user_event *user = find_user_event(group, name, &key); in delete_user_event()
1470 struct user_event_group *group; in user_events_open() local
1473 group = current_user_event_group(); in user_events_open()
1475 if (!group) in user_events_open()
1483 info->group = group; in user_events_open()
1514 struct user_event_group *group = info->group; in user_events_ref_add() local
1519 lockdep_is_held(&group->reg_mutex)); in user_events_ref_add()
1604 ret = user_event_parse_cmd(info->group, name, &user); in user_events_ioctl_reg()
1643 ret = delete_user_event(info->group, name); in user_events_ioctl_del()
1658 struct user_event_group *group = info->group; in user_events_ioctl() local
1663 mutex_lock(&group->reg_mutex); in user_events_ioctl()
1665 mutex_unlock(&group->reg_mutex); in user_events_ioctl()
1669 mutex_lock(&group->reg_mutex); in user_events_ioctl()
1671 mutex_unlock(&group->reg_mutex); in user_events_ioctl()
1684 struct user_event_group *group; in user_events_release() local
1692 group = info->group; in user_events_release()
1698 mutex_lock(&group->reg_mutex); in user_events_release()
1719 mutex_unlock(&group->reg_mutex); in user_events_release()
1751 struct user_event_group *group = user_status_group(file); in user_status_mmap() local
1757 if (!group) in user_status_mmap()
1760 pages = group->register_page_data; in user_status_mmap()
1787 struct user_event_group *group = m->private; in user_seq_show() local
1792 if (!group) in user_seq_show()
1795 mutex_lock(&group->reg_mutex); in user_seq_show()
1797 hash_for_each(group->register_table, i, user, node) { in user_seq_show()
1821 mutex_unlock(&group->reg_mutex); in user_seq_show()
1840 struct user_event_group *group; in user_status_open() local
1843 group = current_user_event_group(); in user_status_open()
1845 if (!group) in user_status_open()
1854 m->private = group; in user_status_open()