2018-10-31 11:35:51

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH] net: move ‘__zerocopy_sg_from_iter’ prototype to header file <linux/sk buff.h>

This makes it clear the function is part of the API. Also this will
remove a warning triggered at W=1:

net/core/datagram.c:581:5: warning: no previous prototype for ‘__zerocopy_sg_from_iter’ [-Wmissing-prototypes]

Signed-off-by: Mathieu Malaterre <[email protected]>
---
include/linux/skbuff.h | 2 ++
net/core/skbuff.c | 3 ---
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 0ba687454267..cca7c0a3c176 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -3311,6 +3311,8 @@ int skb_copy_and_csum_datagram_msg(struct sk_buff *skb, int hlen,
struct msghdr *msg);
int skb_copy_datagram_from_iter(struct sk_buff *skb, int offset,
struct iov_iter *from, int len);
+int __zerocopy_sg_from_iter(struct sock *sk, struct sk_buff *skb,
+ struct iov_iter *from, size_t length);
int zerocopy_sg_from_iter(struct sk_buff *skb, struct iov_iter *frm);
void skb_free_datagram(struct sock *sk, struct sk_buff *skb);
void __skb_free_datagram_locked(struct sock *sk, struct sk_buff *skb, int len);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 946de0e24c87..7eb7e0e104d4 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1102,9 +1102,6 @@ void sock_zerocopy_put_abort(struct ubuf_info *uarg)
}
EXPORT_SYMBOL_GPL(sock_zerocopy_put_abort);

-extern int __zerocopy_sg_from_iter(struct sock *sk, struct sk_buff *skb,
- struct iov_iter *from, size_t length);
-
int skb_zerocopy_iter_stream(struct sock *sk, struct sk_buff *skb,
struct msghdr *msg, int len,
struct ubuf_info *uarg)
--
2.11.0



2018-11-03 06:34:34

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: move ‘__zerocopy_sg_from_iter’ prototype to header file <linux/skbuff.h>

From: Mathieu Malaterre <[email protected]>
Date: Wed, 31 Oct 2018 12:34:59 +0100

> This makes it clear the function is part of the API. Also this will
> remove a warning triggered at W=1:
>
> net/core/datagram.c:581:5: warning: no previous prototype for ?__zerocopy_sg_from_iter? [-Wmissing-prototypes]
>
> Signed-off-by: Mathieu Malaterre <[email protected]>

It's not part of the "API", and it shouldn't even be exported to
modules.

Only net/core/skbuff.c calls it, and that is never modular.

2018-11-05 20:21:44

by Mathieu Malaterre

[permalink] [raw]
Subject: Re: [PATCH] net: move ‘__zerocopy_sg_from_iter’ prototype to header file <linux/skbuff.h>

On Sat, Nov 3, 2018 at 7:34 AM David Miller <[email protected]> wrote:
>
> From: Mathieu Malaterre <[email protected]>
> Date: Wed, 31 Oct 2018 12:34:59 +0100
>
> > This makes it clear the function is part of the API. Also this will
> > remove a warning triggered at W=1:
> >
> > net/core/datagram.c:581:5: warning: no previous prototype for ‘__zerocopy_sg_from_iter’ [-Wmissing-prototypes]
> >
> > Signed-off-by: Mathieu Malaterre <[email protected]>
>
> It's not part of the "API", and it shouldn't even be exported to
> modules.
>
> Only net/core/skbuff.c calls it, and that is never modular.

OK. I got confused with the EXPORT_SYMBOL(). I'll re-send moving
__zerocopy_sg_from_iter to skbuff.c.

Thanks