Lines Matching refs:key
188 union futex_key key; member
218 union futex_key key; member
227 .key = FUTEX_KEY_INIT,
362 static struct futex_hash_bucket *hash_futex(union futex_key *key) in hash_futex() argument
364 u32 hash = jhash2((u32 *)key, offsetof(typeof(*key), both.offset) / 4, in hash_futex()
365 key->both.offset); in hash_futex()
487 static int get_futex_key(u32 __user *uaddr, bool fshared, union futex_key *key, in get_futex_key() argument
499 key->both.offset = address % PAGE_SIZE; in get_futex_key()
502 address -= key->both.offset; in get_futex_key()
525 key->private.mm = mm; in get_futex_key()
527 key->private.mm = NULL; in get_futex_key()
529 key->private.address = address; in get_futex_key()
628 key->both.offset |= FUT_OFF_MMSHARED; /* ref taken on mm */ in get_futex_key()
629 key->private.mm = mm; in get_futex_key()
630 key->private.address = address; in get_futex_key()
663 key->both.offset |= FUT_OFF_INODE; /* inode-based key */ in get_futex_key()
664 key->shared.i_seq = get_inode_sequence_number(inode); in get_futex_key()
665 key->shared.pgoff = page_to_pgoff(tail); in get_futex_key()
707 union futex_key *key) in futex_top_waiter() argument
712 if (match_futex(&this->key, key)) in futex_top_waiter()
761 pi_state->key = FUTEX_KEY_INIT; in refill_pi_state_cache()
857 union futex_key key = FUTEX_KEY_INIT; in exit_pi_state_list() local
870 key = pi_state->key; in exit_pi_state_list()
871 hb = hash_futex(&key); in exit_pi_state_list()
1224 static int attach_to_pi_owner(u32 __user *uaddr, u32 uval, union futex_key *key, in attach_to_pi_owner() argument
1296 pi_state->key = *key; in attach_to_pi_owner()
1316 union futex_key *key, struct futex_pi_state **ps, in lookup_pi_state() argument
1319 struct futex_q *top_waiter = futex_top_waiter(hb, key); in lookup_pi_state()
1332 return attach_to_pi_owner(uaddr, uval, key, ps, exiting); in lookup_pi_state()
1376 union futex_key *key, in futex_lock_pi_atomic() argument
1409 top_waiter = futex_top_waiter(hb, key); in futex_lock_pi_atomic()
1450 return attach_to_pi_owner(uaddr, newval, key, ps, exiting); in futex_lock_pi_atomic()
1605 union futex_key key = FUTEX_KEY_INIT; in futex_wake() local
1613 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_READ); in futex_wake()
1617 hb = hash_futex(&key); in futex_wake()
1625 trace_android_vh_futex_wake_traverse_plist(&hb->chain, &target_nr, key, bitset); in futex_wake()
1627 if (match_futex (&this->key, &key)) { in futex_wake()
1753 if (match_futex (&this->key, &key1)) { in futex_wake_op()
1767 if (match_futex (&this->key, &key2)) { in futex_wake_op()
1809 q->key = *key2; in requeue_futex()
1827 void requeue_pi_wake_futex(struct futex_q *q, union futex_key *key, in requeue_pi_wake_futex() argument
1830 q->key = *key; in requeue_pi_wake_futex()
2114 if (!match_futex(&this->key, &key1)) in futex_requeue()
2214 hb = hash_futex(&q->key); in queue_lock()
2674 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q->key, FUTEX_READ); in futex_wait_setup()
2815 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q.key, FUTEX_WRITE); in futex_lock_pi()
2822 ret = futex_lock_pi_atomic(uaddr, hb, &q.key, &q.pi_state, current, in futex_lock_pi()
2970 union futex_key key = FUTEX_KEY_INIT; in futex_unlock_pi() local
2987 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_WRITE); in futex_unlock_pi()
2991 hb = hash_futex(&key); in futex_unlock_pi()
2999 top_waiter = futex_top_waiter(hb, &key); in futex_unlock_pi()
3132 if (!match_futex(&q->key, key2)) { in handle_early_requeue_pi_wakeup()
3240 if (match_futex(&q.key, &key2)) { in futex_wait_requeue_pi()