linux-4.17_scriptfs_implementation_stable_0.1/kernel/bpf/sockmap.c
/* Called with lock held on socket */
Called with lock held on socket
Called with lock held on socket
static void smap_data_ready(struct sock *sk)
{
	struct smap_psock *psock;
	rcu_read_lock();
	psock = smap_psock_sk(sk);
	if (likely(psock)) {
		write_lock_bh(&sk->sk_callback_lock);
		strp_data_ready(&psock->strp);
		write_unlock_bh(&sk->sk_callback_lock);
	}
	rcu_read_unlock();
}
static void smap_data_ready ( struct sock * sk ) { struct smap_psock * psock ; rcu_read_lock ( ) ; psock = smap_psock_sk ( sk ) ; if ( likely ( psock ) ) { write_lock_bh ( & sk -> sk_callback_lock ) ; strp_data_ready ( & psock -> strp ) ; write_unlock_bh ( & sk -> sk_callback_lock ) ; } rcu_read_unlock ( ) ; }
Called with lock held on socket
Called with lock held on socket