{
        struct sock *sk;
        int err = 0;
-       unsigned long flags;
 
-       raw_spin_lock_irqsave(&stab->lock, flags);
+       raw_spin_lock_bh(&stab->lock);
        sk = *psk;
        if (!sk_test || sk_test == sk)
                sk = xchg(psk, NULL);
        else
                err = -EINVAL;
 
-       raw_spin_unlock_irqrestore(&stab->lock, flags);
+       raw_spin_unlock_bh(&stab->lock);
        return err;
 }
 
        struct bpf_shtab_bucket *bucket;
        struct bpf_shtab_elem *elem;
        int ret = -ENOENT;
-       unsigned long flags;
 
        hash = sock_hash_bucket_hash(key, key_size);
        bucket = sock_hash_select_bucket(htab, hash);
 
-       raw_spin_lock_irqsave(&bucket->lock, flags);
+       raw_spin_lock_bh(&bucket->lock);
        elem = sock_hash_lookup_elem_raw(&bucket->head, hash, key, key_size);
        if (elem) {
                hlist_del_rcu(&elem->node);
                sock_hash_free_elem(htab, elem);
                ret = 0;
        }
-       raw_spin_unlock_irqrestore(&bucket->lock, flags);
+       raw_spin_unlock_bh(&bucket->lock);
        return ret;
 }