Re: [PATCHv6 1/3] tun: export underlying socket

Michael S. Tsirkin
2009-11-04T19:05:23Z

On Wed, Nov 04, 2009 at 07:09:05PM +0100, Arnd Bergmann wrote:
> On Tuesday 03 November 2009, Arnd Bergmann wrote:
> > > index 3f5fd52..404abe0 100644
> > > --- a/include/linux/if_tun.h
> > > +++ b/include/linux/if_tun.h
> > > @@ -86,4 +86,18 @@ struct tun_filter {
> > > __u8 addr[0][ETH_ALEN];
> > > };
> > >
> > > +#ifdef __KERNEL__
> > > +#if defined(CONFIG_TUN) || defined(CONFIG_TUN_MODULE)
> > > +struct socket *tun_get_socket(struct file *);
> > > +#else
> > > +#include <linux/err.h>
> > > +#include <linux/errno.h>
> > > +struct file;
> > > +struct socket;
> > > +static inline struct socket *tun_get_socket(struct file *f)
> > > +{
> > > + return ERR_PTR(-EINVAL);
> > > +}
> > > +#endif /* CONFIG_TUN */
> > > +#endif /* __KERNEL__ */
> > > #endif /* __IF_TUN_H */
> >
> > Is this a leftover from testing? Exporting the function for !__KERNEL__
> > seems pointless.
> >
>
> Michael, you didn't reply on this comment and the code is still there in v8.
> Do you actually need this? What for?
>
> Arnd <><

Sorry, missed the question. If you look closely it is not exported for
!__KERNEL__ at all. The stub is for when CONFIG_TUN is undefined.
Maybe I'll add a comment near #else, even though this is a bit strange
since the #if is just 2 lines above it.

--
MST