Patchwork [-tip] in6.h: extern's make no sense in userspace

login
register
mail settings
Submitter Jaswinder Singh
Date Jan. 13, 2009, 6:57 a.m.
Message ID <1231829859.3212.19.camel@jaswinder.satnam>
Download mbox | patch
Permalink /patch/18176/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Jaswinder Singh - Jan. 13, 2009, 6:57 a.m.
Impact: fix 2 make headers_check warnings:

 usr/include/linux/in6.h:47: extern's make no sense in userspace
 usr/include/linux/in6.h:49: extern's make no sense in userspace

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
---
 include/linux/in6.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Sam Ravnborg - Jan. 13, 2009, 7:15 a.m.
On Tue, Jan 13, 2009 at 12:27:39PM +0530, Jaswinder Singh Rajput wrote:
> Impact: fix 2 make headers_check warnings:
> 
>  usr/include/linux/in6.h:47: extern's make no sense in userspace
>  usr/include/linux/in6.h:49: extern's make no sense in userspace
> 
> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> ---
>  include/linux/in6.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/include/linux/in6.h b/include/linux/in6.h
> index bc49204..718bf21 100644
> --- a/include/linux/in6.h
> +++ b/include/linux/in6.h
> @@ -44,11 +44,11 @@ struct in6_addr
>   * NOTE: Be aware the IN6ADDR_* constants and in6addr_* externals are defined
>   * in network byte order, not in host byte order as are the IPv4 equivalents
>   */
> +#ifdef __KERNEL__
>  extern const struct in6_addr in6addr_any;
>  #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
>  extern const struct in6_addr in6addr_loopback;
>  #define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
> -#ifdef __KERNEL__

It looks wrong what IN6ADDR_ANY_INIT should be a kernel only symbol.
At least google had some hits on that symbol.

netdev people should know....

	Sam
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 13, 2009, 7:22 a.m.
From: Sam Ravnborg <sam@ravnborg.org>
Date: Tue, 13 Jan 2009 08:15:13 +0100

> On Tue, Jan 13, 2009 at 12:27:39PM +0530, Jaswinder Singh Rajput wrote:
> > +#ifdef __KERNEL__
> >  extern const struct in6_addr in6addr_any;
> >  #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
> >  extern const struct in6_addr in6addr_loopback;
> >  #define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
> > -#ifdef __KERNEL__
> 
> It looks wrong what IN6ADDR_ANY_INIT should be a kernel only symbol.
> At least google had some hits on that symbol.
> 
> netdev people should know....

It is defined by libc's /usr/include/netinet/in.h
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/in6.h b/include/linux/in6.h
index bc49204..718bf21 100644
--- a/include/linux/in6.h
+++ b/include/linux/in6.h
@@ -44,11 +44,11 @@  struct in6_addr
  * NOTE: Be aware the IN6ADDR_* constants and in6addr_* externals are defined
  * in network byte order, not in host byte order as are the IPv4 equivalents
  */
+#ifdef __KERNEL__
 extern const struct in6_addr in6addr_any;
 #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
 extern const struct in6_addr in6addr_loopback;
 #define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
-#ifdef __KERNEL__
 extern const struct in6_addr in6addr_linklocal_allnodes;
 #define IN6ADDR_LINKLOCAL_ALLNODES_INIT	\
 		{ { { 0xff,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }