net: sock: make sock_tx_timestamp void
Subsystems (7)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 net: sock: make sock_tx_timestamp void
Currently, sock_tx_timestamp() always returns 0. The comment that describes the sock_tx_timestamp() function wrongly says that it returns an error when an invalid argument is passed (from commit 20d4947353be, ``net: socket infrastructure for SO_TIMESTAMPING''). Make the function void, so that we can also remove all the unneeded if conditions that check for such a _non-existant_ error case in the output path.
--- include/net/sock.h | 5 ++--- net/can/raw.c | 5 ++--- net/ipv4/ping.c | 5 ++--- net/ipv4/udp.c | 6 +++--- net/ipv6/ip6_output.c | 7 ++----- net/packet/af_packet.c | 10 ++++------ net/socket.c | 3 +-- 7 files changed, 16 insertions(+), 25 deletions(-)
include/net/sock.h +2 -3
@@ -2159,10 +2159,9 @@ static inline void sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk,* @sk: socket sending this packet * @tx_flags: filled with instructions for time stamping * -* Currently only depends on SOCK_TIMESTAMPING* flags. Returns error code if -* parameters are invalid. +* Currently only depends on SOCK_TIMESTAMPING* flags. */ -extern int sock_tx_timestamp (struct sock *sk,__u8 *tx_flags); +extern void sock_tx_timestamp (struct sock *sk,__u8 *tx_flags);/** * sk_eat_skb - Release a skb if it is no longer needed
net/can/raw.c +2 -3
@@ -711,9 +711,8 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock, err =memcpy_fromiovec (skb_put (skb, size), msg->msg_iov, size);if (err <0 ) goto free_skb; - err =sock_tx_timestamp (sk, &skb_shinfo (skb)->tx_flags); -if (err <0 ) - goto free_skb; + +sock_tx_timestamp (sk, &skb_shinfo (skb)->tx_flags); skb->dev = dev; skb->sk = sk;
net/ipv4/ping.c +2 -3
@@ -514,9 +514,8 @@ static int ping_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, ipc.opt =NULL ; ipc.oif = sk->sk_bound_dev_if; ipc.tx_flags =0 ; - err =sock_tx_timestamp (sk, &ipc.tx_flags); -if (err) -return err; + +sock_tx_timestamp (sk, &ipc.tx_flags);if (msg->msg_controllen) { err =ip_cmsg_send (sock_net (sk), msg, &ipc);
net/ipv4/udp.c +3 -3
@@ -902,9 +902,9 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, ipc.addr = inet->inet_saddr; ipc.oif = sk->sk_bound_dev_if; - err =sock_tx_timestamp (sk, &ipc.tx_flags); -if (err) -return err; + +sock_tx_timestamp (sk, &ipc.tx_flags); +if (msg->msg_controllen) { err =ip_cmsg_send (sock_net (sk), msg, &ipc);if (err)
net/ipv6/ip6_output.c +2 -5
@@ -1224,11 +1224,8 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, }/* For UDP, check if TX timestamp is enabled */ -if (sk->sk_type ==SOCK_DGRAM ) { - err =sock_tx_timestamp (sk, &tx_flags); -if (err) - goto error; - } +if (sk->sk_type ==SOCK_DGRAM ) +sock_tx_timestamp (sk, &tx_flags);/* * Let's try using as much space as possible.
net/packet/af_packet.c +4 -6
@@ -1505,9 +1505,8 @@ retry: skb->dev = dev; skb->priority = sk->sk_priority; skb->mark = sk->sk_mark; - err =sock_tx_timestamp (sk, &skb_shinfo (skb)->tx_flags); -if (err <0 ) - goto out_unlock; + +sock_tx_timestamp (sk, &skb_shinfo (skb)->tx_flags);if (unlikely (extra_len ==4 )) skb->no_fcs =1 ;
@@ -2312,9 +2311,8 @@ static int packet_snd(struct socket *sock, err =skb_copy_datagram_from_iovec (skb, offset, msg->msg_iov,0 , len);if (err) goto out_free; - err =sock_tx_timestamp (sk, &skb_shinfo (skb)->tx_flags); -if (err <0 ) - goto out_free; + +sock_tx_timestamp (sk, &skb_shinfo (skb)->tx_flags);if (!gso_type && (len > dev->mtu + reserve + extra_len)) {/* Earlier code assumed this would be a VLAN pkt,
net/socket.c +1 -2
@@ -600,7 +600,7 @@ void sock_release(struct socket *sock) }EXPORT_SYMBOL (sock_release); -int sock_tx_timestamp (struct sock *sk,__u8 *tx_flags) +void sock_tx_timestamp (struct sock *sk,__u8 *tx_flags) { *tx_flags =0 ;if (sock_flag (sk,SOCK_TIMESTAMPING_TX_HARDWARE ))
@@ -609,7 +609,6 @@ int sock_tx_timestamp(struct sock *sk, __u8 *tx_flags) *tx_flags |=SKBTX_SW_TSTAMP ;if (sock_flag (sk,SOCK_WIFI_STATUS )) *tx_flags |=SKBTX_WIFI_STATUS ; -return 0 ; }EXPORT_SYMBOL (sock_tx_timestamp);
Signature · 1 line
1.7.11.7
From: Daniel Borkmann <[email protected]>
Date: Sun, 14 Apr 2013 20:08:13 +0200
Quoted 9 lines
Currently,
sock_tx_timestamp()always returns 0. The comment that describes thesock_tx_timestamp()function wrongly says that it returns an error when an invalid argument is passed (from commit20d4947353be, ``net: socket infrastructure forSO_TIMESTAMPING''). Make the function void, so that we can also remove all the unneeded if conditions that check for such a _non-existant_ error case in the output path.Signed-off-by Daniel Borkmann <[email protected]>
Applied.