Re: [PATCH] Move "struct net" declaration inside the __KERNEL__ macro guard

From: Ollie Wild
Date: Wed Sep 22 2010 - 11:55:04 EST


On Fri, Sep 17, 2010 at 6:51 PM, David Miller <davem@xxxxxxxxxxxxx> wrote:
>
> From: Ollie Wild <aaw@xxxxxxxxxx>
> Date: Fri, 17 Sep 2010 14:38:59 -0500
>
> > (Resending with a proper signoff.)
>
> Your patch is still unusable because your email client white-space mangled
> the patch, turning tabs into space characters.
>
> Please fix this up and resubmit, thanks.

Third time's a charm ...

Signed-off-by: Ollie Wild <aaw@xxxxxxxxxx>
commit 27fb1ec3fe29978ca7f195aac5dbda6f301c7c24
Author: Ollie Wild <aaw@xxxxxxxxxx>
Date: Fri Aug 13 14:21:44 2010 -0500

Move "struct net" declaration inside the __KERNEL__ macro guard.

This patch reduces namespace pollution by moving the "struct net" declaration
out of the userspace-facing portion of linux/netlink.h. It has no impact on
the kernel.

(This came up because we have several C++ applications which use "net" as a
namespace name.)

Ollie

diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index 59d0669..1235669 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -27,8 +27,6 @@

#define MAX_LINKS 32

-struct net;
-
struct sockaddr_nl {
sa_family_t nl_family; /* AF_NETLINK */
unsigned short nl_pad; /* zero */
@@ -151,6 +149,8 @@ struct nlattr {
#include <linux/capability.h>
#include <linux/skbuff.h>

+struct net;
+
static inline struct nlmsghdr *nlmsg_hdr(const struct sk_buff *skb)
{
return (struct nlmsghdr *)skb->data;