diff mbox series

udp: Switch the order of arguments to copy_linear_skb

Message ID 20210511113400.1722975-1-willy@infradead.org
State New
Headers show
Series udp: Switch the order of arguments to copy_linear_skb | expand

Commit Message

Matthew Wilcox May 11, 2021, 11:34 a.m. UTC
All other skb functions use (off, len); this is the only one which
uses (len, off).  Make it consistent.

Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 include/net/udp.h | 2 +-
 net/ipv4/udp.c    | 2 +-
 net/ipv6/udp.c    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

Comments

Matthew Wilcox May 11, 2021, 1:54 p.m. UTC | #1
On Tue, May 11, 2021 at 01:44:45PM +0000, David Laight wrote:
> From: Matthew Wilcox
> > Sent: 11 May 2021 14:39
> > 
> > On Tue, May 11, 2021 at 01:11:42PM +0000, David Laight wrote:
> > > From: Matthew Wilcox
> > > > Sent: 11 May 2021 12:34
> > > >
> > > > All other skb functions use (off, len); this is the only one which
> > > > uses (len, off).  Make it consistent.
> > >
> > > I wouldn't change the order of the arguments without some other
> > > change that ensures old code fails to compile.
> > > (Like tweaking the function name.)
> > 
> > Yes, some random essentially internal function that has had no new
> > users since it was created in 2017 should get a new name *eyeroll*.
> > 
> > Please find more useful things to critique.  Or, you know, write some
> > damned code yourself instead of just having opinions.
> 
> You could easily completely screw up any code that isn't committed
> to the kernel source tree.
> It isn't the sort of bug I'd want to diagnose.

Simple, get your kernel driver into the main kernel tree (remember we are
talking about drivers released under a GPL-compatible license here, if your
code doesn't fall under this category, good luck, you are on your own here,
you leech). -- GregKH
diff mbox series

Patch

diff --git a/include/net/udp.h b/include/net/udp.h
index 360df454356c..c4a7a4c56e75 100644
--- a/include/net/udp.h
+++ b/include/net/udp.h
@@ -392,7 +392,7 @@  static inline bool udp_skb_is_linear(struct sk_buff *skb)
 }
 #endif
 
-static inline int copy_linear_skb(struct sk_buff *skb, int len, int off,
+static inline int copy_linear_skb(struct sk_buff *skb, int off, int len,
 				  struct iov_iter *to)
 {
 	int n;
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 15f5504adf5b..783c466e6071 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1859,7 +1859,7 @@  int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock,
 
 	if (checksum_valid || udp_skb_csum_unnecessary(skb)) {
 		if (udp_skb_is_linear(skb))
-			err = copy_linear_skb(skb, copied, off, &msg->msg_iter);
+			err = copy_linear_skb(skb, off, copied, &msg->msg_iter);
 		else
 			err = skb_copy_datagram_msg(skb, off, msg, copied);
 	} else {
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 199b080d418a..24b202dd370e 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -369,7 +369,7 @@  int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
 
 	if (checksum_valid || udp_skb_csum_unnecessary(skb)) {
 		if (udp_skb_is_linear(skb))
-			err = copy_linear_skb(skb, copied, off, &msg->msg_iter);
+			err = copy_linear_skb(skb, off, copied, &msg->msg_iter);
 		else
 			err = skb_copy_datagram_msg(skb, off, msg, copied);
 	} else {