Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62175c75 authored by David S. Miller's avatar David S. Miller
Browse files
parents 48bc9a2c 5e18247b
Loading
Loading
Loading
Loading
+5 −4
Original line number Original line Diff line number Diff line
@@ -128,8 +128,7 @@ static void handle_tx(struct vhost_net *net)
	size_t hdr_size;
	size_t hdr_size;
	struct socket *sock;
	struct socket *sock;


	/* TODO: check that we are running from vhost_worker?
	/* TODO: check that we are running from vhost_worker? */
	 * Not sure it's worth it, it's straight-forward enough. */
	sock = rcu_dereference_check(vq->private_data, 1);
	sock = rcu_dereference_check(vq->private_data, 1);
	if (!sock)
	if (!sock)
		return;
		return;
@@ -306,7 +305,8 @@ static void handle_rx_big(struct vhost_net *net)
	size_t len, total_len = 0;
	size_t len, total_len = 0;
	int err;
	int err;
	size_t hdr_size;
	size_t hdr_size;
	struct socket *sock = rcu_dereference(vq->private_data);
	/* TODO: check that we are running from vhost_worker? */
	struct socket *sock = rcu_dereference_check(vq->private_data, 1);
	if (!sock || skb_queue_empty(&sock->sk->sk_receive_queue))
	if (!sock || skb_queue_empty(&sock->sk->sk_receive_queue))
		return;
		return;


@@ -415,7 +415,8 @@ static void handle_rx_mergeable(struct vhost_net *net)
	int err, headcount;
	int err, headcount;
	size_t vhost_hlen, sock_hlen;
	size_t vhost_hlen, sock_hlen;
	size_t vhost_len, sock_len;
	size_t vhost_len, sock_len;
	struct socket *sock = rcu_dereference(vq->private_data);
	/* TODO: check that we are running from vhost_worker? */
	struct socket *sock = rcu_dereference_check(vq->private_data, 1);
	if (!sock || skb_queue_empty(&sock->sk->sk_receive_queue))
	if (!sock || skb_queue_empty(&sock->sk->sk_receive_queue))
		return;
		return;


+3 −3
Original line number Original line Diff line number Diff line
@@ -173,9 +173,9 @@ static inline int vhost_has_feature(struct vhost_dev *dev, int bit)
{
{
	unsigned acked_features;
	unsigned acked_features;


	acked_features =
	/* TODO: check that we are running from vhost_worker or dev mutex is
		rcu_dereference_index_check(dev->acked_features,
	 * held? */
					    lockdep_is_held(&dev->mutex));
	acked_features = rcu_dereference_index_check(dev->acked_features, 1);
	return acked_features & (1 << bit);
	return acked_features & (1 << bit);
}
}