2009-01-13 07:00:26

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH -tip] in6.h: extern's make no sense in userspace

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 <[email protected]>
---
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__
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 } } }
--
1.5.6.6



2009-01-13 07:13:44

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH -tip] in6.h: extern's make no sense in userspace

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 <[email protected]>
> ---
> 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

2009-01-13 07:22:23

by David Miller

[permalink] [raw]
Subject: Re: [PATCH -tip] in6.h: extern's make no sense in userspace

From: Sam Ravnborg <[email protected]>
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

2009-01-13 07:23:25

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH -tip] in6.h: extern's make no sense in userspace

On Tue, 2009-01-13 at 08:15 +0100, Sam Ravnborg wrote:
> 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 <[email protected]>
> > ---
> > 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....
>

OK, I do not want any conflicts and I want to stay in safe side ;-)

Subject: [PATCH] in6.h: extern's make no sense in userspace

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 <[email protected]>
---
include/linux/in6.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/in6.h b/include/linux/in6.h
index bc49204..44d921c 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
*/
-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_any;
+extern const struct in6_addr in6addr_loopback;
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 } } }
--
1.5.6.6