[v2,4/5] batman-adv: mcast: implement multicast packet generation

Message ID 20221226161554.9657-5-linus.luessing@c0d3.blue (mailing list archive)
State Superseded, archived
Delegated to: Simon Wunderlich
Headers
Series Implementation of a Stateless Multicast Packet Type |

Commit Message

Linus Lüssing Dec. 26, 2022, 4:15 p.m. UTC
  Implement the preparation of a batman-adv multicast packet and use this
under certain conditions.

For one thing this implements the capability to push a complete
batman-adv multicast packet header, including a tracker TVLV with all
originator destinations that have signaled interest in it, onto a given
ethernet frame with an IP multicast packet inside.

For another checks are implemented to determine if encapsulating a
multicast packet in this new batman-adv multicast packet type and using
it is feasible. Those checks are:

1) Have all nodes signaled that the are capable of handling the new
   batman-adv multicast packet type?
2) Do all active hard interfaces of all nodes, including us, have an MTU
   of at least 1280 bytes?
3) Does a complete multicast packet header with all its destination
   addresses fit onto the given multicast packet / ethernet frame and
   does not exceed 1280 bytes?

If all checks passed then the new batman-adv multicast packet type will
be used for transmission and distribution. Otherwise we fall back to one or
more batman-adv unicast packet transmissions, if possible. Or if not
possible we will fall back to classic flooding through a batman-adv
broadcast packet.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
---
 net/batman-adv/multicast.c      |  79 ++++-
 net/batman-adv/multicast.h      |  24 +-
 net/batman-adv/multicast_forw.c | 504 ++++++++++++++++++++++++++++++++
 net/batman-adv/soft-interface.c |   6 +-
 net/batman-adv/types.h          |   6 +
 5 files changed, 611 insertions(+), 8 deletions(-)
  

Comments

Sven Eckelmann Dec. 26, 2022, 6:24 p.m. UTC | #1
On Monday, 26 December 2022 17:15:53 CET Linus Lüssing wrote:
> Implement the preparation of a batman-adv multicast packet and use this
> under certain conditions.
> 
> For one thing this implements the capability to push a complete
> batman-adv multicast packet header, including a tracker TVLV with all
> originator destinations that have signaled interest in it, onto a given
> ethernet frame with an IP multicast packet inside.
> 
> For another checks are implemented to determine if encapsulating a
> multicast packet in this new batman-adv multicast packet type and using
> it is feasible. Those checks are:
> 
> 1) Have all nodes signaled that the are capable of handling the new
>    batman-adv multicast packet type?
> 2) Do all active hard interfaces of all nodes, including us, have an MTU
>    of at least 1280 bytes?
> 3) Does a complete multicast packet header with all its destination
>    addresses fit onto the given multicast packet / ethernet frame and
>    does not exceed 1280 bytes?
> 
> If all checks passed then the new batman-adv multicast packet type will
> be used for transmission and distribution. Otherwise we fall back to one or
> more batman-adv unicast packet transmissions, if possible. Or if not
> possible we will fall back to classic flooding through a batman-adv
> broadcast packet.
> 
> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
> ---
>  net/batman-adv/multicast.c      |  79 ++++-
>  net/batman-adv/multicast.h      |  24 +-
>  net/batman-adv/multicast_forw.c | 504 ++++++++++++++++++++++++++++++++
>  net/batman-adv/soft-interface.c |   6 +-
>  net/batman-adv/types.h          |   6 +
>  5 files changed, 611 insertions(+), 8 deletions(-)

Name of failed tests
====================

ecsv/pu
-------

 * checkpatch ./net/batman-adv/multicast_forw.c
 * headers
 * kerneldoc ./net/batman-adv/multicast_forw.c
 * sparse linux-4.10 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-4.11 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-4.11 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-4.12 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-4.14 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-4.14 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-4.14 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y
 * sparse linux-4.14.302 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=y
 * sparse linux-4.14.302 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * sparse linux-4.14.302 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-4.15 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-4.15 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
 * sparse linux-4.17 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-4.17 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-4.17 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-4.18 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-4.18 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-4.19 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y
 * sparse linux-4.19 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-4.19 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-4.19.269 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-4.19.269 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
 * sparse linux-4.19.269 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
 * sparse linux-4.19.269 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
 * sparse linux-4.20 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y
 * sparse linux-4.9 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-4.9 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
 * sparse linux-4.9.336 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-4.9.336 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-4.9.336 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-4.9.336 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.0 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.0 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.1 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.1 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.10 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.10 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.10 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.10 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.10.159 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.10.159 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.10.159 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
 * sparse linux-5.10.159 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.10.159 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y
 * sparse linux-5.11 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y
 * sparse linux-5.12 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.12 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.12 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.12 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.13 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-5.14 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.14 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.15 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.15 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.15 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.15 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.15 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.15 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.15.83 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.16 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.16 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.16 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n
 * sparse linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.18 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.18 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.2 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-5.2 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.3 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
 * sparse linux-5.3 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.4 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.4 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.4.227 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
 * sparse linux-5.5 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.5 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
 * sparse linux-5.5 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.6 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.6 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.6 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.7 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.7 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.7 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n
 * sparse linux-5.7 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * sparse linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.8 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=n
 * sparse linux-5.8 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-5.8 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.8 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * sparse linux-5.9 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-5.9 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * sparse linux-5.9 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
 * sparse linux-6.0 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
 * sparse linux-6.0 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-6.0 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
 * sparse linux-6.0 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-6.0.13 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * sparse linux-6.1 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
 * sparse linux-6.1 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y
 * sparse linux-6.1 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-4.11 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-4.12 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-4.14 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-4.14 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-4.14 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-4.14.302 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-4.14.302 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-4.15 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-4.15 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-4.17 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-4.18 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-4.19 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-4.19 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-4.19.269 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-4.19.269 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-4.19.269 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-4.19.269 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-4.20 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-4.9 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-4.9.336 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-4.9.336 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.0 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.0 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.1 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.10 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.10 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.10 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.10.159 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.10.159 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-5.10.159 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.10.159 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-5.11 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-5.12 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.13 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-5.14 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.14 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.15 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.15 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.15.83 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.15.83 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.15.83 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.16 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.18 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.18 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.2 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-5.2 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.3 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-5.3 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.4 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.4 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.4.227 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-5.5 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.5 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-5.5 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.6 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.7 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.7 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-5.7 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.8 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.8 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
 * unused_symbols linux-5.9 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-5.9 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-5.9 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
 * unused_symbols linux-5.9 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
 * unused_symbols linux-6.0 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols linux-6.0 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-6.0 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-6.0.13 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-6.1 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
 * unused_symbols linux-6.1 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols linux-6.1 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n


Output of different failed tests
================================

ecsv/pu: checkpatch ./net/batman-adv/multicast_forw.c
-----------------------------------------------------

    CHECK: Macro argument reuse 'num_dests' - possible side-effects?
    #24: FILE: ./net/batman-adv/multicast_forw.c:24:
    +#define batadv_mcast_forw_tracker_for_each_dest(dest, num_dests) \
    +   for (; num_dests; num_dests--, (dest) += ETH_ALEN)
    
    total: 0 errors, 0 warnings, 1 checks, 772 lines checked

ecsv/pu: headers
----------------

    diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c
    index 85f4b070..2f07a325 100644
    --- a/net/batman-adv/multicast.c
    +++ b/net/batman-adv/multicast.c
    @@ -26,7 +26,6 @@
     #include <linux/ipv6.h>
     #include <linux/jiffies.h>
     #include <linux/kernel.h>
    -#include <linux/kref.h>
     #include <linux/list.h>
     #include <linux/lockdep.h>
     #include <linux/netdevice.h>
    diff --git a/net/batman-adv/multicast_forw.c b/net/batman-adv/multicast_forw.c
    index 05386847..0d214e0e 100644
    --- a/net/batman-adv/multicast_forw.c
    +++ b/net/batman-adv/multicast_forw.c
    @@ -6,19 +6,29 @@
     
     #include "main.h" // IWYU pragma: keep
     
    +#include <linux/bug.h>
    +#include <linux/build_bug.h>
    +#include <linux/byteorder/generic.h>
    +#include <linux/errno.h>
     #include <linux/etherdevice.h>
    +#include <linux/gfp.h>
     #include <linux/if_ether.h>
     #include <linux/if_vlan.h>
     #include <linux/ipv6.h>
    +#include <linux/limits.h>
     #include <linux/netdevice.h>
    +#include <linux/rculist.h>
    +#include <linux/rcupdate.h>
     #include <linux/skbuff.h>
    +#include <linux/stddef.h>
    +#include <linux/string.h>
     #include <linux/types.h>
    +#include <uapi/linux/batadv_packet.h>
     
     #include "bridge_loop_avoidance.h"
     #include "originator.h"
     #include "routing.h"
     #include "send.h"
    -#include "soft-interface.h"
     #include "translation-table.h"
     
     #define batadv_mcast_forw_tracker_for_each_dest(dest, num_dests) \
    diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
    index 0ecb86b3..eb905740 100644
    --- a/net/batman-adv/routing.c
    +++ b/net/batman-adv/routing.c
    @@ -30,7 +30,6 @@
     #include "fragmentation.h"
     #include "hard-interface.h"
     #include "log.h"
    -#include "multicast.h"
     #include "network-coding.h"
     #include "originator.h"
     #include "send.h"
    diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
    index b76b85b2..69334ef8 100644
    --- a/net/batman-adv/soft-interface.c
    +++ b/net/batman-adv/soft-interface.c
    @@ -48,7 +48,6 @@
     #include "hard-interface.h"
     #include "multicast.h"
     #include "network-coding.h"
    -#include "originator.h"
     #include "send.h"
     #include "translation-table.h"
     
    diff --git a/net/batman-adv/tvlv.h b/net/batman-adv/tvlv.h
    index d1c4e072..743688d1 100644
    --- a/net/batman-adv/tvlv.h
    +++ b/net/batman-adv/tvlv.h
    @@ -9,6 +9,7 @@
     
     #include "main.h" // IWYU pragma: keep
     
    +#include <linux/skbuff.h>
     #include <linux/types.h>
     #include <uapi/linux/batadv_packet.h>

ecsv/pu: kerneldoc ./net/batman-adv/multicast_forw.c
----------------------------------------------------

    ./net/batman-adv/multicast_forw.c:72: warning: Function parameter or member 'bat_priv' not described in 'batadv_mcast_forw_push_dest'
    ./net/batman-adv/multicast_forw.c:385: warning: Function parameter or member 'bat_priv' not described in 'batadv_mcast_forw_push_tvlvs'

ecsv/pu: sparse linux-4.10 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:295: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:553: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1490: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.11 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:295: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:553: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1492: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.11 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:295: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:553: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1492: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.12 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:303: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:561: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1512: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.14 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:315: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:573: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1503: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.14.302 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:330: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:588: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1556: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.14.302 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:330: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:588: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1556: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.14.302 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:330: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:588: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1556: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.15 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:317: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:575: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1508: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.15 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:317: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:575: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1508: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.17 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:313: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:559: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1571: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.17 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:313: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:559: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1571: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.18 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:318: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:558: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1500: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.18 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:318: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:558: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1500: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.19 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:306: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:546: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1517: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.19 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:306: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:546: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1517: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.19 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:306: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:546: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1517: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.19.269 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:304: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:544: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1551: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.19.269 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:304: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:544: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1551: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.19.269 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:304: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:544: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1551: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.20 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:292: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:516: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1563: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.9 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:294: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:544: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1490: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.9 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:294: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:544: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1490: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.9.336 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:308: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:558: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1544: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.9.336 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:308: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:558: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1544: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-4.9.336 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:308: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:558: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1544: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.0 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:277: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:492: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1553: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.1 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:276: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:486: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1571: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.1 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:276: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:486: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1571: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:496: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1805: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:496: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1805: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:496: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1805: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10.159 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:286: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1837: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10.159 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:286: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1837: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10.159 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:286: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1837: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.10.159 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:286: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1837: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.11 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:496: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1800: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.12 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:271: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:514: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1851: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.12 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:271: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:514: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1851: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.13 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:272: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:515: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1847: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.14 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:271: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:514: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1851: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.15 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:277: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:540: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1868: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.15 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:277: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:540: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1868: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:289: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:552: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1902: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:289: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:552: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1902: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.15.83 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:289: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:552: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1902: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.16 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:287: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:549: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1846: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.16 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:287: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:549: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1846: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:288: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:550: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1834: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:288: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:550: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1834: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.2 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:489: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1595: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.2 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:489: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1595: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    make[3]: *** [scripts/Makefile.build:279: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:489: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1595: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.3 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:281: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:497: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1624: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.3 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:281: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:497: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1624: _module_/home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.4 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:266: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:509: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1652: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:266: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:509: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1652: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.4.227 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:262: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:497: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1739: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:266: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1693: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.5 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:266: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1693: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.5 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:266: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1693: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.5 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:266: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:503: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1693: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.6 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:268: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:505: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1683: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.6 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:268: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:505: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1683: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.7 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:267: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:488: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1729: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.7 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:267: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:488: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1729: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:267: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:488: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1729: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:267: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:488: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1729: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.8 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:281: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:497: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1756: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.8 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44: warning: incorrect type in argument 4 (different base types)
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    expected int ( *mptr )( ... )
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:44:    got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:37: error: not enough arguments for function batadv_tvlv_handler_register
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:281: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:497: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1756: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.8 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: typename in expression
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: Expected ; at end of statement
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:26: error: got int
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:17: error: undefined identifier 'u8'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:21: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:17: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:401:64: error: undefined identifier 'src'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:17: error: undefined identifier 'unsigned'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:413:17: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:414:45: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:415:47: error: undefined identifier 'tvlv_offset'
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:281: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:497: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1756: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.9 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:283: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:500: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1784: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-5.9 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:283: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:500: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1784: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-6.0 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:249: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:465: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1852: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-6.0 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c: In function ‘batadv_tvlv_call_handler’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:389:3: error: a label can only be part of a statement and a declaration is not a statement
       u8 *src;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:390:3: error: expected expression before ‘u8’
       u8 *dst;
       ^~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: error: ‘dst’ undeclared (first use in this function)
       dst = ((struct batadv_unicast_tvlv_packet *)skb->data)->dst;
       ^~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:399:3: note: each undeclared identifier is reported only once for each function it appears in
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:405:3: error: a label can only be part of a statement and a declaration is not a statement
       unsigned int tvlv_offset;
       ^~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:398:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       src = ((struct batadv_unicast_tvlv_packet *)skb->data)->src;
       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.c:404:2: note: here
      case BATADV_MCAST:
      ^~~~
    make[3]: *** [scripts/Makefile.build:249: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.o] Error 1
    make[2]: *** [scripts/Makefile.build:465: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1852: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-6.0 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:249: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:465: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1852: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-6.1 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast.c:1206:1: warning: symbol 'batadv_mcast_forw_mode_by_count' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:654:5: warning: symbol 'batadv_mcast_forw_tracker_tvlv_handler' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:669:14: warning: symbol 'batadv_mcast_forw_packet_hdrlen' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:726:6: warning: symbol 'batadv_mcast_forw_push' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:760:5: warning: symbol 'batadv_mcast_forw_mcsend' was not declared. Should it be static?
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/multicast_forw.c:107:12: warning: context imbalance in 'batadv_mcast_forw_push_dests_list' - wrong count at exit
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:250: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:500: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1992: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: sparse linux-6.1 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c: In function ‘batadv_nc_mesh_init’:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:163:16: warning: passing argument 4 of ‘batadv_tvlv_handler_register’ makes pointer from integer without a cast [-Wint-conversion]
              NULL, BATADV_TVLV_NC, 1,
                    ^~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:37:13: note: expected ‘int (*)(struct batadv_priv *, struct sk_buff *)’ but argument is of type ‘int’
           int (*mptr)(struct batadv_priv *bat_priv,
           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct sk_buff *skb),
                ~~~~~~~~~~~~~~~~~~~~
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:162:2: error: too few arguments to function ‘batadv_tvlv_handler_register’
      batadv_tvlv_handler_register(bat_priv, batadv_nc_tvlv_ogm_handler_v1,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.c:45:
    /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/tvlv.h:27:6: note: declared here
     void batadv_tvlv_handler_register(struct batadv_priv *bat_priv,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:250: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv/network-coding.o] Error 1
    make[2]: *** [scripts/Makefile.build:500: /home/build_test/build_env/tmp.HZwc7zjBJI/net/batman-adv] Error 2
    make[1]: *** [Makefile:1992: /home/build_test/build_env/tmp.HZwc7zjBJI] Error 2
    make: *** [Makefile:68: all] Error 2

ecsv/pu: unused_symbols linux-4.14.302 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hash_destroy
    batadv_hash_new
    batadv_hash_set_lock_class
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-4.9 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.0 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hash_set_lock_class
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.15.83 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_event_workqueue
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_hash_destroy
    batadv_hash_new
    batadv_hash_set_lock_class
    batadv_is_my_mac
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.18 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hash_destroy
    batadv_hash_new
    batadv_hash_set_lock_class
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.18 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_is_backbone_gw_orig
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_is_my_mac
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.3 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_hash_destroy
    batadv_hash_new
    batadv_hash_set_lock_class
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.4.227 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_hash_set_lock_class
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.5 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.5 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_is_backbone_gw_orig
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.7 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n
---------------------------------------------------------------------------

    batadv_mcast_forw_mode_by_count

ecsv/pu: unused_symbols linux-5.9 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_hash_set_lock_class
    batadv_is_my_mac
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-5.9 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_is_backbone_gw_orig
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-6.0 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-6.0.13 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hash_set_lock_class
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-6.1 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_mcast_forw_mcsend
    batadv_mcast_forw_mode
    batadv_mcast_forw_mode_by_count
    batadv_mcast_forw_send
    batadv_mcast_purge_orig
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get

ecsv/pu: unused_symbols linux-6.1 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n
---------------------------------------------------------------------------

    batadv_algo_get
    batadv_algo_select
    batadv_bla_check_bcast_duplist
    batadv_bla_is_backbone_gw
    batadv_bla_is_backbone_gw_orig
    batadv_bla_rx
    batadv_bla_tx
    batadv_broadcast_addr
    batadv_dat_drop_broadcast_packet
    batadv_dat_snoop_incoming_arp_reply
    batadv_dat_snoop_incoming_arp_request
    batadv_dat_snoop_incoming_dhcp_ack
    batadv_dat_snoop_outgoing_arp_reply
    batadv_dat_snoop_outgoing_arp_request
    batadv_dat_snoop_outgoing_dhcp_ack
    batadv_frag_purge_orig
    batadv_frag_send_packet
    batadv_frag_skb_buffer
    batadv_frag_skb_fwd
    batadv_gw_dhcp_recipient_get
    batadv_gw_election
    batadv_gw_get_selected_orig
    batadv_gw_node_delete
    batadv_gw_out_of_range
    batadv_hardif_disable_interface
    batadv_hardif_enable_interface
    batadv_hardif_min_mtu
    batadv_hardif_no_broadcast
    batadv_is_my_mac
    batadv_mesh_free
    batadv_mesh_init
    batadv_netlink_tpmeter_notify
    batadv_routing_algo
    batadv_skb_set_priority
    batadv_vlan_ap_isola_get


Statistics
==========

ecsv/pu
-------

Failed tests:               193
Started build tests:        111
Tested Linux versions:       37
Tested configs:              79
  

Patch

diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c
index d674e8394439..fb548924be04 100644
--- a/net/batman-adv/multicast.c
+++ b/net/batman-adv/multicast.c
@@ -1178,17 +1178,62 @@  static int batadv_mcast_forw_rtr_count(struct batadv_priv *bat_priv,
 	}
 }
 
+/**
+ * batadv_mcast_forw_mode_by_count() - get forwarding mode by count
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the multicast packet to check
+ * @vid: the vlan identifier
+ * @is_routable: stores whether the destination is routable
+ * @count: the number of originators the multicast packet need to be sent to
+ *
+ * For a multicast packet with multiple destination originators, checks which
+ * mode to use. For BATADV_FORW_MCAST it also encapsulates the packet with a
+ * complete batman-adv multicast header.
+ *
+ * Return:
+ *	BATADV_FORW_MCAST: If all nodes have multicast packet routing
+ *	capabilities and an MTU >= 1280 on all hard interfaces (including us)
+ *	and the encapsulated multicast packet with all destination addresses
+ *	would still fit into an 1280 bytes batman-adv multicast packet
+ *	(excluding the outter ethernet frame) and we could successfully push
+ *	the full batman-adv multicast packet header.
+ *	BATADV_FORW_UCASTS: If the packet cannot be sent in a batman-adv
+ *	multicast packet and the amount of batman-adv unicast packets needed
+ *	is smaller or equal to the configured multicast fanout.
+ *	BATADV_FORW_BCAST: Otherwise.
+ */
+enum batadv_forw_mode
+batadv_mcast_forw_mode_by_count(struct batadv_priv *bat_priv,
+				struct sk_buff *skb, unsigned short vid,
+				int is_routable, int count)
+{
+	unsigned int mcast_hdrlen = batadv_mcast_forw_packet_hdrlen(count);
+	u8 own_tvlv_flags = bat_priv->mcast.mla_flags.tvlv_flags;
+
+	if (!atomic_read(&bat_priv->mcast.num_no_mc_ptype_capa) &&
+	    own_tvlv_flags & BATADV_MCAST_HAVE_MC_PTYPE_CAPA &&
+	    skb->len + mcast_hdrlen <= IPV6_MIN_MTU &&
+	    batadv_mcast_forw_push(bat_priv, skb, vid, is_routable))
+		return BATADV_FORW_MCAST;
+
+	if (count <= atomic_read(&bat_priv->multicast_fanout))
+		return BATADV_FORW_UCASTS;
+
+	return BATADV_FORW_BCAST;
+}
+
 /**
  * batadv_mcast_forw_mode() - check on how to forward a multicast packet
  * @bat_priv: the bat priv with all the soft interface information
  * @skb: the multicast packet to check
+ * @vid: the vlan identifier
  * @is_routable: stores whether the destination is routable
  *
  * Return: The forwarding mode as enum batadv_forw_mode.
  */
 enum batadv_forw_mode
 batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb,
-		       int *is_routable)
+		       unsigned short vid, int *is_routable)
 {
 	int ret, tt_count, ip_count, unsnoop_count, total_count;
 	bool is_unsnoopable = false;
@@ -1218,10 +1263,8 @@  batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb,
 	else if (unsnoop_count)
 		return BATADV_FORW_BCAST;
 
-	if (total_count <= atomic_read(&bat_priv->multicast_fanout))
-		return BATADV_FORW_UCASTS;
-
-	return BATADV_FORW_BCAST;
+	return batadv_mcast_forw_mode_by_count(bat_priv, skb, vid, *is_routable,
+					       total_count);
 }
 
 /**
@@ -1781,6 +1824,31 @@  static void batadv_mcast_want_rtr6_update(struct batadv_priv *bat_priv,
 	}
 }
 
+/**
+ * batadv_mcast_have_mc_ptype_update() - update multicast packet type counter
+ * @bat_priv: the bat priv with all the soft interface information
+ * @orig: the orig_node which multicast state might have changed of
+ * @mcast_flags: flags indicating the new multicast state
+ *
+ * If the BATADV_MCAST_HAVE_MC_PTYPE_CAPA flag of this originator, orig, has
+ * toggled then this method updates the counter accordingly.
+ */
+static void batadv_mcast_have_mc_ptype_update(struct batadv_priv *bat_priv,
+					      struct batadv_orig_node *orig,
+					      u8 mcast_flags)
+{
+	lockdep_assert_held(&orig->mcast_handler_lock);
+
+	/* switched from flag set to unset */
+	if (!(mcast_flags & BATADV_MCAST_HAVE_MC_PTYPE_CAPA) &&
+	    orig->mcast_flags & BATADV_MCAST_HAVE_MC_PTYPE_CAPA)
+		atomic_inc(&bat_priv->mcast.num_no_mc_ptype_capa);
+	/* switched from flag unset to set */
+	else if (mcast_flags & BATADV_MCAST_HAVE_MC_PTYPE_CAPA &&
+		 !(orig->mcast_flags & BATADV_MCAST_HAVE_MC_PTYPE_CAPA))
+		atomic_dec(&bat_priv->mcast.num_no_mc_ptype_capa);
+}
+
 /**
  * batadv_mcast_tvlv_flags_get() - get multicast flags from an OGM TVLV
  * @enabled: whether the originator has multicast TVLV support enabled
@@ -1849,6 +1917,7 @@  static void batadv_mcast_tvlv_ogm_handler(struct batadv_priv *bat_priv,
 	batadv_mcast_want_ipv6_update(bat_priv, orig, mcast_flags);
 	batadv_mcast_want_rtr4_update(bat_priv, orig, mcast_flags);
 	batadv_mcast_want_rtr6_update(bat_priv, orig, mcast_flags);
+	batadv_mcast_have_mc_ptype_update(bat_priv, orig, mcast_flags);
 
 	orig->mcast_flags = mcast_flags;
 	spin_unlock_bh(&orig->mcast_handler_lock);
diff --git a/net/batman-adv/multicast.h b/net/batman-adv/multicast.h
index a5c0f384bb9a..6746a919f4a0 100644
--- a/net/batman-adv/multicast.h
+++ b/net/batman-adv/multicast.h
@@ -28,6 +28,12 @@  enum batadv_forw_mode {
 	 */
 	BATADV_FORW_UCASTS,
 
+	/**
+	 * @BATADV_FORW_MCAST: forward the packet to some nodes via a
+	 *  batman-adv multicast packet
+	 */
+	BATADV_FORW_MCAST,
+
 	/** @BATADV_FORW_NONE: don't forward, drop it */
 	BATADV_FORW_NONE,
 };
@@ -36,7 +42,7 @@  enum batadv_forw_mode {
 
 enum batadv_forw_mode
 batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb,
-		       int *is_routable);
+		       unsigned short vid, int *is_routable);
 
 int batadv_mcast_forw_send(struct batadv_priv *bat_priv, struct sk_buff *skb,
 			   unsigned short vid, int is_routable);
@@ -57,11 +63,18 @@  void batadv_mcast_purge_orig(struct batadv_orig_node *orig_node);
 int batadv_mcast_forw_tracker_tvlv_handler(struct batadv_priv *bat_priv,
 					   struct sk_buff *skb);
 
+int batadv_mcast_forw_packet_hdrlen(unsigned int num_dests);
+
+int batadv_mcast_forw_push(struct batadv_priv *bat_priv, struct sk_buff *skb,
+			   unsigned short vid, int is_routable);
+
+int batadv_mcast_forw_mcsend(struct batadv_priv *bat_priv, struct sk_buff *skb);
+
 #else
 
 static inline enum batadv_forw_mode
 batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb,
-		       int *is_routable)
+		       unsigned short vid, int *is_routable)
 {
 	return BATADV_FORW_BCAST;
 }
@@ -99,6 +112,13 @@  static inline void batadv_mcast_purge_orig(struct batadv_orig_node *orig_node)
 {
 }
 
+static inline int batadv_mcast_forw_mcsend(struct batadv_priv *bat_priv,
+					   struct sk_buff *skb)
+{
+	kfree_skb(skb);
+	return NET_XMIT_DROP;
+}
+
 #endif /* CONFIG_BATMAN_ADV_MCAST */
 
 #endif /* _NET_BATMAN_ADV_MULTICAST_H_ */
diff --git a/net/batman-adv/multicast_forw.c b/net/batman-adv/multicast_forw.c
index d378e6f2de18..e2b0cd51cec4 100644
--- a/net/batman-adv/multicast_forw.c
+++ b/net/batman-adv/multicast_forw.c
@@ -8,17 +8,293 @@ 
 
 #include <linux/etherdevice.h>
 #include <linux/if_ether.h>
+#include <linux/if_vlan.h>
+#include <linux/ipv6.h>
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>
 #include <linux/types.h>
 
+#include "bridge_loop_avoidance.h"
 #include "originator.h"
 #include "routing.h"
 #include "send.h"
+#include "soft-interface.h"
+#include "translation-table.h"
 
 #define batadv_mcast_forw_tracker_for_each_dest(dest, num_dests) \
 	for (; num_dests; num_dests--, (dest) += ETH_ALEN)
 
+/**
+ * batadv_mcast_forw_orig_entry() - get orig_node from an hlist node
+ * @node: the hlist node to get the orig_node from
+ * @entry_offset: the offset of the hlist node within the orig_node struct
+ *
+ * Return: The orig_node containing the hlist node on success, NULL on error.
+ */
+static struct batadv_orig_node *
+batadv_mcast_forw_orig_entry(struct hlist_node *node,
+			     size_t entry_offset)
+{
+	/* sanity check */
+	switch (entry_offset) {
+	case offsetof(struct batadv_orig_node, mcast_want_all_ipv4_node):
+	case offsetof(struct batadv_orig_node, mcast_want_all_ipv6_node):
+	case offsetof(struct batadv_orig_node, mcast_want_all_rtr4_node):
+	case offsetof(struct batadv_orig_node, mcast_want_all_rtr6_node):
+		break;
+	default:
+		WARN_ON(1);
+		return NULL;
+	}
+
+	return (struct batadv_orig_node *)((void *)node - entry_offset);
+}
+
+/**
+ * batadv_mcast_forw_push_dest() - push an originator MAC address onto an skb
+ * @skb: the skb to push the destination address onto
+ * @vid: the vlan identifier
+ * @orig_node: the originator node to get the MAC address from
+ * @num_dests: a pointer to store the number of pushed addresses in
+ *
+ * If the orig_node is a BLA backbone gateway, if there is not enough skb
+ * headroom available or if num_dests is already at its maximum (65535) then
+ * neither the skb nor num_dests is changed. Otherwise the originator's MAC
+ * address is pushed onto the given skb and num_dests incremented by one.
+ *
+ * Return: true if the orig_node is a backbone gateway or if an orig address
+ *  was pushed successfully.
+ */
+static bool batadv_mcast_forw_push_dest(struct batadv_priv *bat_priv,
+					struct sk_buff *skb, unsigned short vid,
+					struct batadv_orig_node *orig_node,
+					unsigned short *num_dests)
+{
+	BUILD_BUG_ON(sizeof(((struct batadv_tvlv_mcast_tracker *)0)->num_dests)
+		     != sizeof(__be16));
+
+	/* Avoid sending to other BLA gateways - they already got the frame from
+	 * the LAN side we share with them.
+	 * TODO: Refactor to take BLA into account earlier in mode check.
+	 */
+	if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid))
+		return true;
+
+	if (skb_headroom(skb) < ETH_ALEN || *num_dests == U16_MAX)
+		return false;
+
+	skb_push(skb, ETH_ALEN);
+	ether_addr_copy(skb->data, orig_node->orig);
+	(*num_dests)++;
+
+	return true;
+}
+
+/**
+ * batadv_mcast_forw_push_dests_list() - push originators from list onto an skb
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the skb to push the destination addresses onto
+ * @vid: the vlan identifier
+ * @head: the list to gather originators from
+ * @entry_offset: offset of an hlist node in an orig_node structure
+ * @num_dests: a pointer to store the number of pushed addresses in
+ *
+ * Push the MAC addresses of all originators in the given list onto the given
+ * skb.
+ *
+ * Return: true on success, false otherwise.
+ */
+static int batadv_mcast_forw_push_dests_list(struct batadv_priv *bat_priv,
+					     struct sk_buff *skb,
+					     unsigned short vid,
+					     struct hlist_head *head,
+					     size_t entry_offset,
+					     unsigned short *num_dests)
+{
+	struct hlist_node *node;
+	struct batadv_orig_node *orig_node;
+
+	rcu_read_lock();
+	__hlist_for_each_rcu(node, head) {
+		orig_node = batadv_mcast_forw_orig_entry(node, entry_offset);
+		if (!orig_node ||
+		    !batadv_mcast_forw_push_dest(bat_priv, skb, vid, orig_node,
+						 num_dests))
+			return false;
+	}
+	rcu_read_unlock();
+
+	return true;
+}
+
+/**
+ * batadv_mcast_forw_push_tt() - push originators with interest through TT
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the skb to push the destination addresses onto
+ * @vid: the vlan identifier
+ * @num_dests: a pointer to store the number of pushed addresses in
+ *
+ * Push the MAC addresses of all originators which have indicated interest in
+ * this multicast packet through the translation table onto the given skb.
+ *
+ * Return: true on success, false otherwise.
+ */
+static bool
+batadv_mcast_forw_push_tt(struct batadv_priv *bat_priv, struct sk_buff *skb,
+			  unsigned short vid, unsigned short *num_dests)
+{
+	struct batadv_tt_orig_list_entry *orig_entry;
+
+	struct batadv_tt_global_entry *tt_global;
+	const u8 *addr = eth_hdr(skb)->h_dest;
+
+	/* ok */
+	int ret = true;
+
+	tt_global = batadv_tt_global_hash_find(bat_priv, addr, vid);
+	if (!tt_global)
+		goto out;
+
+	rcu_read_lock();
+	hlist_for_each_entry_rcu(orig_entry, &tt_global->orig_list, list) {
+		if (!batadv_mcast_forw_push_dest(bat_priv, skb, vid,
+						 orig_entry->orig_node,
+						 num_dests)) {
+			ret = false;
+			break;
+		}
+	}
+	rcu_read_unlock();
+
+	batadv_tt_global_entry_put(tt_global);
+
+out:
+	return ret;
+}
+
+/**
+ * batadv_mcast_forw_push_want_all() - push originators with want-all flag
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the skb to push the destination addresses onto
+ * @vid: the vlan identifier
+ * @num_dests: a pointer to store the number of pushed addresses in
+ *
+ * Push the MAC addresses of all originators which have indicated interest in
+ * this multicast packet through the want-all flag onto the given skb.
+ *
+ * Return: true on success, false otherwise.
+ */
+static bool batadv_mcast_forw_push_want_all(struct batadv_priv *bat_priv,
+					    struct sk_buff *skb,
+					    unsigned short vid,
+					    unsigned short *num_dests)
+{
+	struct hlist_head *head = NULL;
+	size_t offset;
+	int ret;
+
+	switch (eth_hdr(skb)->h_proto) {
+	case htons(ETH_P_IP):
+		head = &bat_priv->mcast.want_all_ipv4_list;
+		offset = offsetof(struct batadv_orig_node,
+				  mcast_want_all_ipv4_node);
+		break;
+	case htons(ETH_P_IPV6):
+		head = &bat_priv->mcast.want_all_ipv6_list;
+		offset = offsetof(struct batadv_orig_node,
+				  mcast_want_all_ipv6_node);
+		break;
+	default:
+		return false;
+	}
+
+	ret = batadv_mcast_forw_push_dests_list(bat_priv, skb, vid, head,
+						offset, num_dests);
+	if (!ret)
+		return false;
+
+	return true;
+}
+
+/**
+ * batadv_mcast_forw_push_want_rtr() - push originators with want-router flag
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the skb to push the destination addresses onto
+ * @vid: the vlan identifier
+ * @num_dests: a pointer to store the number of pushed addresses in
+ *
+ * Push the MAC addresses of all originators which have indicated interest in
+ * this multicast packet through the want-all-rtr flag onto the given skb.
+ *
+ * Return: true on success, false otherwise.
+ */
+static bool batadv_mcast_forw_push_want_rtr(struct batadv_priv *bat_priv,
+					    struct sk_buff *skb,
+					    unsigned short vid,
+					    unsigned short *num_dests)
+{
+	struct hlist_head *head = NULL;
+	size_t offset;
+	int ret;
+
+	switch (eth_hdr(skb)->h_proto) {
+	case htons(ETH_P_IP):
+		head = &bat_priv->mcast.want_all_rtr4_list;
+		offset = offsetof(struct batadv_orig_node,
+				  mcast_want_all_rtr4_node);
+		break;
+	case htons(ETH_P_IPV6):
+		head = &bat_priv->mcast.want_all_rtr6_list;
+		offset = offsetof(struct batadv_orig_node,
+				  mcast_want_all_rtr6_node);
+		break;
+	default:
+		return false;
+	}
+
+	ret = batadv_mcast_forw_push_dests_list(bat_priv, skb, vid, head,
+						offset, num_dests);
+	if (!ret)
+		return false;
+
+	return true;
+}
+
+/**
+ * batadv_mcast_forw_push_dests() - push originator addresses onto an skb
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the skb to push the destination addresses onto
+ * @vid: the vlan identifier
+ * @is_routable: indicates whether the destination is routable
+ *
+ * Push the MAC addresses of all originators which have indicated interest in
+ * this multicast packet onto the given skb.
+ *
+ * Return: The number of destination originator MAC addresses that were pushed
+ * onto the given skb.
+ */
+static int
+batadv_mcast_forw_push_dests(struct batadv_priv *bat_priv, struct sk_buff *skb,
+			     unsigned short vid, int is_routable)
+{
+	unsigned short num_dests = 0;
+
+	if (!batadv_mcast_forw_push_tt(bat_priv, skb, vid, &num_dests))
+		goto err;
+
+	if (!batadv_mcast_forw_push_want_all(bat_priv, skb, vid, &num_dests))
+		goto err;
+
+	if (is_routable &&
+	    !batadv_mcast_forw_push_want_rtr(bat_priv, skb, vid, &num_dests))
+		goto err;
+
+	return num_dests;
+err:
+	skb_pull(skb, num_dests * ETH_ALEN);
+	return -ENOMEM;
+}
+
 /**
  * batadv_mcast_forw_tracker_hdrlen() - calculate tracker TVLV header length
  * @num_dests: the number of destination addresses to taken into account
@@ -39,6 +315,120 @@  static int batadv_mcast_forw_tracker_hdrlen(unsigned int num_dests)
 		return len - sizeof(mcast_tracker->align);
 }
 
+/**
+ * batadv_mcast_forw_push_tracker() - push a multicast tracker TVLV header
+ * @skb: the skb to push the tracker TVLV onto
+ * @num_dests: the number of destination addresses to set in the header
+ *
+ * Pushes a multicast tracker TVLV header onto the given skb, including the
+ * generic TVLV header but excluding the destination MAC addresses.
+ *
+ * The provided num_dests value is taken into consideration to set the
+ * num_dests field in the tracker header and to set the appropriate TVLV length
+ * value fields. But also to decide whether to add or omit the 2 alignment bytes
+ * in the multicast tracker TVLV header, to make the tracker TVLV 4 byte aligned
+ * to make the encapsulated IP packet 4 byte aligned.
+ *
+ * Return: -ENOMEM if there is not enough skb headroom available. Otherwise, on
+ * success the number of bytes that were pushed, the total TVLV length value.
+ */
+static int batadv_mcast_forw_push_tracker(struct sk_buff *skb, int num_dests)
+{
+	struct batadv_tvlv_mcast_tracker *mcast_tracker;
+	unsigned int tvlv_value_len, tracker_hdrlen;
+	struct batadv_tvlv_hdr *tvlv_hdr;
+
+	/* odd #dests: no 2 byte padding to TVLV */
+	tracker_hdrlen = batadv_mcast_forw_tracker_hdrlen(num_dests);
+
+	if (skb_headroom(skb) < tracker_hdrlen + sizeof(*tvlv_hdr))
+		return -ENOMEM;
+
+	tvlv_value_len = tracker_hdrlen + ETH_ALEN * num_dests;
+	if (tvlv_value_len + sizeof(*tvlv_hdr) > U16_MAX)
+		return -ENOMEM;
+
+	skb_push(skb, tracker_hdrlen);
+	mcast_tracker = (struct batadv_tvlv_mcast_tracker *)skb->data;
+	mcast_tracker->num_dests = htons(num_dests);
+
+	/* even #dests: with 2 byte padding to TVLV */
+	if (!(num_dests % 2))
+		memset(mcast_tracker->align, 0, sizeof(mcast_tracker->align));
+
+	skb_reset_network_header(skb);
+
+	skb_push(skb, sizeof(*tvlv_hdr));
+	tvlv_hdr = (struct batadv_tvlv_hdr *)skb->data;
+	tvlv_hdr->type = BATADV_TVLV_MCAST_TRACKER;
+	tvlv_hdr->version = 1;
+	tvlv_hdr->len = htons(tvlv_value_len);
+
+	return tvlv_value_len + sizeof(*tvlv_hdr);
+}
+
+/**
+ * batadv_mcast_forw_push_tvlvs() - push a multicast tracker TVLV onto an skb
+ * @skb: the skb to push the tracker TVLV onto
+ * @vid: the vlan identifier
+ * @is_routable: indicates whether the destination is routable
+ *
+ * Pushes a multicast tracker TVLV onto the given skb, including the collected
+ * destination MAC addresses and the generic TVLV header.
+ *
+ * Return: -ENOMEM if there is not enough skb headroom available. Otherwise, on
+ * success the number of bytes that were pushed, the total TVLV length value.
+ */
+static int
+batadv_mcast_forw_push_tvlvs(struct batadv_priv *bat_priv, struct sk_buff *skb,
+			     unsigned short vid, int is_routable)
+{
+	int num_dests, tvlv_len;
+
+	num_dests = batadv_mcast_forw_push_dests(bat_priv, skb, vid,
+						 is_routable);
+	if (num_dests <	0)
+		return num_dests;
+
+	tvlv_len = batadv_mcast_forw_push_tracker(skb, num_dests);
+	if (tvlv_len < 0)
+		skb_pull(skb, num_dests * ETH_ALEN);
+
+	return tvlv_len;
+}
+
+/**
+ * batadv_mcast_forw_push_hdr() - push a multicast packet header onto an skb
+ * @skb: the skb to push the header onto
+ * @tvlv_len: the total TVLV length value to set in the header
+ *
+ * Pushes a batman-adv multicast packet header onto the given skb and sets
+ * the provided total TVLV length value in it.
+ *
+ * Caller needs to ensure enough skb headroom is available.
+ *
+ * Return: -ENOMEM if there is not enough skb headroom available. Otherwise, on
+ * success 0.
+ */
+static int batadv_mcast_forw_push_hdr(struct sk_buff *skb, int tvlv_len)
+{
+	struct batadv_mcast_packet *mcast_packet;
+
+	if (skb_headroom(skb) < sizeof(*mcast_packet))
+		return -ENOMEM;
+
+	skb_push(skb, sizeof(*mcast_packet));
+
+	mcast_packet = (struct batadv_mcast_packet *)skb->data;
+	mcast_packet->version = BATADV_COMPAT_VERSION;
+	mcast_packet->ttl = BATADV_TTL;
+	mcast_packet->packet_type = BATADV_MCAST;
+	mcast_packet->reserved = 0;
+	mcast_packet->tvlv_len = htons(tvlv_len);
+
+	return 0;
+}
+
 /**
  * batadv_mcast_forw_orig_to_neigh() - get next hop neighbor to an orig address
  * @bat_priv: the bat priv with all the soft interface information
@@ -266,3 +656,117 @@  int batadv_mcast_forw_tracker_tvlv_handler(struct batadv_priv *bat_priv,
 {
 	return batadv_mcast_forw_packet(bat_priv, skb, false);
 }
+
+/**
+ * batadv_mcast_forw_packet_hdrlen() - multicast packet header length
+ * @num_dests: number of destination nodes
+ *
+ * Calculates the total batman-adv multicast packet header length for a given
+ * number of destination nodes (excluding the outter ethernet frame).
+ *
+ * Return: The calculated total batman-adv multicast packet header length.
+ */
+unsigned int batadv_mcast_forw_packet_hdrlen(unsigned int num_dests)
+{
+	return num_dests * ETH_ALEN +
+	       batadv_mcast_forw_tracker_hdrlen(num_dests) +
+	       sizeof(struct batadv_tvlv_hdr) +
+	       sizeof(struct batadv_mcast_packet);
+}
+
+/**
+ * batadv_mcast_forw_expand_head() - expand headroom for an mcast packet
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the multicast packet to send
+ *
+ * Tries to expand an skb's headroom so that its head to tail is 1298
+ * bytes (minimum IPv6 MTU + vlan ethernet header size) large.
+ *
+ * Return: -EINVAL if the given skb's length is too large or -ENOMEM on memory
+ * allocation failure. Otherwise, on success, zero is returned.
+ */
+static int batadv_mcast_forw_expand_head(struct batadv_priv *bat_priv,
+					 struct sk_buff *skb)
+{
+	int hdr_size = VLAN_ETH_HLEN + IPV6_MIN_MTU - skb->len;
+
+	 /* TODO: Could be tightened to actual number of destination nodes?
+	  * But it's tricky, number of destinations might have increased since
+	  * we last checked.
+	  */
+	if (hdr_size < 0) {
+		/* batadv_mcast_forw_mode_check_count() should ensure we do not
+		 * end up here
+		 */
+		WARN_ON(1);
+		return -EINVAL;
+	}
+
+	if (skb_headroom(skb) < hdr_size &&
+	    pskb_expand_head(skb, hdr_size, 0, GFP_ATOMIC) < 0)
+		return -ENOMEM;
+
+	return 0;
+}
+
+/**
+ * batadv_mcast_forw_push() - encapsulate skb in a batman-adv multicast packet
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the multicast packet to encapsulate and send
+ * @vid: the vlan identifier
+ * @is_routable: indicates whether the destination is routable
+ *
+ * Encapsulates the given multicast packet in a batman-adv multicast packet.
+ * A multicast tracker TVLV with destination originator addresses for any node
+ * that signaled interest in it, that is either via the translation table or the
+ * according want-all flags, is attached accordingly.
+ *
+ * Return: true on success, false otherwise.
+ */
+bool batadv_mcast_forw_push(struct batadv_priv *bat_priv, struct sk_buff *skb,
+			    unsigned short vid, int is_routable)
+{
+	int tvlv_len;
+
+	if (batadv_mcast_forw_expand_head(bat_priv, skb) < 0)
+		return false;
+
+	skb_reset_transport_header(skb);
+
+	tvlv_len = batadv_mcast_forw_push_tvlvs(bat_priv, skb, vid,
+						is_routable);
+	if (tvlv_len < 0)
+		return false;
+
+	if (batadv_mcast_forw_push_hdr(skb, tvlv_len) < 0) {
+		skb_pull(skb, tvlv_len);
+		return false;
+	}
+
+	return true;
+}
+
+/**
+ * batadv_mcast_forw_mcsend() - send a self prepared batman-adv multicast packet
+ * @bat_priv: the bat priv with all the soft interface information
+ * @skb: the multicast packet to encapsulate and send
+ *
+ * Transmits a batman-adv multicast packet that was locally prepared and
+ * consumes/frees it.
+ *
+ * Return: NET_XMIT_DROP on memory allocation failure. NET_XMIT_SUCCESS
+ * otherwise.
+ */
+int batadv_mcast_forw_mcsend(struct batadv_priv *bat_priv,
+			     struct sk_buff *skb)
+{
+	int ret = batadv_mcast_forw_packet(bat_priv, skb, true);
+
+	if (ret < 0) {
+		kfree_skb(skb);
+		return NET_XMIT_DROP;
+	}
+
+	consume_skb(skb);
+	return NET_XMIT_SUCCESS;
+}
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index d30598eb557c..2a80fa3dd3b1 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -299,12 +299,13 @@  static netdev_tx_t batadv_interface_tx(struct sk_buff *skb,
 
 send:
 		if (do_bcast && !is_broadcast_ether_addr(ethhdr->h_dest)) {
-			forw_mode = batadv_mcast_forw_mode(bat_priv, skb,
+			forw_mode = batadv_mcast_forw_mode(bat_priv, skb, vid,
 							   &mcast_is_routable);
 			switch (forw_mode) {
 			case BATADV_FORW_BCAST:
 				break;
 			case BATADV_FORW_UCASTS:
+			case BATADV_FORW_MCAST:
 				do_bcast = false;
 				break;
 			case BATADV_FORW_NONE:
@@ -363,6 +364,8 @@  static netdev_tx_t batadv_interface_tx(struct sk_buff *skb,
 		} else if (forw_mode == BATADV_FORW_UCASTS) {
 			ret = batadv_mcast_forw_send(bat_priv, skb, vid,
 						     mcast_is_routable);
+		} else if (forw_mode == BATADV_FORW_MCAST) {
+			ret = batadv_mcast_forw_mcsend(bat_priv, skb);
 		} else {
 			if (batadv_dat_snoop_outgoing_arp_request(bat_priv,
 								  skb))
@@ -760,6 +763,7 @@  static int batadv_softif_init_late(struct net_device *dev)
 	atomic_set(&bat_priv->mcast.num_want_all_unsnoopables, 0);
 	atomic_set(&bat_priv->mcast.num_want_all_ipv4, 0);
 	atomic_set(&bat_priv->mcast.num_want_all_ipv6, 0);
+	atomic_set(&bat_priv->mcast.num_no_mc_ptype_capa, 0);
 #endif
 	atomic_set(&bat_priv->gw.mode, BATADV_GW_MODE_OFF);
 	atomic_set(&bat_priv->gw.bandwidth_down, 100);
diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index a2fee3325b29..4008ae1d6c15 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -1342,6 +1342,12 @@  struct batadv_priv_mcast {
 	/** @num_want_all_rtr6: counter for items in want_all_rtr6_list */
 	atomic_t num_want_all_rtr6;
 
+	/**
+	 * @num_no_mc_ptype_capa: counter for number of nodes without the
+	 *  BATADV_MCAST_HAVE_MC_PTYPE_CAPA flag
+	 */
+	atomic_t num_no_mc_ptype_capa;
+
 	/**
 	 * @want_lists_lock: lock for protecting modifications to mcasts
 	 *  want_all_{unsnoopables,ipv4,ipv6}_list (traversals are rcu-locked)