[lttng-dev] lttng-modules: close on exec warning with 3.2.x kernels

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Sep 26 18:12:02 EDT 2014


Fixed by commit:

commit aa29f2d33bae1396b7bd4766b7442ca780fa712e
Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Date:   Fri Sep 26 18:09:29 2014 -0400

    Fix: statedump: close_on_exec flag backward compat
    
    Older kernels (e.g. 3.2.62) use FD_ISSET() to test close_on_exec flag.
    
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>

(also backported to stable-2.5)

Thanks,

Mathieu

----- Original Message -----
> From: "Mathieu Desnoyers" <mathieu.desnoyers at efficios.com>
> To: "Julien Desfossez" <jdesfossez at efficios.com>
> Cc: "lttng-dev" <lttng-dev at lists.lttng.org>
> Sent: Friday, September 26, 2014 3:24:45 PM
> Subject: [lttng-dev] lttng-modules: close on exec warning with 3.2.x kernels
> 
> Hi Julien,
> 
> Can you investigate ? It happens when building lttng-modules
> master against a v3.2.62 Linux kernel.
> 
> In file included from include/linux/bitops.h:22:0,
>                  from include/linux/kernel.h:17,
>                  from include/linux/cache.h:4,
>                  from include/linux/time.h:7,
>                  from include/linux/stat.h:60,
>                  from include/linux/module.h:10,
>                  from
>                  /home/compudj/git/lttng-modules/lttng-statedump-impl.c:30:
> /home/compudj/git/lttng-modules/lttng-statedump-impl.c: In function
> ‘lttng_dump_one_fd’:
> /home/compudj/git/linux/arch/x86/include/asm/bitops.h:338:29: warning:
> passing argument 2 of ‘constant_test_bit’ from incompatible pointer type
>    ? constant_test_bit((nr), (addr)) \
>                              ^
> /home/compudj/git/lttng-modules/lttng-statedump-impl.c:240:27: note: in
> expansion of macro ‘test_bit’
>   if (fd < fdt->max_fds && test_bit(fd, fdt->close_on_exec))
>                            ^
> /home/compudj/git/linux/arch/x86/include/asm/bitops.h:309:28: note: expected
> ‘const volatile long unsigned int *’ but argument is of type ‘struct fd_set
> *’
>  static __always_inline int constant_test_bit(unsigned int nr, const volatile
>  unsigned long *addr)
>                             ^
> /home/compudj/git/linux/arch/x86/include/asm/bitops.h:339:29: warning:
> passing argument 2 of ‘variable_test_bit’ from incompatible pointer type
>    : variable_test_bit((nr), (addr)))
>                              ^
> /home/compudj/git/lttng-modules/lttng-statedump-impl.c:240:27: note: in
> expansion of macro ‘test_bit’
>   if (fd < fdt->max_fds && test_bit(fd, fdt->close_on_exec))
>                            ^
> /home/compudj/git/linux/arch/x86/include/asm/bitops.h:315:19: note: expected
> ‘const volatile long unsigned int *’ but argument is of type ‘struct fd_set
> *’
>  static inline int variable_test_bit(int nr, volatile const unsigned long
>  *addr)
>                    ^
> 
> Thanks,
> 
> Mathieu
> 
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list