<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/batman-adv, branch v6.6-rc1</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2023-08-24T17:51:39+00:00</updated>
<author>
<name>Jakub Kicinski</name>
<email>kuba@kernel.org</email>
</author>
<published>2023-08-24T17:46:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=57ce6427e00a6a72f74b29630b39548b36980b09'/>
<id>57ce6427e00a6a72f74b29630b39548b36980b09</id>
<content type='text'>
Cross-merge networking fixes after downstream PR.

Conflicts:

include/net/inet_sock.h
  f866fbc842de ("ipv4: fix data-races around inet-&gt;inet_id")
  c274af224269 ("inet: introduce inet-&gt;inet_flags")
https://lore.kernel.org/all/679ddff6-db6e-4ff6-b177-574e90d0103d@tessares.net/

Adjacent changes:

drivers/net/bonding/bond_alb.c
  e74216b8def3 ("bonding: fix macvlan over alb bond support")
  f11e5bd159b0 ("bonding: support balance-alb with openvswitch")

drivers/net/ethernet/broadcom/bgmac.c
  d6499f0b7c7c ("net: bgmac: Return PTR_ERR() for fixed_phy_register()")
  23a14488ea58 ("net: bgmac: Fix return value check for fixed_phy_register()")

drivers/net/ethernet/broadcom/genet/bcmmii.c
  32bbe64a1386 ("net: bcmgenet: Fix return value check for fixed_phy_register()")
  acf50d1adbf4 ("net: bcmgenet: Return PTR_ERR() for fixed_phy_register()")

net/sctp/socket.c
  f866fbc842de ("ipv4: fix data-races around inet-&gt;inet_id")
  b09bde5c3554 ("inet: move inet-&gt;mc_loop to inet-&gt;inet_frags")

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cross-merge networking fixes after downstream PR.

Conflicts:

include/net/inet_sock.h
  f866fbc842de ("ipv4: fix data-races around inet-&gt;inet_id")
  c274af224269 ("inet: introduce inet-&gt;inet_flags")
https://lore.kernel.org/all/679ddff6-db6e-4ff6-b177-574e90d0103d@tessares.net/

Adjacent changes:

drivers/net/bonding/bond_alb.c
  e74216b8def3 ("bonding: fix macvlan over alb bond support")
  f11e5bd159b0 ("bonding: support balance-alb with openvswitch")

drivers/net/ethernet/broadcom/bgmac.c
  d6499f0b7c7c ("net: bgmac: Return PTR_ERR() for fixed_phy_register()")
  23a14488ea58 ("net: bgmac: Fix return value check for fixed_phy_register()")

drivers/net/ethernet/broadcom/genet/bcmmii.c
  32bbe64a1386 ("net: bcmgenet: Fix return value check for fixed_phy_register()")
  acf50d1adbf4 ("net: bcmgenet: Return PTR_ERR() for fixed_phy_register()")

net/sctp/socket.c
  f866fbc842de ("ipv4: fix data-races around inet-&gt;inet_id")
  b09bde5c3554 ("inet: move inet-&gt;mc_loop to inet-&gt;inet_frags")

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Hold rtnl lock during MTU update via netlink</title>
<updated>2023-08-23T00:25:10+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2023-08-21T19:48:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=987aae75fc1041072941ffb622b45ce2359a99b9'/>
<id>987aae75fc1041072941ffb622b45ce2359a99b9</id>
<content type='text'>
The automatic recalculation of the maximum allowed MTU is usually triggered
by code sections which are already rtnl lock protected by callers outside
of batman-adv. But when the fragmentation setting is changed via
batman-adv's own batadv genl family, then the rtnl lock is not yet taken.

But dev_set_mtu requires that the caller holds the rtnl lock because it
uses netdevice notifiers. And this code will then fail the check for this
lock:

  RTNL: assertion failed at net/core/dev.c (1953)

Cc: stable@vger.kernel.org
Reported-by: syzbot+f8812454d9b3ac00d282@syzkaller.appspotmail.com
Fixes: c6a953cce8d0 ("batman-adv: Trigger events for auto adjusted MTU")
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/20230821-batadv-missing-mtu-rtnl-lock-v1-1-1c5a7bfe861e@narfation.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The automatic recalculation of the maximum allowed MTU is usually triggered
by code sections which are already rtnl lock protected by callers outside
of batman-adv. But when the fragmentation setting is changed via
batman-adv's own batadv genl family, then the rtnl lock is not yet taken.

But dev_set_mtu requires that the caller holds the rtnl lock because it
uses netdevice notifiers. And this code will then fail the check for this
lock:

  RTNL: assertion failed at net/core/dev.c (1953)

Cc: stable@vger.kernel.org
Reported-by: syzbot+f8812454d9b3ac00d282@syzkaller.appspotmail.com
Fixes: c6a953cce8d0 ("batman-adv: Trigger events for auto adjusted MTU")
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/20230821-batadv-missing-mtu-rtnl-lock-v1-1-1c5a7bfe861e@narfation.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Drop per algo GW section class code</title>
<updated>2023-08-14T16:01:21+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2023-08-02T08:39:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6f96d46f9a1ad1c02589b598c56ea881094129d8'/>
<id>6f96d46f9a1ad1c02589b598c56ea881094129d8</id>
<content type='text'>
This code was  only used in the past for the sysfs interface. But since
this was replace with netlink, it was never executed. The function pointer
was only checked to figure out whether the limit 255 (B.A.T.M.A.N. IV) or
2**32-1 (B.A.T.M.A.N. V) should be used as limit.

So instead of keeping the function pointer, just store the limits directly
in struct batadv_algo_gw_ops.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This code was  only used in the past for the sysfs interface. But since
this was replace with netlink, it was never executed. The function pointer
was only checked to figure out whether the limit 255 (B.A.T.M.A.N. IV) or
2**32-1 (B.A.T.M.A.N. V) should be used as limit.

So instead of keeping the function pointer, just store the limits directly
in struct batadv_algo_gw_ops.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Keep batadv_netlink_notify_* static</title>
<updated>2023-08-14T16:01:21+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2023-08-02T08:24:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=02e61f06a97e7ba73fa44046d6da097e5c2aacc8'/>
<id>02e61f06a97e7ba73fa44046d6da097e5c2aacc8</id>
<content type='text'>
The batadv_netlink_notify_*() functions are not used by any other source
file. Just keep them local to netlink.c to get informed by the compiler
when they are not used anymore.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The batadv_netlink_notify_*() functions are not used by any other source
file. Just keep them local to netlink.c to get informed by the compiler
when they are not used anymore.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Drop unused function batadv_gw_bandwidth_set</title>
<updated>2023-08-14T16:01:21+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2023-08-02T08:16:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=950c92bbaa8f16fc71485f4d564d429a9e4cc9fd'/>
<id>950c92bbaa8f16fc71485f4d564d429a9e4cc9fd</id>
<content type='text'>
This function is no longer used since the sysfs support was removed from
batman-adv.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function is no longer used since the sysfs support was removed from
batman-adv.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Fix batadv_v_ogm_aggr_send memory leak</title>
<updated>2023-08-09T15:33:03+00:00</updated>
<author>
<name>Remi Pommarel</name>
<email>repk@triplefau.lt</email>
</author>
<published>2023-08-09T15:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=421d467dc2d483175bad4fb76a31b9e5a3d744cf'/>
<id>421d467dc2d483175bad4fb76a31b9e5a3d744cf</id>
<content type='text'>
When batadv_v_ogm_aggr_send is called for an inactive interface, the skb
is silently dropped by batadv_v_ogm_send_to_if() but never freed causing
the following memory leak:

  unreferenced object 0xffff00000c164800 (size 512):
    comm "kworker/u8:1", pid 2648, jiffies 4295122303 (age 97.656s)
    hex dump (first 32 bytes):
      00 80 af 09 00 00 ff ff e1 09 00 00 75 01 60 83  ............u.`.
      1f 00 00 00 b8 00 00 00 15 00 05 00 da e3 d3 64  ...............d
    backtrace:
      [&lt;0000000007ad20f6&gt;] __kmalloc_track_caller+0x1a8/0x310
      [&lt;00000000d1029e55&gt;] kmalloc_reserve.constprop.0+0x70/0x13c
      [&lt;000000008b9d4183&gt;] __alloc_skb+0xec/0x1fc
      [&lt;00000000c7af5051&gt;] __netdev_alloc_skb+0x48/0x23c
      [&lt;00000000642ee5f5&gt;] batadv_v_ogm_aggr_send+0x50/0x36c
      [&lt;0000000088660bd7&gt;] batadv_v_ogm_aggr_work+0x24/0x40
      [&lt;0000000042fc2606&gt;] process_one_work+0x3b0/0x610
      [&lt;000000002f2a0b1c&gt;] worker_thread+0xa0/0x690
      [&lt;0000000059fae5d4&gt;] kthread+0x1fc/0x210
      [&lt;000000000c587d3a&gt;] ret_from_fork+0x10/0x20

Free the skb in that case to fix this leak.

Cc: stable@vger.kernel.org
Fixes: 0da0035942d4 ("batman-adv: OGMv2 - add basic infrastructure")
Signed-off-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When batadv_v_ogm_aggr_send is called for an inactive interface, the skb
is silently dropped by batadv_v_ogm_send_to_if() but never freed causing
the following memory leak:

  unreferenced object 0xffff00000c164800 (size 512):
    comm "kworker/u8:1", pid 2648, jiffies 4295122303 (age 97.656s)
    hex dump (first 32 bytes):
      00 80 af 09 00 00 ff ff e1 09 00 00 75 01 60 83  ............u.`.
      1f 00 00 00 b8 00 00 00 15 00 05 00 da e3 d3 64  ...............d
    backtrace:
      [&lt;0000000007ad20f6&gt;] __kmalloc_track_caller+0x1a8/0x310
      [&lt;00000000d1029e55&gt;] kmalloc_reserve.constprop.0+0x70/0x13c
      [&lt;000000008b9d4183&gt;] __alloc_skb+0xec/0x1fc
      [&lt;00000000c7af5051&gt;] __netdev_alloc_skb+0x48/0x23c
      [&lt;00000000642ee5f5&gt;] batadv_v_ogm_aggr_send+0x50/0x36c
      [&lt;0000000088660bd7&gt;] batadv_v_ogm_aggr_work+0x24/0x40
      [&lt;0000000042fc2606&gt;] process_one_work+0x3b0/0x610
      [&lt;000000002f2a0b1c&gt;] worker_thread+0xa0/0x690
      [&lt;0000000059fae5d4&gt;] kthread+0x1fc/0x210
      [&lt;000000000c587d3a&gt;] ret_from_fork+0x10/0x20

Free the skb in that case to fix this leak.

Cc: stable@vger.kernel.org
Fixes: 0da0035942d4 ("batman-adv: OGMv2 - add basic infrastructure")
Signed-off-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Fix TT global entry leak when client roamed back</title>
<updated>2023-08-05T06:02:01+00:00</updated>
<author>
<name>Remi Pommarel</name>
<email>repk@triplefau.lt</email>
</author>
<published>2023-08-04T09:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d25ddb7e788d34cf27ff1738d11a87cb4b67d446'/>
<id>d25ddb7e788d34cf27ff1738d11a87cb4b67d446</id>
<content type='text'>
When a client roamed back to a node before it got time to destroy the
pending local entry (i.e. within the same originator interval) the old
global one is directly removed from hash table and left as such.

But because this entry had an extra reference taken at lookup (i.e using
batadv_tt_global_hash_find) there is no way its memory will be reclaimed
at any time causing the following memory leak:

  unreferenced object 0xffff0000073c8000 (size 18560):
    comm "softirq", pid 0, jiffies 4294907738 (age 228.644s)
    hex dump (first 32 bytes):
      06 31 ac 12 c7 7a 05 00 01 00 00 00 00 00 00 00  .1...z..........
      2c ad be 08 00 80 ff ff 6c b6 be 08 00 80 ff ff  ,.......l.......
    backtrace:
      [&lt;00000000ee6e0ffa&gt;] kmem_cache_alloc+0x1b4/0x300
      [&lt;000000000ff2fdbc&gt;] batadv_tt_global_add+0x700/0xe20
      [&lt;00000000443897c7&gt;] _batadv_tt_update_changes+0x21c/0x790
      [&lt;000000005dd90463&gt;] batadv_tt_update_changes+0x3c/0x110
      [&lt;00000000a2d7fc57&gt;] batadv_tt_tvlv_unicast_handler_v1+0xafc/0xe10
      [&lt;0000000011793f2a&gt;] batadv_tvlv_containers_process+0x168/0x2b0
      [&lt;00000000b7cbe2ef&gt;] batadv_recv_unicast_tvlv+0xec/0x1f4
      [&lt;0000000042aef1d8&gt;] batadv_batman_skb_recv+0x25c/0x3a0
      [&lt;00000000bbd8b0a2&gt;] __netif_receive_skb_core.isra.0+0x7a8/0xe90
      [&lt;000000004033d428&gt;] __netif_receive_skb_one_core+0x64/0x74
      [&lt;000000000f39a009&gt;] __netif_receive_skb+0x48/0xe0
      [&lt;00000000f2cd8888&gt;] process_backlog+0x174/0x344
      [&lt;00000000507d6564&gt;] __napi_poll+0x58/0x1f4
      [&lt;00000000b64ef9eb&gt;] net_rx_action+0x504/0x590
      [&lt;00000000056fa5e4&gt;] _stext+0x1b8/0x418
      [&lt;00000000878879d6&gt;] run_ksoftirqd+0x74/0xa4
  unreferenced object 0xffff00000bae1a80 (size 56):
    comm "softirq", pid 0, jiffies 4294910888 (age 216.092s)
    hex dump (first 32 bytes):
      00 78 b1 0b 00 00 ff ff 0d 50 00 00 00 00 00 00  .x.......P......
      00 00 00 00 00 00 00 00 50 c8 3c 07 00 00 ff ff  ........P.&lt;.....
    backtrace:
      [&lt;00000000ee6e0ffa&gt;] kmem_cache_alloc+0x1b4/0x300
      [&lt;00000000d9aaa49e&gt;] batadv_tt_global_add+0x53c/0xe20
      [&lt;00000000443897c7&gt;] _batadv_tt_update_changes+0x21c/0x790
      [&lt;000000005dd90463&gt;] batadv_tt_update_changes+0x3c/0x110
      [&lt;00000000a2d7fc57&gt;] batadv_tt_tvlv_unicast_handler_v1+0xafc/0xe10
      [&lt;0000000011793f2a&gt;] batadv_tvlv_containers_process+0x168/0x2b0
      [&lt;00000000b7cbe2ef&gt;] batadv_recv_unicast_tvlv+0xec/0x1f4
      [&lt;0000000042aef1d8&gt;] batadv_batman_skb_recv+0x25c/0x3a0
      [&lt;00000000bbd8b0a2&gt;] __netif_receive_skb_core.isra.0+0x7a8/0xe90
      [&lt;000000004033d428&gt;] __netif_receive_skb_one_core+0x64/0x74
      [&lt;000000000f39a009&gt;] __netif_receive_skb+0x48/0xe0
      [&lt;00000000f2cd8888&gt;] process_backlog+0x174/0x344
      [&lt;00000000507d6564&gt;] __napi_poll+0x58/0x1f4
      [&lt;00000000b64ef9eb&gt;] net_rx_action+0x504/0x590
      [&lt;00000000056fa5e4&gt;] _stext+0x1b8/0x418
      [&lt;00000000878879d6&gt;] run_ksoftirqd+0x74/0xa4

Releasing the extra reference from batadv_tt_global_hash_find even at
roam back when batadv_tt_global_free is called fixes this memory leak.

Cc: stable@vger.kernel.org
Fixes: 068ee6e204e1 ("batman-adv: roaming handling mechanism redesign")
Signed-off-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Signed-off-by; Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a client roamed back to a node before it got time to destroy the
pending local entry (i.e. within the same originator interval) the old
global one is directly removed from hash table and left as such.

But because this entry had an extra reference taken at lookup (i.e using
batadv_tt_global_hash_find) there is no way its memory will be reclaimed
at any time causing the following memory leak:

  unreferenced object 0xffff0000073c8000 (size 18560):
    comm "softirq", pid 0, jiffies 4294907738 (age 228.644s)
    hex dump (first 32 bytes):
      06 31 ac 12 c7 7a 05 00 01 00 00 00 00 00 00 00  .1...z..........
      2c ad be 08 00 80 ff ff 6c b6 be 08 00 80 ff ff  ,.......l.......
    backtrace:
      [&lt;00000000ee6e0ffa&gt;] kmem_cache_alloc+0x1b4/0x300
      [&lt;000000000ff2fdbc&gt;] batadv_tt_global_add+0x700/0xe20
      [&lt;00000000443897c7&gt;] _batadv_tt_update_changes+0x21c/0x790
      [&lt;000000005dd90463&gt;] batadv_tt_update_changes+0x3c/0x110
      [&lt;00000000a2d7fc57&gt;] batadv_tt_tvlv_unicast_handler_v1+0xafc/0xe10
      [&lt;0000000011793f2a&gt;] batadv_tvlv_containers_process+0x168/0x2b0
      [&lt;00000000b7cbe2ef&gt;] batadv_recv_unicast_tvlv+0xec/0x1f4
      [&lt;0000000042aef1d8&gt;] batadv_batman_skb_recv+0x25c/0x3a0
      [&lt;00000000bbd8b0a2&gt;] __netif_receive_skb_core.isra.0+0x7a8/0xe90
      [&lt;000000004033d428&gt;] __netif_receive_skb_one_core+0x64/0x74
      [&lt;000000000f39a009&gt;] __netif_receive_skb+0x48/0xe0
      [&lt;00000000f2cd8888&gt;] process_backlog+0x174/0x344
      [&lt;00000000507d6564&gt;] __napi_poll+0x58/0x1f4
      [&lt;00000000b64ef9eb&gt;] net_rx_action+0x504/0x590
      [&lt;00000000056fa5e4&gt;] _stext+0x1b8/0x418
      [&lt;00000000878879d6&gt;] run_ksoftirqd+0x74/0xa4
  unreferenced object 0xffff00000bae1a80 (size 56):
    comm "softirq", pid 0, jiffies 4294910888 (age 216.092s)
    hex dump (first 32 bytes):
      00 78 b1 0b 00 00 ff ff 0d 50 00 00 00 00 00 00  .x.......P......
      00 00 00 00 00 00 00 00 50 c8 3c 07 00 00 ff ff  ........P.&lt;.....
    backtrace:
      [&lt;00000000ee6e0ffa&gt;] kmem_cache_alloc+0x1b4/0x300
      [&lt;00000000d9aaa49e&gt;] batadv_tt_global_add+0x53c/0xe20
      [&lt;00000000443897c7&gt;] _batadv_tt_update_changes+0x21c/0x790
      [&lt;000000005dd90463&gt;] batadv_tt_update_changes+0x3c/0x110
      [&lt;00000000a2d7fc57&gt;] batadv_tt_tvlv_unicast_handler_v1+0xafc/0xe10
      [&lt;0000000011793f2a&gt;] batadv_tvlv_containers_process+0x168/0x2b0
      [&lt;00000000b7cbe2ef&gt;] batadv_recv_unicast_tvlv+0xec/0x1f4
      [&lt;0000000042aef1d8&gt;] batadv_batman_skb_recv+0x25c/0x3a0
      [&lt;00000000bbd8b0a2&gt;] __netif_receive_skb_core.isra.0+0x7a8/0xe90
      [&lt;000000004033d428&gt;] __netif_receive_skb_one_core+0x64/0x74
      [&lt;000000000f39a009&gt;] __netif_receive_skb+0x48/0xe0
      [&lt;00000000f2cd8888&gt;] process_backlog+0x174/0x344
      [&lt;00000000507d6564&gt;] __napi_poll+0x58/0x1f4
      [&lt;00000000b64ef9eb&gt;] net_rx_action+0x504/0x590
      [&lt;00000000056fa5e4&gt;] _stext+0x1b8/0x418
      [&lt;00000000878879d6&gt;] run_ksoftirqd+0x74/0xa4

Releasing the extra reference from batadv_tt_global_hash_find even at
roam back when batadv_tt_global_free is called fixes this memory leak.

Cc: stable@vger.kernel.org
Fixes: 068ee6e204e1 ("batman-adv: roaming handling mechanism redesign")
Signed-off-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Signed-off-by; Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Check hardif MTU against runtime MTU</title>
<updated>2023-08-03T19:11:42+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2023-07-27T08:13:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=112cbcb4af90c4b108b120a28089872d2234a350'/>
<id>112cbcb4af90c4b108b120a28089872d2234a350</id>
<content type='text'>
If the MTU of the soft/mesh interface was already reduced (enough), it is
not necessary to print a warning about a hard interface not having a MTU to
transport ethernet payloads of 1500 bytes.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the MTU of the soft/mesh interface was already reduced (enough), it is
not necessary to print a warning about a hard interface not having a MTU to
transport ethernet payloads of 1500 bytes.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Avoid magic value for minimum MTU</title>
<updated>2023-08-03T19:11:42+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2023-07-27T08:13:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e4b817804579624b47823d87e647ec6c3d3ab827'/>
<id>e4b817804579624b47823d87e647ec6c3d3ab827</id>
<content type='text'>
The header linux/if_ether.h already defines a constant for the minimum MTU.
So simply use it instead of having a magic constant in the code.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The header linux/if_ether.h already defines a constant for the minimum MTU.
So simply use it instead of having a magic constant in the code.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Remove unused declarations</title>
<updated>2023-08-03T19:11:42+00:00</updated>
<author>
<name>YueHaibing</name>
<email>yuehaibing@huawei.com</email>
</author>
<published>2023-07-26T14:25:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bbfb428a0cf6fbce4bcb34510a8eb0cf9b3841a4'/>
<id>bbfb428a0cf6fbce4bcb34510a8eb0cf9b3841a4</id>
<content type='text'>
Since commit 335fbe0f5d25 ("batman-adv: tvlv - convert tt query packet to use tvlv unicast packets")
batadv_recv_tt_query() is not used.
And commit 122edaa05940 ("batman-adv: tvlv - convert roaming adv packet to use tvlv unicast packets")
left behind batadv_recv_roam_adv().

Signed-off-by: YueHaibing &lt;yuehaibing@huawei.com&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since commit 335fbe0f5d25 ("batman-adv: tvlv - convert tt query packet to use tvlv unicast packets")
batadv_recv_tt_query() is not used.
And commit 122edaa05940 ("batman-adv: tvlv - convert roaming adv packet to use tvlv unicast packets")
left behind batadv_recv_roam_adv().

Signed-off-by: YueHaibing &lt;yuehaibing@huawei.com&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
