addr_hash
int hash = addr_hash(d, addr, addr_len, ifidx);
hash = addr_hash(d, addr, addr_len, ifidx);
kfree(gtp->addr_hash);
kfree(gtp->addr_hash);
gtp->addr_hash = kmalloc_objs(struct hlist_head, hsize,
if (gtp->addr_hash == NULL)
INIT_HLIST_HEAD(>p->addr_hash[i]);
kfree(gtp->addr_hash);
head = >p->addr_hash[ipv4_hashfn(ms_addr) % gtp->hash_size];
hlist_add_head_rcu(&pctx->hlist_addr, >p->addr_hash[hash_ms]);
head = >p->addr_hash[ipv6_hashfn(ms_addr) % gtp->hash_size];
struct hlist_head *addr_hash;
addr_hash.bank[i].xor_enable = FIELD_GET(ADDR_HASH_XOR_EN, temp);
addr_hash.bank[i].col_xor = FIELD_GET(ADDR_HASH_COL_XOR, temp);
addr_hash.bank[i].row_xor = FIELD_GET(ADDR_HASH_ROW_XOR, temp);
addr_hash.pc.xor_enable = FIELD_GET(ADDR_HASH_XOR_EN, temp);
addr_hash.pc.col_xor = FIELD_GET(ADDR_HASH_COL_XOR, temp);
addr_hash.pc.row_xor = FIELD_GET(ADDR_HASH_ROW_XOR, temp);
addr_hash.bank_xor = FIELD_GET(ADDR_HASH_BANK_XOR, temp);
if (!addr_hash.bank[i].xor_enable)
temp = hweight16(col & addr_hash.bank[i].col_xor) & 1;
temp ^= hweight16(row & addr_hash.bank[i].row_xor) & 1;
if (addr_hash.pc.xor_enable) {
temp = hweight16(col & addr_hash.pc.col_xor) & 1;
temp ^= hweight16(row & addr_hash.pc.row_xor) & 1;
temp ^= hweight16((bank | sid << NUM_BANK_BITS) & addr_hash.bank_xor) & 1;
} addr_hash;
return hash_32(addr_hash(addr) ^ (unsigned int)state);
struct hlist_node addr_hash;
return hash_32(addr->section ^ addr_hash(addr->address));
hash_for_each_possible_safe(symbol_addrs, match, tmp, addr_hash,
hash_add(symbol_addrs, &sym->addr_hash,