# uname -a
Linux nat 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
# make
make -C /lib/modules/4.19.0-8-amd64/build/ M=/usr/local/src/xt_NAT modules CONFIG_DEBUG_INFO=y
make[1]: Entering directory '/usr/src/linux-headers-4.19.0-8-amd64'
CC [M] /usr/local/src/xt_NAT/xt_NAT.o
/usr/local/src/xt_NAT/xt_NAT.c: In function ‘stat_seq_show’:
/usr/local/src/xt_NAT/xt_NAT.c:1547:43: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "Active NAT sessions: %ld\n", atomic64_read(&sessions_active));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c:1548:42: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "Tried NAT sessions: %ld\n", atomic64_read(&sessions_tried));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c:1549:44: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "Created NAT sessions: %ld\n", atomic64_read(&sessions_created));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c:1550:41: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "DNAT dropped pkts: %ld\n", atomic64_read(&dnat_dropped));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c:1551:39: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "Fragmented pkts: %ld\n", atomic64_read(&frags));
~~^ ~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c:1552:41: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "Related ICMP pkts: %ld\n", atomic64_read(&related_icmp));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c:1553:36: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=]
seq_printf(m, "Active Users: %ld\n", atomic64_read(&users_active));
~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/usr/local/src/xt_NAT/xt_NAT.c: In function ‘nat_tg_init’:
/usr/local/src/xt_NAT/xt_NAT.c:1664:5: error: implicit declaration of function ‘setup_timer’; did you mean ‘sk_stop_timer’? [-Werror=implicit-function-declaration]
setup_timer( &sessions_cleanup_timer, sessions_cleanup_timer_callback, 0 );
^~~~~~~~~~~
sk_stop_timer
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-headers-4.19.0-8-common/scripts/Makefile.build:315: /usr/local/src/xt_NAT/xt_NAT.o] Error 1
make[3]: *** [/usr/src/linux-headers-4.19.0-8-common/Makefile:1537: _module_/usr/local/src/xt_NAT] Error 2
make[2]: *** [Makefile:146: sub-make] Error 2
make[1]: *** [Makefile:8: all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-8-amd64'
make: *** [Makefile:11: xt_NAT.ko] Error 2
ld поменять на lld ума хватило, но дальше уже не осилил
:-(