datagram: remove rendundant 'peeked' argument
After commit a297569fe0
("net/udp: do not touch skb->peeked unless
really needed") the 'peeked' argument of __skb_try_recv_datagram()
and friends is always equal to !!'flags & MSG_PEEK'.
Since such argument is really a boolean info, and the callers have
already 'flags & MSG_PEEK' handy, we can remove it and clean-up the
code a bit.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
1f17f7742e
commit
fd69c399c7
@@ -1631,7 +1631,7 @@ int udp_ioctl(struct sock *sk, int cmd, unsigned long arg)
|
||||
EXPORT_SYMBOL(udp_ioctl);
|
||||
|
||||
struct sk_buff *__skb_recv_udp(struct sock *sk, unsigned int flags,
|
||||
int noblock, int *peeked, int *off, int *err)
|
||||
int noblock, int *off, int *err)
|
||||
{
|
||||
struct sk_buff_head *sk_queue = &sk->sk_receive_queue;
|
||||
struct sk_buff_head *queue;
|
||||
@@ -1650,13 +1650,11 @@ struct sk_buff *__skb_recv_udp(struct sock *sk, unsigned int flags,
|
||||
break;
|
||||
|
||||
error = -EAGAIN;
|
||||
*peeked = 0;
|
||||
do {
|
||||
spin_lock_bh(&queue->lock);
|
||||
skb = __skb_try_recv_from_queue(sk, queue, flags,
|
||||
udp_skb_destructor,
|
||||
peeked, off, err,
|
||||
&last);
|
||||
off, err, &last);
|
||||
if (skb) {
|
||||
spin_unlock_bh(&queue->lock);
|
||||
return skb;
|
||||
@@ -1677,8 +1675,7 @@ struct sk_buff *__skb_recv_udp(struct sock *sk, unsigned int flags,
|
||||
|
||||
skb = __skb_try_recv_from_queue(sk, queue, flags,
|
||||
udp_skb_dtor_locked,
|
||||
peeked, off, err,
|
||||
&last);
|
||||
off, err, &last);
|
||||
spin_unlock(&sk_queue->lock);
|
||||
spin_unlock_bh(&queue->lock);
|
||||
if (skb)
|
||||
@@ -1713,8 +1710,7 @@ int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock,
|
||||
DECLARE_SOCKADDR(struct sockaddr_in *, sin, msg->msg_name);
|
||||
struct sk_buff *skb;
|
||||
unsigned int ulen, copied;
|
||||
int peeked, peeking, off;
|
||||
int err;
|
||||
int off, err, peeking = flags & MSG_PEEK;
|
||||
int is_udplite = IS_UDPLITE(sk);
|
||||
bool checksum_valid = false;
|
||||
|
||||
@@ -1722,9 +1718,8 @@ int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock,
|
||||
return ip_recv_error(sk, msg, len, addr_len);
|
||||
|
||||
try_again:
|
||||
peeking = flags & MSG_PEEK;
|
||||
off = sk_peek_offset(sk, flags);
|
||||
skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
|
||||
skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
|
||||
if (!skb)
|
||||
return err;
|
||||
|
||||
@@ -1762,7 +1757,7 @@ try_again:
|
||||
}
|
||||
|
||||
if (unlikely(err)) {
|
||||
if (!peeked) {
|
||||
if (!peeking) {
|
||||
atomic_inc(&sk->sk_drops);
|
||||
UDP_INC_STATS(sock_net(sk),
|
||||
UDP_MIB_INERRORS, is_udplite);
|
||||
@@ -1771,7 +1766,7 @@ try_again:
|
||||
return err;
|
||||
}
|
||||
|
||||
if (!peeked)
|
||||
if (!peeking)
|
||||
UDP_INC_STATS(sock_net(sk),
|
||||
UDP_MIB_INDATAGRAMS, is_udplite);
|
||||
|
||||
|
Reference in New Issue
Block a user