Bug#972455: Does not compile for Linux 5.9

2020-10-18 Thread Axel Beckert
Control: severity -1 normal

Hi Sven,

Sven Hartge wrote:
> > That's strange. Works fine for me. Tested on sid amd64 as well:
> 
> I tested this on a different system with 5.9 and got the same result and
> identical make.log.
> 
> But, and here it becomes strange: It does work on a third system of mine.

Okay...

> Question now is: What is different and/or broken on the first two
> systems?

Exactly.

> It seems there are some old or broken header files floating around.

In that case, you might want to run "debsums -c" on the according
packages, especially on linux-headers-5.9.0-1-amd64 and
linux-headers-5.9.0-1-common.

Had similar compile time issues with some packages in the past where I
seem to have had a crash while updating or removing packages years ago
and they were shown as uninstalled, but after fsck, some file seem to
have reappeared and caused weird issues.

> It does not. The second system was rebooted to 5.9.

Ok.

> > > Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
> > 
> > That's is likely because of the unsigned out-of-tree ipt_NETFLOW. :-)
> 
> Yes, also wireguard (needed in 5.2) and some xtables-addons. But this does
> not matter for compiling the module.

I think so, too. Just didn't want to leave it out.

> > This all looks a lot like https://github.com/aabc/ipt-netflow/issues/152
> 
> Yes. Interesting.
> 
> But, see above, I seem to have contaminated systems.

Either that or some relevant differences we haven't recognised yet.

> You can reduce the severity to minor for now. As soon as I find how
> in what way two of my systems differ and why, I will update (and
> quite possibly close) the bug.

I've set it to normal for now. If you have two systems, that's a bit
more suspicious than just one system. Then again, kernel headers
actually "should" be the only thing that matters. (And having an
uptodate system, but this seems to be the case with both you and me.
:-)

Will also try on more of my sid systems.

Regards, Axel
-- 
 ,''`.  |  Axel Beckert , https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-|  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE



Processed: Re: Bug#972455: Does not compile for Linux 5.9

2020-10-18 Thread Debian Bug Tracking System
Processing control commands:

> severity -1 normal
Bug #972455 [iptables-netflow-dkms] Does not compile for Linux 5.9
Severity set to 'normal' from 'grave'

-- 
972455: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972455
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#972455: Does not compile for Linux 5.9

2020-10-18 Thread Sven Hartge

On 18.10.20 22:50, Axel Beckert wrote:


That's strange. Works fine for me. Tested on sid amd64 as well:


I tested this on a different system with 5.9 and got the same result and 
identical make.log.


But, and here it becomes strange: It does work on a third system of mine.

Question now is: What is different and/or broken on the first two 
systems? It seems there are some old or broken header files floating around.



Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU threads)


As with your setup, I haven't rebooted into it yet. Kernel
5.7.0-2-amd64 running here, though, but that _should_ not make a
difference. (That was the kernel which needed that other fix in that
upload as it still needs to be compiled with gcc-9.)


It does not. The second system was rebooted to 5.9.


Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE


That's is likely because of the unsigned out-of-tree ipt_NETFLOW. :-)


Yes, also wireguard (needed in 5.2) and some xtables-addons. But this 
does not matter for compiling the module.



This all looks a lot like https://github.com/aabc/ipt-netflow/issues/152


Yes. Interesting.

But, see above, I seem to have contaminated systems. Something strange 
is going on.


You can reduce the severity to minor for now. As soon as I find how in 
what way two of my systems differ and why, I will update (and quite 
possibly close) the bug.


Grüße,
Sven.



Processed: Re: Bug#972455: Does not compile for Linux 5.9

2020-10-18 Thread Debian Bug Tracking System
Processing control commands:

> tag -1 unreproducible moreinfo
Bug #972455 [iptables-netflow-dkms] Does not compile for Linux 5.9
Added tag(s) moreinfo and unreproducible.

-- 
972455: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972455
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#972455: Does not compile for Linux 5.9

2020-10-18 Thread Axel Beckert
Control: tag -1 unreproducible moreinfo

Hi Sven,

Sven Hartge wrote:
> It seems adfc6318 was not enough to be compatible with Linux 5.9, as
> compilation breaks for me with the following log:

That's strange. Works fine for me. Tested on sid amd64 as well:

---8<---
Building initial module for 5.9.0-1-amd64
Done.

ipt_NETFLOW.ko:
Running module version sanity check.
 - Original module
- No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.9.0-1-amd64/updates/dkms/

depmod...

DKMS: install completed.
--->8---

> ./gen_compat_def > compat_def.h
> Test symbol xt_family linux/netfilter_ipv4/ip_tables.h

Hmmm, I wonder if it makes a difference if /usr/sbin/iptables
respectively /etc/alternatives/iptables points to iptables-nft or
iptables-legacy. … Nope, still works for me.

So lets try to figure out what else could be different:

> Compiling for kernel 5.9.1
> make -C /lib/modules/5.9.0-1-amd64/build 
> M=/var/lib/dkms/ipt-netflow/2.5.1/build modules CONFIG_DEBUG_INFO=y

Kernel 5.9.0-1-amd64 is also installed and with headers.

> Debian Release: bullseye/sid

Same.

>   APT prefers unstable-debug
>   APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 
> 'unstable'), (500, 'testing'), (200, 'experimental'), (1, 
> 'experimental-debug')

More or less the same.

> Architecture: amd64 (x86_64)
> Foreign Architectures: i386

Same.

> Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU threads)

As with your setup, I haven't rebooted into it yet. Kernel
5.7.0-2-amd64 running here, though, but that _should_ not make a
difference. (That was the kernel which needed that other fix in that
upload as it still needs to be compiled with gcc-9.)

> Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE

That's is likely because of the unsigned out-of-tree ipt_NETFLOW. :-)

> Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE not set

Locales shouldn't make a difference. LANG=C.UTF-8 here, though.

> Shell: /bin/sh linked to /bin/dash

Same here

> Init: systemd (via /run/systemd/system)

sysvinit here, but really shouldn't make a difference.

> Versions of packages iptables-netflow-dkms depends on:
> ii  dkms2.8.3-4
> ii  libc6   2.31-4
> ii  libc6-dev   2.31-4
> ii  libxtables-dev  1.8.5-3
> ii  pkg-config  0.29.2-1
> 
> Versions of packages iptables-netflow-dkms recommends:
> ii  iptables  1.8.5-3

Same here.

> make[1]: Entering directory '/usr/src/linux-headers-5.9.0-1-amd64'
>   CC [M]  /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.o
> In file included from /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:76:
> /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:709:43: warning: ‘struct 
> timeval’ declared inside parameter list will not be visible outside of this 
> definition or declaration
>   709 | static inline void do_gettimeofday(struct timeval *tv)
>   |   ^~~
> /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h: In function ‘do_gettimeofday’:
> /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:713:4: error: invalid use of 
> undefined type ‘struct timeval’
>   713 |  tv->tv_sec = ts64.tv_sec;
>   |^~
> /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:714:4: error: invalid use of 
> undefined type ‘struct timeval’
>   714 |  tv->tv_usec = ts64.tv_nsec/1000;
>   |^~
> /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function 
> ‘nf_seq_show’:
> /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:39: warning: format 
> ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type 
> ‘s64’ {aka ‘long long int’} [-Wformat=]
>   755 |seq_printf(seq, " Flows selected %lu, discarded %lu.",
>   | ~~^
>   |   |
>   |   long unsigned int
>   | %llu
> /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:54: warning: format 
> ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type 
> ‘s64’ {aka ‘long long int’} [-Wformat=]
>   755 |seq_printf(seq, " Flows selected %lu, discarded %lu.",
>   |~~^
>   |  |
>   |  long unsigned int
>   |%llu
> /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:759:39: warning: format 
> ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type 
> ‘s64’ {aka ‘long long int’} [-Wformat=]
>   759 |seq_printf(seq, " Flows selected %lu.", 
> atomic64_read(_selected));
>   | ~~^
>   |   |
>   |   long unsigned int
>   | %llu
> 

Bug#972455: Does not compile for Linux 5.9

2020-10-18 Thread Sven Hartge
Package: iptables-netflow-dkms
Version: 2.5.1-1
Severity: grave

Hi!

It seems adfc6318 was not enough to be compatible with Linux 5.9, as
compilation breaks for me with the following log:

---8<--

DKMS make.log for ipt-netflow-2.5.1 for kernel 5.9.0-1-amd64 (x86_64)
Sun 18 Oct 2020 08:10:48 PM CEST
./gen_compat_def > compat_def.h
Test symbol xt_family linux/netfilter_ipv4/ip_tables.h
Test struct timeval linux/ktime.h
Test struct proc_ops linux/proc_fs.h
Test symbol synchronize_sched linux/rcupdate.h
Compiling for kernel 5.9.1
make -C /lib/modules/5.9.0-1-amd64/build 
M=/var/lib/dkms/ipt-netflow/2.5.1/build modules CONFIG_DEBUG_INFO=y
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make 
rule.
make[1]: Entering directory '/usr/src/linux-headers-5.9.0-1-amd64'
  CC [M]  /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.o
In file included from /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:76:
/var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:709:43: warning: ‘struct 
timeval’ declared inside parameter list will not be visible outside of this 
definition or declaration
  709 | static inline void do_gettimeofday(struct timeval *tv)
  |   ^~~
/var/lib/dkms/ipt-netflow/2.5.1/build/compat.h: In function ‘do_gettimeofday’:
/var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:713:4: error: invalid use of 
undefined type ‘struct timeval’
  713 |  tv->tv_sec = ts64.tv_sec;
  |^~
/var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:714:4: error: invalid use of 
undefined type ‘struct timeval’
  714 |  tv->tv_usec = ts64.tv_nsec/1000;
  |^~
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function ‘nf_seq_show’:
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:39: warning: format 
‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type 
‘s64’ {aka ‘long long int’} [-Wformat=]
  755 |seq_printf(seq, " Flows selected %lu, discarded %lu.",
  | ~~^
  |   |
  |   long unsigned int
  | %llu
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:54: warning: format 
‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type 
‘s64’ {aka ‘long long int’} [-Wformat=]
  755 |seq_printf(seq, " Flows selected %lu, discarded %lu.",
  |~~^
  |  |
  |  long unsigned int
  |%llu
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:759:39: warning: format 
‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type 
‘s64’ {aka ‘long long int’} [-Wformat=]
  759 |seq_printf(seq, " Flows selected %lu.", 
atomic64_read(_selected));
  | ~~^
  |   |
  |   long unsigned int
  | %llu
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function 
‘netflow_export_pdu_v5’:
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2652:17: error: storage 
size of ‘tv’ isn’t known
 2652 |  struct timeval tv;
  | ^~
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2652:17: warning: unused 
variable ‘tv’ [-Wunused-variable]
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function 
‘netflow_export_pdu_v9’:
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2736:17: error: storage 
size of ‘tv’ isn’t known
 2736 |  struct timeval tv;
  | ^~
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2736:17: warning: unused 
variable ‘tv’ [-Wunused-variable]
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function 
‘netflow_export_pdu_ipfix’:
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2770:17: error: storage 
size of ‘tv’ isn’t known
 2770 |  struct timeval tv;
  | ^~
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2770:17: warning: unused 
variable ‘tv’ [-Wunused-variable]
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function 
‘timeout_rate_j’:
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:3677:10: error: variable 
‘tv’ has initializer but incomplete type
 3677 |   struct timeval tv = { .tv_sec = timeout_rate * 60, .tv_usec = 0 };
  |  ^~~
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:3677:26: error: ‘struct 
timeval’ has no member named ‘tv_sec’
 3677 |   struct timeval tv = { .tv_sec = timeout_rate * 60, .tv_usec = 0 };
  |  ^~
/var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:3677:35: warning: excess 
elements in struct initializer
 3677 |   struct timeval tv = { .tv_sec = timeout_rate *