Re: [PATCH] time.h: include header before using time_t

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 04, 2019 at 07:40:46PM +0200, Kurt Van Dijck wrote:
> On vr, 04 okt 2019 10:49:17 -0400, James Carlson wrote:
> > On 10/04/19 10:29, Kurt Van Dijck wrote:
> > > Now that I know that that file is used as include for kernel code, I'd
> > > rather include time.h in the userspace c-files.
> > 
> > My point is that include/net/ isn't strictly userspace.
> > 
> > If you feel the need, then go ahead and include <time.h> in user level
> > files.  This just isn't one of those.
> > 
> > If you must do this in ppp_def.h, then it needs to be guarded against
> > *all* of the systems where including a top-level header file inside a
> > kernel module is the wrong thing to do, not just "ifndef SOLARIS".  Do
> > you know which systems those are?  I can tell you that Solaris/Illumos
> > is at least one such system, but I can't tell you that it's *all* of them.
> > 
> > I think this include is out of place here.
> ack
> 
> I think you confirm 4x what I said, but I probably expressed myself
> badly, so "show me code!", I created this patch.
> It (1) works for me and (2) does not mix userspace headers in kernel
> space anywhere.
> Would this work for you?
> 
> ---
> commit 567d505b1b8eff3d1579e849a4272d114f047bf3
> Author: Kurt Van Dijck <dev.kurt@xxxxxxxxxxxxxxxxxxxxxx>
> Date:   Fri Oct 4 19:24:22 2019
> 
>     time.h: include header before using time_t
>     
>     Since include/net/ppp_defs.h is used in both kernelspace and userland
>     makes it hard to put time.h include there.
>     This commit fixes the problems in userspace code individually and leaves
>     ppp_defs.h as-is.
>     
>     Signed-off-by: Kurt Van Dijck <dev.kurt@xxxxxxxxxxxxxxxxxxxxxx>
> 
> diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
> index 8b2e946..f19c6d8 100644
> --- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
> +++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
> @@ -15,6 +15,7 @@
>  #include <unistd.h>
>  #include <errno.h>
>  #include <string.h>
> +#include <time.h>
>  
>  #include "pppoe.h"
>  
> diff --git a/pppd/sha1.c b/pppd/sha1.c
> index f4f975c..4e51cee 100644
> --- a/pppd/sha1.c
> +++ b/pppd/sha1.c
> @@ -17,6 +17,7 @@
>  /* #define SHA1HANDSOFF * Copies data before messing with it. */
>  
>  #include <string.h>
> +#include <time.h>
>  #include <netinet/in.h>	/* htonl() */
>  #include <net/ppp_defs.h>
>  #include "sha1.h"

I applied this patch.

Paul.



[Index of Archives]     [Linux Audio Users]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Fedora Users]

  Powered by Linux