* Re: [PATCH 06/13] net: Move prototype declaration to appropriate header file from decnet/af_decnet.c
From: Josh Triplett @ 2014-02-08 20:10 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, David S. Miller, Gao feng, Sasha Levin,
Andrew Morton, Steffen Hurrle, Jiri Pirko, netdev,
linux-decnet-user
In-Reply-To: <46f32476c8361e104aa27cebb3425b4926f5ad57.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:28:07AM +0530, Rashika Kheria wrote:
> Move prototype declaration of functions to header file include/net/dn_route.h
> from net/decnet/af_decnet.c because it is used by more than one file.
>
> This eliminates the following warning in net/decnet/dn_route.c:
> net/decnet/dn_route.c:629:5: warning: no previous prototype for ‘dn_route_rcv’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> include/net/dn_route.h | 2 ++
> net/decnet/af_decnet.c | 2 --
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/net/dn_route.h b/include/net/dn_route.h
> index b409ad6..55df993 100644
> --- a/include/net/dn_route.h
> +++ b/include/net/dn_route.h
> @@ -20,6 +20,8 @@ int dn_route_output_sock(struct dst_entry __rcu **pprt, struct flowidn *,
> struct sock *sk, int flags);
> int dn_cache_dump(struct sk_buff *skb, struct netlink_callback *cb);
> void dn_rt_cache_flush(int delay);
> +int dn_route_rcv(struct sk_buff *skb, struct net_device *dev,
> + struct packet_type *pt, struct net_device *orig_dev);
>
> /* Masks for flags field */
> #define DN_RT_F_PID 0x07 /* Mask for packet type */
> diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
> index 2954dcb..24d9193 100644
> --- a/net/decnet/af_decnet.c
> +++ b/net/decnet/af_decnet.c
> @@ -2104,8 +2104,6 @@ static struct notifier_block dn_dev_notifier = {
> .notifier_call = dn_device_event,
> };
>
> -extern int dn_route_rcv(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *);
> -
> static struct packet_type dn_dix_packet_type __read_mostly = {
> .type = cpu_to_be16(ETH_P_DNA_RT),
> .func = dn_route_rcv,
> --
> 1.7.9.5
>
^ permalink raw reply
* [PATCH 13/13] net: Mark functions as static in net/sunrpc/svc_xprt.c
From: Rashika Kheria @ 2014-02-08 20:10 UTC (permalink / raw)
To: linux-kernel
Cc: Trond Myklebust, J. Bruce Fields, David S. Miller, linux-nfs,
netdev, josh
In-Reply-To: <6f029c895035908595957fb16ab445c82793c77d.1391888654.git.rashika.kheria@gmail.com>
Mark functions as static in net/sunrpc/svc_xprt.c because they are not
used outside this file.
This eliminates the following warning in net/sunrpc/svc_xprt.c:
net/sunrpc/svc_xprt.c:574:5: warning: no previous prototype for ‘svc_alloc_arg’ [-Wmissing-prototypes]
net/sunrpc/svc_xprt.c:615:18: warning: no previous prototype for ‘svc_get_next_xprt’ [-Wmissing-prototypes]
net/sunrpc/svc_xprt.c:694:6: warning: no previous prototype for ‘svc_add_new_temp_xprt’ [-Wmissing-prototypes]
Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
---
net/sunrpc/svc_xprt.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 80a6640..06c6ff0 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -571,7 +571,7 @@ static void svc_check_conn_limits(struct svc_serv *serv)
}
}
-int svc_alloc_arg(struct svc_rqst *rqstp)
+static int svc_alloc_arg(struct svc_rqst *rqstp)
{
struct svc_serv *serv = rqstp->rq_server;
struct xdr_buf *arg;
@@ -612,7 +612,7 @@ int svc_alloc_arg(struct svc_rqst *rqstp)
return 0;
}
-struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout)
+static struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout)
{
struct svc_xprt *xprt;
struct svc_pool *pool = rqstp->rq_pool;
@@ -691,7 +691,7 @@ struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout)
return xprt;
}
-void svc_add_new_temp_xprt(struct svc_serv *serv, struct svc_xprt *newxpt)
+static void svc_add_new_temp_xprt(struct svc_serv *serv, struct svc_xprt *newxpt)
{
spin_lock_bh(&serv->sv_lock);
set_bit(XPT_TEMP, &newxpt->xpt_flags);
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH 07/13] net: Move prototype declaration to header file include/net/dn.h from net/decnet/af_decnet.c
From: Josh Triplett @ 2014-02-08 20:11 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, David S. Miller, Gao feng, Sasha Levin,
Andrew Morton, Steffen Hurrle, Jiri Pirko, netdev,
linux-decnet-user
In-Reply-To: <45e9dd39b342bfb2308b75bd2b539de2c63bd6cb.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:29:55AM +0530, Rashika Kheria wrote:
> Move prototype declaration of functions to header file include/net/dn.h
> from net/decnet/af_decnet.c because they are used by more than one file.
>
> This eliminates the following warning in net/decnet/af_decnet.c:
> net/decnet/sysctl_net_decnet.c:354:6: warning: no previous prototype for ‘dn_register_sysctl’ [-Wmissing-prototypes]
> net/decnet/sysctl_net_decnet.c:359:6: warning: no previous prototype for ‘dn_unregister_sysctl’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> include/net/dn.h | 2 ++
> net/decnet/af_decnet.c | 3 ---
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/include/net/dn.h b/include/net/dn.h
> index ccc1558..913b73d 100644
> --- a/include/net/dn.h
> +++ b/include/net/dn.h
> @@ -200,6 +200,8 @@ static inline void dn_sk_ports_copy(struct flowidn *fld, struct dn_scp *scp)
> }
>
> unsigned int dn_mss_from_pmtu(struct net_device *dev, int mtu);
> +void dn_register_sysctl(void);
> +void dn_unregister_sysctl(void);
>
> #define DN_MENUVER_ACC 0x01
> #define DN_MENUVER_USR 0x02
> diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
> index 24d9193..4c04848 100644
> --- a/net/decnet/af_decnet.c
> +++ b/net/decnet/af_decnet.c
> @@ -2351,9 +2351,6 @@ static const struct proto_ops dn_proto_ops = {
> .sendpage = sock_no_sendpage,
> };
>
> -void dn_register_sysctl(void);
> -void dn_unregister_sysctl(void);
> -
> MODULE_DESCRIPTION("The Linux DECnet Network Protocol");
> MODULE_AUTHOR("Linux DECnet Project Team");
> MODULE_LICENSE("GPL");
> --
> 1.7.9.5
>
^ permalink raw reply
* Re: [PATCH 08/13] net: Move prototype declaration to include/net/ipx.h from net/ipx/ipx_route.c
From: Josh Triplett @ 2014-02-08 20:11 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, Arnaldo Carvalho de Melo, David S. Miller,
Alexey Kuznetsov, James Morris, Hideaki YOSHIFUJI,
Patrick McHardy, netdev
In-Reply-To: <762c7626d7226370952bf599b266b26e00dd04b2.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:32:10AM +0530, Rashika Kheria wrote:
> Move prototype definition of function to header file include/net/ipx.h
> from net/ipx/ipx_route.c because they are used by more than one file.
>
> This eliminates the following warning from net/ipx/af_ipx.c:
> net/ipx/af_ipx.c:193:23: warning: no previous prototype for ‘ipxitf_find_using_net’ [-Wmissing-prototypes]
> net/ipx/af_ipx.c:577:5: warning: no previous prototype for ‘ipxitf_send’ [-Wmissing-prototypes]
> net/ipx/af_ipx.c:1219:8: warning: no previous prototype for ‘ipx_cksum’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> include/net/ipx.h | 3 +++
> net/ipx/ipx_route.c | 4 ----
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/include/net/ipx.h b/include/net/ipx.h
> index 9e9e354..75466ac 100644
> --- a/include/net/ipx.h
> +++ b/include/net/ipx.h
> @@ -140,6 +140,9 @@ static __inline__ void ipxitf_hold(struct ipx_interface *intrfc)
> }
>
> void ipxitf_down(struct ipx_interface *intrfc);
> +struct ipx_interface *ipxitf_find_using_net(__be32 net);
> +int ipxitf_send(struct ipx_interface *intrfc, struct sk_buff *skb, char *node);
> +__be16 ipx_cksum(struct ipxhdr *packet, int length);
>
> static __inline__ void ipxitf_put(struct ipx_interface *intrfc)
> {
> diff --git a/net/ipx/ipx_route.c b/net/ipx/ipx_route.c
> index 30f4519..c1f0318 100644
> --- a/net/ipx/ipx_route.c
> +++ b/net/ipx/ipx_route.c
> @@ -20,15 +20,11 @@ DEFINE_RWLOCK(ipx_routes_lock);
>
> extern struct ipx_interface *ipx_internal_net;
>
> -extern __be16 ipx_cksum(struct ipxhdr *packet, int length);
> extern struct ipx_interface *ipxitf_find_using_net(__be32 net);
> extern int ipxitf_demux_socket(struct ipx_interface *intrfc,
> struct sk_buff *skb, int copy);
> extern int ipxitf_demux_socket(struct ipx_interface *intrfc,
> struct sk_buff *skb, int copy);
> -extern int ipxitf_send(struct ipx_interface *intrfc, struct sk_buff *skb,
> - char *node);
> -extern struct ipx_interface *ipxitf_find_using_net(__be32 net);
>
> struct ipx_route *ipxrtr_lookup(__be32 net)
> {
> --
> 1.7.9.5
>
^ permalink raw reply
* Re: [PATCH 09/13] net: Move prototype declaration to header file include/net/ipx.h from net/ipx/af_ipx.c
From: Josh Triplett @ 2014-02-08 20:12 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, Arnaldo Carvalho de Melo, David S. Miller,
Alexey Kuznetsov, James Morris, Hideaki YOSHIFUJI,
Patrick McHardy, netdev
In-Reply-To: <0eafec9f4039e058f88caa98e87578a4600d7087.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:33:57AM +0530, Rashika Kheria wrote:
> Move prototype declaration of functions to header file include/net/ipx.h
> from net/ipx/af_ipx.c because they are used by more than one file.
>
> This eliminates the following warning in
> net/ipx/ipx_route.c:33:19: warning: no previous prototype for ‘ipxrtr_lookup’ [-Wmissing-prototypes]
> net/ipx/ipx_route.c:52:5: warning: no previous prototype for ‘ipxrtr_add_route’ [-Wmissing-prototypes]
> net/ipx/ipx_route.c:94:6: warning: no previous prototype for ‘ipxrtr_del_routes’ [-Wmissing-prototypes]
> net/ipx/ipx_route.c:149:5: warning: no previous prototype for ‘ipxrtr_route_skb’ [-Wmissing-prototypes]
> net/ipx/ipx_route.c:171:5: warning: no previous prototype for ‘ipxrtr_route_packet’ [-Wmissing-prototypes]
> net/ipx/ipx_route.c:261:5: warning: no previous prototype for ‘ipxrtr_ioctl’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> include/net/ipx.h | 8 ++++++++
> net/ipx/af_ipx.c | 9 ---------
> 2 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/include/net/ipx.h b/include/net/ipx.h
> index 75466ac..0143180 100644
> --- a/include/net/ipx.h
> +++ b/include/net/ipx.h
> @@ -143,6 +143,14 @@ void ipxitf_down(struct ipx_interface *intrfc);
> struct ipx_interface *ipxitf_find_using_net(__be32 net);
> int ipxitf_send(struct ipx_interface *intrfc, struct sk_buff *skb, char *node);
> __be16 ipx_cksum(struct ipxhdr *packet, int length);
> +int ipxrtr_add_route(__be32 network, struct ipx_interface *intrfc,
> + unsigned char *node);
> +void ipxrtr_del_routes(struct ipx_interface *intrfc);
> +int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
> + struct iovec *iov, size_t len, int noblock);
> +int ipxrtr_route_skb(struct sk_buff *skb);
> +struct ipx_route *ipxrtr_lookup(__be32 net);
> +int ipxrtr_ioctl(unsigned int cmd, void __user *arg);
>
> static __inline__ void ipxitf_put(struct ipx_interface *intrfc)
> {
> diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
> index 994e28b..e5a00a9 100644
> --- a/net/ipx/af_ipx.c
> +++ b/net/ipx/af_ipx.c
> @@ -84,15 +84,6 @@ DEFINE_SPINLOCK(ipx_interfaces_lock);
> struct ipx_interface *ipx_primary_net;
> struct ipx_interface *ipx_internal_net;
>
> -extern int ipxrtr_add_route(__be32 network, struct ipx_interface *intrfc,
> - unsigned char *node);
> -extern void ipxrtr_del_routes(struct ipx_interface *intrfc);
> -extern int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
> - struct iovec *iov, size_t len, int noblock);
> -extern int ipxrtr_route_skb(struct sk_buff *skb);
> -extern struct ipx_route *ipxrtr_lookup(__be32 net);
> -extern int ipxrtr_ioctl(unsigned int cmd, void __user *arg);
> -
> struct ipx_interface *ipx_interfaces_head(void)
> {
> struct ipx_interface *rc = NULL;
> --
> 1.7.9.5
>
^ permalink raw reply
* Re: [PATCH 10/13] net: Move prototype declaration to header file include/net/datalink.h from net/ipx/af_ipx.c
From: Josh Triplett @ 2014-02-08 20:12 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, David S. Miller, Arnaldo Carvalho de Melo, netdev
In-Reply-To: <f1d749c96d96ee3d237723dbcefcdbf43387eacf.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:35:38AM +0530, Rashika Kheria wrote:
> Move prototype declarations of function to header file
> include/net/datalink.h from net/ipx/af_ipx.c because they are used by
> more than one file.
>
> This eliminates the following warning in net/ipx/pe2.c:
> net/ipx/pe2.c:20:24: warning: no previous prototype for ‘make_EII_client’ [-Wmissing-prototypes]
> net/ipx/pe2.c:32:6: warning: no previous prototype for ‘destroy_EII_client’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> include/net/datalink.h | 2 ++
> net/ipx/af_ipx.c | 4 +---
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/net/datalink.h b/include/net/datalink.h
> index deb7ca7..93cb18f 100644
> --- a/include/net/datalink.h
> +++ b/include/net/datalink.h
> @@ -15,4 +15,6 @@ struct datalink_proto {
> struct list_head node;
> };
>
> +struct datalink_proto *make_EII_client(void);
> +void destroy_EII_client(struct datalink_proto *dl);
> #endif
> diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
> index e5a00a9..224d058 100644
> --- a/net/ipx/af_ipx.c
> +++ b/net/ipx/af_ipx.c
> @@ -52,6 +52,7 @@
> #include <net/p8022.h>
> #include <net/psnap.h>
> #include <net/sock.h>
> +#include <net/datalink.h>
> #include <net/tcp_states.h>
>
> #include <asm/uaccess.h>
> @@ -1977,9 +1978,6 @@ static struct notifier_block ipx_dev_notifier = {
> .notifier_call = ipxitf_device_event,
> };
>
> -extern struct datalink_proto *make_EII_client(void);
> -extern void destroy_EII_client(struct datalink_proto *);
> -
> static const unsigned char ipx_8022_type = 0xE0;
> static const unsigned char ipx_snap_id[5] = { 0x0, 0x0, 0x0, 0x81, 0x37 };
> static const char ipx_EII_err_msg[] __initconst =
> --
> 1.7.9.5
>
^ permalink raw reply
* Re: [PATCH 11/13] net: Move prototype declaration to header file include/net/net_namespace.h from net/ipx/af_ipx.c
From: Josh Triplett @ 2014-02-08 20:14 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, David S. Miller, Arnaldo Carvalho de Melo, netdev
In-Reply-To: <0d855fd121af07a77d258aec045b71dfa68cb0af.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:37:20AM +0530, Rashika Kheria wrote:
> Move prototype declaration of function to header file
> include/net/net_namespace.h from net/ipx/af_ipx.c because they are used
> by more than one file.
>
> This eliminates the following warning in net/ipx/sysctl_net_ipx.c:
> net/ipx/sysctl_net_ipx.c:33:6: warning: no previous prototype for ‘ipx_register_sysctl’ [-Wmissing-prototypes]
> net/ipx/sysctl_net_ipx.c:38:6: warning: no previous prototype for ‘ipx_unregister_sysctl’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
You should move the entire ifdef/else block into the header file, so
that the stubs are available as well.
> include/net/net_namespace.h | 3 +++
> net/ipx/af_ipx.c | 6 ++----
> 2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
> index da68c9a..a43435c 100644
> --- a/include/net/net_namespace.h
> +++ b/include/net/net_namespace.h
> @@ -162,6 +162,9 @@ extern struct list_head net_namespace_list;
> struct net *get_net_ns_by_pid(pid_t pid);
> struct net *get_net_ns_by_fd(int pid);
>
> +void ipx_register_sysctl(void);
> +void ipx_unregister_sysctl(void);
> +
> #ifdef CONFIG_NET_NS
> void __put_net(struct net *net);
>
> diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
> index 224d058..aa2abb8 100644
> --- a/net/ipx/af_ipx.c
> +++ b/net/ipx/af_ipx.c
> @@ -54,13 +54,11 @@
> #include <net/sock.h>
> #include <net/datalink.h>
> #include <net/tcp_states.h>
> +#include <net/net_namespace.h>
>
> #include <asm/uaccess.h>
>
> -#ifdef CONFIG_SYSCTL
> -extern void ipx_register_sysctl(void);
> -extern void ipx_unregister_sysctl(void);
> -#else
> +#ifndef CONFIG_SYSCTL
> #define ipx_register_sysctl()
> #define ipx_unregister_sysctl()
> #endif
> --
> 1.7.9.5
>
^ permalink raw reply
* Re: [PATCH 12/13] net: Include appropriate header file in netfilter/nft_lookup.c
From: Josh Triplett @ 2014-02-08 20:14 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, Pablo Neira Ayuso, Patrick McHardy,
Jozsef Kadlecsik, David S. Miller, netfilter-devel, netfilter,
coreteam, netdev
In-Reply-To: <401aceca1fc3f95097624fe8433635491b39248d.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:39:20AM +0530, Rashika Kheria wrote:
> Include appropriate header file net/netfilter/nf_tables_core.h in
> net/netfilter/nft_lookup.c because it has prototype declaration of
> functions defined in net/netfilter/nft_lookup.c.
>
> This eliminates the following warning in net/netfilter/nft_lookup.c:
> net/netfilter/nft_lookup.c:133:12: warning: no previous prototype for ‘nft_lookup_module_init’ [-Wmissing-prototypes]
> net/netfilter/nft_lookup.c:138:6: warning: no previous prototype for ‘nft_lookup_module_exit’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> net/netfilter/nft_lookup.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/netfilter/nft_lookup.c b/net/netfilter/nft_lookup.c
> index 8a6116b..bb4ef4c 100644
> --- a/net/netfilter/nft_lookup.c
> +++ b/net/netfilter/nft_lookup.c
> @@ -16,6 +16,7 @@
> #include <linux/netfilter.h>
> #include <linux/netfilter/nf_tables.h>
> #include <net/netfilter/nf_tables.h>
> +#include <net/netfilter/nf_tables_core.h>
>
> struct nft_lookup {
> struct nft_set *set;
> --
> 1.7.9.5
>
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 13/13] net: Mark functions as static in net/sunrpc/svc_xprt.c
From: Josh Triplett @ 2014-02-08 20:23 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA, Trond Myklebust,
J. Bruce Fields, David S. Miller,
linux-nfs-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <259f3dc38d7115eccf3aaa2aa7de2414a47f90a2.1391888654.git.rashika.kheria-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On Sun, Feb 09, 2014 at 01:40:54AM +0530, Rashika Kheria wrote:
> Mark functions as static in net/sunrpc/svc_xprt.c because they are not
> used outside this file.
>
> This eliminates the following warning in net/sunrpc/svc_xprt.c:
> net/sunrpc/svc_xprt.c:574:5: warning: no previous prototype for ‘svc_alloc_arg’ [-Wmissing-prototypes]
> net/sunrpc/svc_xprt.c:615:18: warning: no previous prototype for ‘svc_get_next_xprt’ [-Wmissing-prototypes]
> net/sunrpc/svc_xprt.c:694:6: warning: no previous prototype for ‘svc_add_new_temp_xprt’ [-Wmissing-prototypes]
>
> Signed-off-by: Rashika Kheria <rashika.kheria-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Reviewed-by: Josh Triplett <josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org>
> net/sunrpc/svc_xprt.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
> index 80a6640..06c6ff0 100644
> --- a/net/sunrpc/svc_xprt.c
> +++ b/net/sunrpc/svc_xprt.c
> @@ -571,7 +571,7 @@ static void svc_check_conn_limits(struct svc_serv *serv)
> }
> }
>
> -int svc_alloc_arg(struct svc_rqst *rqstp)
> +static int svc_alloc_arg(struct svc_rqst *rqstp)
> {
> struct svc_serv *serv = rqstp->rq_server;
> struct xdr_buf *arg;
> @@ -612,7 +612,7 @@ int svc_alloc_arg(struct svc_rqst *rqstp)
> return 0;
> }
>
> -struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout)
> +static struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout)
> {
> struct svc_xprt *xprt;
> struct svc_pool *pool = rqstp->rq_pool;
> @@ -691,7 +691,7 @@ struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout)
> return xprt;
> }
>
> -void svc_add_new_temp_xprt(struct svc_serv *serv, struct svc_xprt *newxpt)
> +static void svc_add_new_temp_xprt(struct svc_serv *serv, struct svc_xprt *newxpt)
> {
> spin_lock_bh(&serv->sv_lock);
> set_bit(XPT_TEMP, &newxpt->xpt_flags);
> --
> 1.7.9.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] net: rfkill-regulator: Add devicetree support.
From: Belisko Marek @ 2014-02-08 20:42 UTC (permalink / raw)
To: Bill Fink
Cc: Rob Herring, Pawel Moll, Mark Rutland,
ijc+devicetree@hellion.org.uk, Kumar Gala, Rob Landley, linville,
johannes, davem, Grant Likely, NeilBrown,
Dr. H. Nikolaus Schaller, devicetree@vger.kernel.org,
linux-doc@vger.kernel.org, LKML, linux-wireless, netdev
In-Reply-To: <20140208012225.d7a311c7.billfink@mindspring.com>
On Sat, Feb 8, 2014 at 7:22 AM, Bill Fink <billfink@mindspring.com> wrote:
> On Fri, 7 Feb 2014, Marek Belisko wrote:
>
>> Signed-off-by: NeilBrown <neilb@suse.de>
>> Signed-off-by: Marek Belisko <marek@goldelico.com>
>> ---
>> Based on Neil's patch and extend for documentation and bindings include.
>>
>> .../bindings/net/rfkill/rfkill-relugator.txt | 28 ++++++++++++++++
>
> ^^^^^^^^^
> Typo in file name.
Ah. Right. Thanks.
>
> -Bill
>
>
>
>> include/dt-bindings/net/rfkill-regulator.h | 23 +++++++++++++
I also think this should be renamed to rfkill.h because same defines
could be used for rfkill-gpio driver.
>> net/rfkill/rfkill-regulator.c | 38 ++++++++++++++++++++++
>> 3 files changed, 89 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/rfkill/rfkill-relugator.txt
>> create mode 100644 include/dt-bindings/net/rfkill-regulator.h
>>
>> diff --git a/Documentation/devicetree/bindings/net/rfkill/rfkill-relugator.txt b/Documentation/devicetree/bindings/net/rfkill/rfkill-relugator.txt
>> new file mode 100644
>> index 0000000..cdb7dd7
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/rfkill/rfkill-relugator.txt
>> @@ -0,0 +1,28 @@
>> +Regulator consumer for rfkill devices
>> +
>> +Required properties:
>> +- compatible : Must be "rfkill-regulator".
>> +- label : Name of rfkill device.
>> +- type : Type of rfkill device.
>> +
>> +Possible values (defined in include/dt-bindings/net/rfkill-regulator.h):
>> + RFKILL_TYPE_ALL
>> + RFKILL_TYPE_WLAN
>> + RFKILL_TYPE_BLUETOOTH
>> + RFKILL_TYPE_UWB
>> + RFKILL_TYPE_WIMAX
>> + RFKILL_TYPE_WWAN
>> + RFKILL_TYPE_GPS
>> + RFKILL_TYPE_FM
>> + RFKILL_TYPE_NFC
>> +
>> +- vrfkill-supply - regulator device.
>> +
>> +Example:
>> + gps-rfkill {
>> + compatible = "rfkill-regulator";
>> + label = "GPS";
>> + type = <RFKILL_TYPE_GPS>;
>> + vrfkill-supply = <®>;
>> + };
>> +
BR,
marek
--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer
Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com
^ permalink raw reply
* Re: [PATCH 1/2] mm/vmalloc: export is_vmalloc_or_module_addr
From: Richard Yao @ 2014-02-08 20:44 UTC (permalink / raw)
To: Linus Torvalds
Cc: Mel Gorman, Andrew Morton, Rik van Riel, Eric Van Hensbergen,
Ron Minnich, Latchesar Ionkov, David S. Miller,
V9FS Develooper Mailing List, Linux Netdev Mailing List,
Linux Kernel Mailing List, Aneesh Kumar K.V, Will Deacon,
Christopher Covington, Matthew Thode
In-Reply-To: <CA+55aFw2BGS-sPYM1xkO7MfZ_-u=7nF4RYFmoCM99rkL=PxvpA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2227 bytes --]
On 02/08/2014 03:06 PM, Linus Torvalds wrote:
> On Sat, Feb 8, 2014 at 11:58 AM, Richard Yao <ryao@gentoo.org> wrote:
>>
>> My apologies for that. Here is the backtrace:
>>
>> [<ffffffff814878ce>] p9_virtio_zc_request+0x45e/0x510
>> [<ffffffff814814ed>] p9_client_zc_rpc.constprop.16+0xfd/0x4f0
>> [<ffffffff814839dd>] p9_client_read+0x15d/0x240
>> [<ffffffff811c8440>] v9fs_fid_readn+0x50/0xa0
>> [<ffffffff811c84a0>] v9fs_file_readn+0x10/0x20
>> [<ffffffff811c84e7>] v9fs_file_read+0x37/0x70
>> [<ffffffff8114e3fb>] vfs_read+0x9b/0x160
>> [<ffffffff81153571>] kernel_read+0x41/0x60
>> [<ffffffff810c83ab>] copy_module_from_fd.isra.34+0xfb/0x180
>
> So copy_module_from_fd() does read into a vmalloc'ed buffer (which
> isn't pretty, but at least it's not like using some statically
> allocated module data), but that's a regular vmalloc() afaik.
>
> So I don't see the need for "is_vmalloc_or_module_addr()". The regular
> "is_vmalloc_addr()" should be fine, and *is* usable from modules (it's
> inline, not exported, but it comes to the same thing wrt module use),
> exactly because we have traditionally allowed vmalloc'ed memory to be
> used.
>
> So is there some reason why it's not just using that simpler function?
My first instinct was to use "is_vmalloc_addr()" as you suggest.
However, is_vmalloc_addr() only applies to the vmalloc region. While all
architectures load kernel modules into virtual memory (to my knowledge),
some architectures do not load them into the vmalloc region.
is_vmalloc_or_module_addr() contains a comment that clearly states this:
int is_vmalloc_or_module_addr(const void *x)
{
/*
* ARM, x86-64 and sparc64 put modules in a special place,
* and fall back on vmalloc() if that fails. Others
* just put it in the vmalloc space.
*/
#if defined(CONFIG_MODULES) && defined(MODULES_VADDR)
unsigned long addr = (unsigned long)x;
if (addr >= MODULES_VADDR && addr < MODULES_END)
return 1;
#endif
return is_vmalloc_addr(x);
}
My inspection of the actual code agreed with that comment (at least for
S390), so I decided against using "is_vmalloc_addr()" here.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* [RFC] net: qmi_wwan: add ZTE MF667
From: Raymond Wanyoike @ 2014-02-08 21:01 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel, bjorn, Raymond Wanyoike
The driver description files give these descriptions to the vendor specific
ports on this modem:
VID_19D2&PID_1270&MI_00: "ZTE MF667 Diagnostics Port"
VID_19D2&PID_1270&MI_01: "ZTE MF667 AT Port"
VID_19D2&PID_1270&MI_02: "ZTE MF667 ATExt2 Port"
VID_19D2&PID_1270&MI_03: "ZTE MF667 ATExt Port"
VID_19D2&PID_1270&MI_04: "ZTE MF667 USB Modem"
VID_19D2&PID_1270&MI_05: "ZTE MF667 Network Adapter"
Signed-off-by: Raymond Wanyoike <raymond.wanyoike@gmail.com>
---
drivers/net/usb/qmi_wwan.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 23bdd5b..47b0295 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -712,6 +712,7 @@ static const struct usb_device_id products[] = {
{QMI_FIXED_INTF(0x19d2, 0x1255, 3)},
{QMI_FIXED_INTF(0x19d2, 0x1255, 4)},
{QMI_FIXED_INTF(0x19d2, 0x1256, 4)},
+ {QMI_FIXED_INTF(0x19d2, 0x1270, 5)}, /* ZTE MF667 */
{QMI_FIXED_INTF(0x19d2, 0x1401, 2)},
{QMI_FIXED_INTF(0x19d2, 0x1402, 2)}, /* ZTE MF60 */
{QMI_FIXED_INTF(0x19d2, 0x1424, 2)},
--
1.8.5.4
^ permalink raw reply related
* Re: [RFC] net: qmi_wwan: add ZTE MF667
From: Bjørn Mork @ 2014-02-08 21:15 UTC (permalink / raw)
To: Raymond Wanyoike; +Cc: netdev, linux-kernel
In-Reply-To: <1391893262-25092-1-git-send-email-raymond.wanyoike@gmail.com>
Raymond Wanyoike <raymond.wanyoike@gmail.com> writes:
> The driver description files give these descriptions to the vendor specific
> ports on this modem:
>
> VID_19D2&PID_1270&MI_00: "ZTE MF667 Diagnostics Port"
> VID_19D2&PID_1270&MI_01: "ZTE MF667 AT Port"
> VID_19D2&PID_1270&MI_02: "ZTE MF667 ATExt2 Port"
> VID_19D2&PID_1270&MI_03: "ZTE MF667 ATExt Port"
> VID_19D2&PID_1270&MI_04: "ZTE MF667 USB Modem"
> VID_19D2&PID_1270&MI_05: "ZTE MF667 Network Adapter"
>
> Signed-off-by: Raymond Wanyoike <raymond.wanyoike@gmail.com>
Looks perfect to me. Thanks.
Acked-by: Bjørn Mork <bjorn@mork.no>
^ permalink raw reply
* Re: [PATCH 04/13] net: Mark functions as static in core/dev.c
From: Veaceslav Falico @ 2014-02-08 21:18 UTC (permalink / raw)
To: Rashika Kheria
Cc: linux-kernel, josh, David S. Miller, Eric Dumazet,
Nicolas Dichtel, Jiri Pirko, Pravin B Shelar, Cong Wang, netdev
In-Reply-To: <ccd9586270a8ebb87aeadc10feff52857b7f907c.1391888654.git.rashika.kheria@gmail.com>
On Sun, Feb 09, 2014 at 01:23:45AM +0530, Rashika Kheria wrote:
>Mark functions as static in core/dev.c because they are not used outside
>this file.
>
>This eliminates the following warning in core/dev.c:
>net/core/dev.c:2806:5: warning: no previous prototype for ‘__dev_queue_xmit’ [-Wmissing-prototypes]
>net/core/dev.c:4640:5: warning: no previous prototype for ‘netdev_adjacent_sysfs_add’ [-Wmissing-prototypes]
>net/core/dev.c:4650:6: warning: no previous prototype for ‘netdev_adjacent_sysfs_del’ [-Wmissing-prototypes]
>
>Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Veaceslav Falico <vfalico@redhat.com>
>---
> net/core/dev.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
>diff --git a/net/core/dev.c b/net/core/dev.c
>index 3721db7..4ad1b78 100644
>--- a/net/core/dev.c
>+++ b/net/core/dev.c
>@@ -2803,7 +2803,7 @@ EXPORT_SYMBOL(dev_loopback_xmit);
> * the BH enable code must have IRQs enabled so that it will not deadlock.
> * --BLG
> */
>-int __dev_queue_xmit(struct sk_buff *skb, void *accel_priv)
>+static int __dev_queue_xmit(struct sk_buff *skb, void *accel_priv)
> {
> struct net_device *dev = skb->dev;
> struct netdev_queue *txq;
>@@ -4637,7 +4637,7 @@ struct net_device *netdev_master_upper_dev_get_rcu(struct net_device *dev)
> }
> EXPORT_SYMBOL(netdev_master_upper_dev_get_rcu);
>
>-int netdev_adjacent_sysfs_add(struct net_device *dev,
>+static int netdev_adjacent_sysfs_add(struct net_device *dev,
> struct net_device *adj_dev,
> struct list_head *dev_list)
> {
>@@ -4647,7 +4647,7 @@ int netdev_adjacent_sysfs_add(struct net_device *dev,
> return sysfs_create_link(&(dev->dev.kobj), &(adj_dev->dev.kobj),
> linkname);
> }
>-void netdev_adjacent_sysfs_del(struct net_device *dev,
>+static void netdev_adjacent_sysfs_del(struct net_device *dev,
> char *name,
> struct list_head *dev_list)
> {
>--
>1.7.9.5
>
^ permalink raw reply
* Re: REGRESSION f54b311142a92ea2e42598e347b84e1655caf8e3 tcp auto corking slows down iSCSI file system creation by factor of 70 [WAS: 4 TB VMFS creation takes 15 minutes vs 26 seconds]
From: Thomas Glanzmann @ 2014-02-08 21:36 UTC (permalink / raw)
To: Eric Dumazet
Cc: John Ogness, Eric Dumazet, David S. Miller, Nicholas A. Bellinger,
target-devel, Linux Network Development, LKML
In-Reply-To: <1391886759.10160.114.camel@edumazet-glaptop2.roam.corp.google.com>
Hello Eric,
> I was simply thinking about something like :
> (might need further changes, but I guess this should solve your case)
thank you for your patch. It did not apply on top of Linux tip, so I put
in the changes manually and fixed up another call to tx_data that your
forgot in your initial patch to make it apply.
I gave it another run, can you confirm that it now behaves better?
https://thomas.glanzmann.de/tmp/tcp_auto_corking_on_patched_tcp_more.pcap.bz2
And look at that roundtrip graph it is perfect. Also filesystem is now
created in 3 seconds instead of 4.
https://thomas.glanzmann.de/tmp/screenshot-mini-2014-02-08-22:34:57.png
Nab, do you consider this patch for upstream? Would you take if I clean
it up?
Cheers,
Thomas
PS: I'm asleep for the next 8 hours.
diff --git a/drivers/target/iscsi/iscsi_target_util.c b/drivers/target/iscsi/iscsi_target_util.c
index e655b04..0eb9681 100644
--- a/drivers/target/iscsi/iscsi_target_util.c
+++ b/drivers/target/iscsi/iscsi_target_util.c
@@ -1168,7 +1168,7 @@ send_data:
iov_count = cmd->iov_misc_count;
}
- tx_sent = tx_data(conn, &iov[0], iov_count, tx_size);
+ tx_sent = tx_data(conn, &iov[0], iov_count, tx_size, 0);
if (tx_size != tx_sent) {
if (tx_sent == -EAGAIN) {
pr_err("tx_data() returned -EAGAIN\n");
@@ -1199,7 +1199,8 @@ send_hdr:
iov.iov_base = cmd->pdu;
iov.iov_len = tx_hdr_size;
- tx_sent = tx_data(conn, &iov, 1, tx_hdr_size);
+ data_len = cmd->tx_size - tx_hdr_size - cmd->padding;
+ tx_sent = tx_data(conn, &iov, 1, tx_hdr_size, data_len ? MSG_MORE : 0);
if (tx_hdr_size != tx_sent) {
if (tx_sent == -EAGAIN) {
pr_err("tx_data() returned -EAGAIN\n");
@@ -1208,7 +1209,6 @@ send_hdr:
return -1;
}
- data_len = cmd->tx_size - tx_hdr_size - cmd->padding;
/*
* Set iov_off used by padding and data digest tx_data() calls below
* in order to determine proper offset into cmd->iov_data[]
@@ -1252,7 +1252,8 @@ send_padding:
if (cmd->padding) {
struct kvec *iov_p = &cmd->iov_data[iov_off++];
- tx_sent = tx_data(conn, iov_p, 1, cmd->padding);
+ tx_sent = tx_data(conn, iov_p, 1, cmd->padding,
+ conn->conn_ops->DataDigest ? MSG_MORE : 0);
if (cmd->padding != tx_sent) {
if (tx_sent == -EAGAIN) {
pr_err("tx_data() returned -EAGAIN\n");
@@ -1266,7 +1267,7 @@ send_datacrc:
if (conn->conn_ops->DataDigest) {
struct kvec *iov_d = &cmd->iov_data[iov_off];
- tx_sent = tx_data(conn, iov_d, 1, ISCSI_CRC_LEN);
+ tx_sent = tx_data(conn, iov_d, 1, ISCSI_CRC_LEN, 0);
if (ISCSI_CRC_LEN != tx_sent) {
if (tx_sent == -EAGAIN) {
pr_err("tx_data() returned -EAGAIN\n");
@@ -1352,11 +1353,13 @@ static int iscsit_do_rx_data(
static int iscsit_do_tx_data(
struct iscsi_conn *conn,
- struct iscsi_data_count *count)
+ struct iscsi_data_count *count,
+ int flags)
{
int data = count->data_length, total_tx = 0, tx_loop = 0, iov_len;
struct kvec *iov_p;
struct msghdr msg;
+ struct msghdr msg = { .msg_flags = flags };
if (!conn || !conn->sock || !conn->conn_ops)
return -1;
@@ -1366,8 +1369,6 @@ static int iscsit_do_tx_data(
return -1;
}
- memset(&msg, 0, sizeof(struct msghdr));
-
iov_p = count->iov;
iov_len = count->iov_count;
@@ -1411,7 +1412,8 @@ int tx_data(
struct iscsi_conn *conn,
struct kvec *iov,
int iov_count,
- int data)
+ int data,
+ int flags)
{
struct iscsi_data_count c;
@@ -1424,7 +1426,7 @@ int tx_data(
c.data_length = data;
c.type = ISCSI_TX_DATA;
- return iscsit_do_tx_data(conn, &c);
+ return iscsit_do_tx_data(conn, &c, flags);
}
^ permalink raw reply related
* UN COMPENSATION FORMAT
From: PAUL KITTO @ 2014-02-08 21:36 UTC (permalink / raw)
Dear friend, Congratulation, You have been compensated with USD5.5Million by
UNITED NATIONS for loses and damaged suffered.
See the U.N news link for source of your fund http://www.uncc.ch/ataglance.htm
Contact us with your bank details of your payment. Thanks Mr.PAUL KITTO
^ permalink raw reply
* Re: [PATCH 1/2] mm/vmalloc: export is_vmalloc_or_module_addr
From: Linus Torvalds @ 2014-02-08 22:24 UTC (permalink / raw)
To: Richard Yao
Cc: Mel Gorman, Andrew Morton, Rik van Riel, Eric Van Hensbergen,
Ron Minnich, Latchesar Ionkov, David S. Miller,
V9FS Develooper Mailing List, Linux Netdev Mailing List,
Linux Kernel Mailing List, Aneesh Kumar K.V, Will Deacon,
Christopher Covington, Matthew Thode
In-Reply-To: <52F6972C.2030307@gentoo.org>
On Sat, Feb 8, 2014 at 12:44 PM, Richard Yao <ryao@gentoo.org> wrote:
>
> However, is_vmalloc_addr() only applies to the vmalloc region. While all
> architectures load kernel modules into virtual memory (to my knowledge),
> some architectures do not load them into the vmalloc region.
So?
People shouldn't do IO to module data, so who cares if something is a
module address or not?
The thing is, even module *loading* doesn't do IO to the magic module
addresses - it loads the module data into regular vmalloc space, and
then copies it into the final location separately.
And no module should ever do any IO on random static data (and
certainly not on code).
So there is _zero_ reason for a driver or a filesystem to use
is_vmalloc_or_module_addr(). It's just not a valid question to ask.
If somebody uses module data/code addresses, we're *better* off with a
oops or other nasty behavior than to try to make it "work".
Linus
^ permalink raw reply
* [PATCH] ipx: implement shutdown()
From: Sabrina Dubroca @ 2014-02-08 23:04 UTC (permalink / raw)
To: acme; +Cc: davem, netdev, 00cpxxx, Sabrina Dubroca
IPX doesn't implement shutdown, which poses a problem to some users:
https://bugzilla.kernel.org/show_bug.cgi?id=67841
This patch is heavily based on the shutdown implementation for unix
sockets.
Reported-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
---
net/ipx/af_ipx.c | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
index 994e28b..1df57ca 100644
--- a/net/ipx/af_ipx.c
+++ b/net/ipx/af_ipx.c
@@ -1383,6 +1383,7 @@ static int ipx_release(struct socket *sock)
goto out;
lock_sock(sk);
+ sk->sk_shutdown = SHUTDOWN_MASK;
if (!sock_flag(sk, SOCK_DEAD))
sk->sk_state_change(sk);
@@ -1806,8 +1807,11 @@ static int ipx_recvmsg(struct kiocb *iocb, struct socket *sock,
skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
flags & MSG_DONTWAIT, &rc);
- if (!skb)
+ if (!skb) {
+ if (rc == -EAGAIN && (sk->sk_shutdown & RCV_SHUTDOWN))
+ rc = 0;
goto out;
+ }
ipx = ipx_hdr(skb);
copied = ntohs(ipx->ipx_pktsize) - sizeof(struct ipxhdr);
@@ -1937,6 +1941,28 @@ static int ipx_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long
}
#endif
+static int ipx_shutdown(struct socket *sock, int mode)
+{
+ struct sock *sk = sock->sk;
+
+ printk(KERN_INFO "IPX: shutting down %d\n", mode);
+ if (mode < SHUT_RD || mode > SHUT_RDWR)
+ return -EINVAL;
+ /* This maps:
+ * SHUT_RD (0) -> RCV_SHUTDOWN (1)
+ * SHUT_WR (1) -> SEND_SHUTDOWN (2)
+ * SHUT_RDWR (2) -> SHUTDOWN_MASK (3)
+ */
+ ++mode;
+
+ lock_sock(sk);
+ sk->sk_shutdown |= mode;
+ release_sock(sk);
+ sk->sk_state_change(sk);
+ printk(KERN_INFO "IPX: socket shut down\n");
+
+ return 0;
+}
/*
* Socket family declarations
@@ -1963,7 +1989,7 @@ static const struct proto_ops ipx_dgram_ops = {
.compat_ioctl = ipx_compat_ioctl,
#endif
.listen = sock_no_listen,
- .shutdown = sock_no_shutdown, /* FIXME: support shutdown */
+ .shutdown = ipx_shutdown,
.setsockopt = ipx_setsockopt,
.getsockopt = ipx_getsockopt,
.sendmsg = ipx_sendmsg,
--
1.8.5.4
^ permalink raw reply related
* [PATCH] net: vxge: Remove unused device pointer
From: Christian Engelmayer @ 2014-02-08 23:16 UTC (permalink / raw)
To: Jon Mason
Cc: netdev, David Miller, Patrick McHardy, Jingoo Han, Masanari Iida,
John Stultz, dingtianhong, Ben Hutchings, stephen hemminger,
Tom Herbert
[-- Attachment #1: Type: text/plain, Size: 1235 bytes --]
Remove occurrences of unused struct __vxge_hw_device pointer in functions
vxge_learn_mac() and vxge_rem_isr().
Detected by Coverity: CID 139839, CID 139842.
Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
---
drivers/net/ethernet/neterion/vxge/vxge-main.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c
index 1ded50ca..e46e869 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-main.c
+++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c
@@ -726,9 +726,6 @@ static int vxge_learn_mac(struct vxgedev *vdev, u8 *mac_header)
int vpath_idx = 0;
enum vxge_hw_status status = VXGE_HW_OK;
struct vxge_vpath *vpath = NULL;
- struct __vxge_hw_device *hldev;
-
- hldev = pci_get_drvdata(vdev->pdev);
mac_address = (u8 *)&mac_addr;
memcpy(mac_address, mac_header, ETH_ALEN);
@@ -2443,9 +2440,6 @@ static void vxge_rem_msix_isr(struct vxgedev *vdev)
static void vxge_rem_isr(struct vxgedev *vdev)
{
- struct __vxge_hw_device *hldev;
- hldev = pci_get_drvdata(vdev->pdev);
-
#ifdef CONFIG_PCI_MSI
if (vdev->config.intr_type == MSI_X) {
vxge_rem_msix_isr(vdev);
--
1.8.3.2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply related
* Re: linux 3.13: problems with isatap tunnel device and UFO
From: Wolfgang Walter @ 2014-02-08 23:17 UTC (permalink / raw)
To: netdev, Hannes Frederic Sowa
In-Reply-To: <20140207222227.GC16198@order.stressinduktion.org>
Am Freitag, 7. Februar 2014, 23:22:27 schrieb Hannes Frederic Sowa:
> Hi!
>
> On Fri, Feb 07, 2014 at 07:17:40PM +0100, Wolfgang Walter wrote:
> > Am Freitag, 7. Februar 2014, 18:56:41 schrieb Hannes Frederic Sowa:
> > > Hi!
> > >
> > > On Fri, Feb 07, 2014 at 06:47:07PM +0100, Wolfgang Walter wrote:
> > > > with kernel 3.13 I have a problem with isatap tunnels receiving
> > > > fragmented
> > > > ipv6 udp packets.
> > >
> > > Which was the last known version that did work?
> >
> > I think 3.12 had no problems, but I'm not sure. I test this tonight.
3.12 is indeed fine. But this is probably because of:
ethtool -k is0
....
udp-fragmentation-offload: off [fixed]
....
>
> Could you give me a bit more details on your setup, please?
>
> I just tested a setup with UFO packets in sit tunnels and it worked
> properly for me (on net).
>
host A (which shows the problem with kernel 3.13):
$ ip addr ls eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
group default qlen 1000
link/ether 11:22:33:44:55:66 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2001:1111:2222:aaaa:0:5efe:c0a8:101/120 scope global
valid_lft forever preferred_lft forever
inet6 fe80::1322:33ff:fe44:5566/64 scope link
valid_lft forever preferred_lft forever
$ ip addr ls is0
14: is0: <NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group
default
link/sit 192.168.1.1 brd 0.0.0.0
inet6 2001:1111:2222:aaaa:0:5efe:c0a8:101/64 scope global dynamic
valid_lft 85977sec preferred_lft 13977sec
inet6 fe80::5efe:c0a8:101/64 scope link
valid_lft forever preferred_lft forever
The other host B is in the same isatap-subnet (but a different ipv4-subnet):
$ ip addr ls eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
group default qlen 1000
link/ether 11:22:33:44:55:ee brd ff:ff:ff:ff:ff:ff
inet 192.168.10.1/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::1322:33ff:fe44:55ee/64 scope link
valid_lft forever preferred_lft forever
$ ip addr ls is0
10: is0: <NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group
default
link/sit 192.168.10.1 brd 0.0.0.0
inet6 2001:1111:2222:aaaa:0:5efe:c0a8:a01/64 scope global dynamic
valid_lft 85977sec preferred_lft 13977sec
inet6 fe80::5efe:c0a8:a01/64 scope link
valid_lft forever preferred_lft forever
The application I see this is strongswan (ikev2). When it establishes an
connection it sends udp-packets to large for is0 (here 1316 data-bytes,
strongswan says).
For the tests I unloaded the netfilter modules so there should be no
interference with the firewall or conntrack etc.
Regards,
--
Wolfgang Walter
Studentenwerk München
Anstalt des öffentlichen Rechts
^ permalink raw reply
* Re: [PATCH] ipx: implement shutdown()
From: Sabrina Dubroca @ 2014-02-08 23:17 UTC (permalink / raw)
To: acme; +Cc: davem, netdev, 00cpxxx
In-Reply-To: <1391900669-880-1-git-send-email-sd@queasysnail.net>
2014-02-09, 00:04:29 +0100, Sabrina Dubroca wrote:
> +static int ipx_shutdown(struct socket *sock, int mode)
> +{
> + struct sock *sk = sock->sk;
> +
> + printk(KERN_INFO "IPX: shutting down %d\n", mode);
> + if (mode < SHUT_RD || mode > SHUT_RDWR)
> + return -EINVAL;
> + /* This maps:
> + * SHUT_RD (0) -> RCV_SHUTDOWN (1)
> + * SHUT_WR (1) -> SEND_SHUTDOWN (2)
> + * SHUT_RDWR (2) -> SHUTDOWN_MASK (3)
> + */
> + ++mode;
> +
> + lock_sock(sk);
> + sk->sk_shutdown |= mode;
> + release_sock(sk);
> + sk->sk_state_change(sk);
> + printk(KERN_INFO "IPX: socket shut down\n");
> +
> + return 0;
> +}
Sorry, I sent the version with the debugging in. I'll resend a clean one.
--
Sabrina
^ permalink raw reply
* [PATCH v2] ipx: implement shutdown()
From: Sabrina Dubroca @ 2014-02-08 23:23 UTC (permalink / raw)
To: acme; +Cc: davem, netdev, 00cpxxx, Sabrina Dubroca
IPX doesn't implement shutdown, which poses a problem to some users:
https://bugzilla.kernel.org/show_bug.cgi?id=67841
This patch is heavily based on the shutdown implementation for unix
sockets.
Reported-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
---
v2, without debug messages
net/ipx/af_ipx.c | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
index 994e28b..478abcf 100644
--- a/net/ipx/af_ipx.c
+++ b/net/ipx/af_ipx.c
@@ -1383,6 +1383,7 @@ static int ipx_release(struct socket *sock)
goto out;
lock_sock(sk);
+ sk->sk_shutdown = SHUTDOWN_MASK;
if (!sock_flag(sk, SOCK_DEAD))
sk->sk_state_change(sk);
@@ -1806,8 +1807,11 @@ static int ipx_recvmsg(struct kiocb *iocb, struct socket *sock,
skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
flags & MSG_DONTWAIT, &rc);
- if (!skb)
+ if (!skb) {
+ if (rc == -EAGAIN && (sk->sk_shutdown & RCV_SHUTDOWN))
+ rc = 0;
goto out;
+ }
ipx = ipx_hdr(skb);
copied = ntohs(ipx->ipx_pktsize) - sizeof(struct ipxhdr);
@@ -1937,6 +1941,26 @@ static int ipx_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long
}
#endif
+static int ipx_shutdown(struct socket *sock, int mode)
+{
+ struct sock *sk = sock->sk;
+
+ if (mode < SHUT_RD || mode > SHUT_RDWR)
+ return -EINVAL;
+ /* This maps:
+ * SHUT_RD (0) -> RCV_SHUTDOWN (1)
+ * SHUT_WR (1) -> SEND_SHUTDOWN (2)
+ * SHUT_RDWR (2) -> SHUTDOWN_MASK (3)
+ */
+ ++mode;
+
+ lock_sock(sk);
+ sk->sk_shutdown |= mode;
+ release_sock(sk);
+ sk->sk_state_change(sk);
+
+ return 0;
+}
/*
* Socket family declarations
@@ -1963,7 +1987,7 @@ static const struct proto_ops ipx_dgram_ops = {
.compat_ioctl = ipx_compat_ioctl,
#endif
.listen = sock_no_listen,
- .shutdown = sock_no_shutdown, /* FIXME: support shutdown */
+ .shutdown = ipx_shutdown,
.setsockopt = ipx_setsockopt,
.getsockopt = ipx_getsockopt,
.sendmsg = ipx_sendmsg,
--
1.8.5.4
^ permalink raw reply related
* Re: [PATCH 1/2] mm/vmalloc: export is_vmalloc_or_module_addr
From: Richard Yao @ 2014-02-08 23:39 UTC (permalink / raw)
To: Linus Torvalds
Cc: Mel Gorman, Andrew Morton, Rik van Riel, Eric Van Hensbergen,
Ron Minnich, Latchesar Ionkov, David S. Miller,
V9FS Develooper Mailing List, Linux Netdev Mailing List,
Linux Kernel Mailing List, Aneesh Kumar K.V, Will Deacon,
Christopher Covington, Matthew Thode
In-Reply-To: <CA+55aFzzxcrLrUaCrzFbwS_74B2iHd3OvQ=WC-DR-rqpOA0j0A@mail.gmail.com>
On Feb 8, 2014, at 5:24 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Sat, Feb 8, 2014 at 12:44 PM, Richard Yao <ryao@gentoo.org> wrote:
>>
>> However, is_vmalloc_addr() only applies to the vmalloc region. While all
>> architectures load kernel modules into virtual memory (to my knowledge),
>> some architectures do not load them into the vmalloc region.
>
> So?
>
> People shouldn't do IO to module data, so who cares if something is a
> module address or not?
>
> The thing is, even module *loading* doesn't do IO to the magic module
> addresses - it loads the module data into regular vmalloc space, and
> then copies it into the final location separately.
>
> And no module should ever do any IO on random static data (and
> certainly not on code).
>
> So there is _zero_ reason for a driver or a filesystem to use
> is_vmalloc_or_module_addr(). It's just not a valid question to ask.
>
> If somebody uses module data/code addresses, we're *better* off with a
> oops or other nasty behavior than to try to make it "work".
>
> Linus
I will modify this to use is_vmalloc_addr() and send it back to the appropriate subsystem maintainer(s). Thank-you for taking the time to write that explanation.
^ permalink raw reply
* Re: REGRESSION f54b311142a92ea2e42598e347b84e1655caf8e3 tcp auto corking slows down iSCSI file system creation by factor of 70 [WAS: 4 TB VMFS creation takes 15 minutes vs 26 seconds]
From: Eric Dumazet @ 2014-02-09 0:15 UTC (permalink / raw)
To: Thomas Glanzmann
Cc: John Ogness, Eric Dumazet, David S. Miller, Nicholas A. Bellinger,
target-devel, Linux Network Development, LKML
In-Reply-To: <20140208213608.GA24328@glanzmann.de>
On Sat, 2014-02-08 at 22:36 +0100, Thomas Glanzmann wrote:
> Hello Eric,
>
> > I was simply thinking about something like :
> > (might need further changes, but I guess this should solve your case)
>
> thank you for your patch. It did not apply on top of Linux tip, so I put
> in the changes manually and fixed up another call to tx_data that your
> forgot in your initial patch to make it apply.
>
> I gave it another run, can you confirm that it now behaves better?
>
> https://thomas.glanzmann.de/tmp/tcp_auto_corking_on_patched_tcp_more.pcap.bz2
>
> And look at that roundtrip graph it is perfect. Also filesystem is now
> created in 3 seconds instead of 4.
Yes, this is much better : 2 frames per request/response, instead of 4.
13:32:04.665367 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 384:432, ack 2529, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.665483 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 2529:3089, ack 432, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.665642 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 432:480, ack 3089, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.665756 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 3089:3649, ack 480, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.665933 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 480:528, ack 3649, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.666046 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 3649:4209, ack 528, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.666214 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 528:576, ack 4209, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.666333 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 4209:4769, ack 576, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.666678 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 576:624, ack 4769, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.666790 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 4769:5329, ack 624, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.666983 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 624:672, ack 5329, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.667097 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 5329:5889, ack 672, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.667280 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 672:720, ack 5889, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.667324 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 5889:6449, ack 720, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
13:32:04.667500 IP 10.101.0.12.43418 > 10.101.99.5.3260: Flags [P.], seq 720:768, ack 6449, win 514, options [nop,nop,TS val 1576981 ecr 4294913967], length 48
13:32:04.667540 IP 10.101.99.5.3260 > 10.101.0.12.43418: Flags [P.], seq 6449:7009, ack 768, win 235, options [nop,nop,TS val 4294913967 ecr 1576981], length 560
^ permalink raw reply
* [PATCH] Fix broken zero-copy on vmalloc() buffers (4th and hopefully final submission)
From: Richard Yao @ 2014-02-09 0:32 UTC (permalink / raw)
To: David S. Miller
Cc: Eric Van Hensbergen, Ron Minnich, Latchesar Ionkov,
V9FS Develooper Mailing List, Linux Netdev Mailing List,
Linux Kernel Mailing List, Aneesh Kumar K.V, Will Deacon,
Christopher Covington, Matthew Thode
This patch has been submitted for a few times.
The first time was my first time doing any sort of Linux patch
submission. At the time, I was unaware of ./scripts/get_maintainer.pl
and sent the patch to only a subset of the correct people. Consequently,
it was not submitted properly for acceptance by the subsystem maintainer.
The second time was a week ago. I had taken advice from Greg Koah-Hartman to
use ./scripts/get_maintainer.pl to determine the correct recipients. It was
initially accepted by the subsystem maintainer and then rejected. This patch
uses is_vmalloc_or_module_addr(), which is not exported for use in kernel
modules. Using it causes a build failure when CONFIG_NET_9P_VIRTIO=m is set in
.config.
The third time was earlier today, when I sent it straight to Linus Torvalds
because merging it required exporting is_vmalloc_or_module_addr(), which he
wrote. A brief correspondence with Linus revealed that my earlier belief that
it would be better to use is_vmalloc_or_module_addr() instead of
is_vmalloc_addr() was incorrect.
I expect this submission to be the last. I have changed the patch to use
is_vmalloc_addr() as Linus Torvalds suggested. This resolves the build
regression the problem David S. Miller found when CONFIG_NET_9P_VIRTIO=m was
set and should resolve all criticism.
Richard Yao (1):
9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
net/9p/trans_virtio.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--
1.8.3.2
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox