* [PATCH 1/4] batman-adv: Start new development cycle
2019-08-08 13:06 [PATCH 0/4] pull request for net-next: batman-adv 2019-08-08 Simon Wunderlich
@ 2019-08-08 13:06 ` Simon Wunderlich
0 siblings, 0 replies; 18+ messages in thread
From: Simon Wunderlich @ 2019-08-08 13:06 UTC (permalink / raw)
To: davem; +Cc: netdev, b.a.t.m.a.n, Simon Wunderlich
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 3d4c04d87ff3..6967f2e4c3f4 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2019.3"
+#define BATADV_SOURCE_VERSION "2019.4"
#endif
/* B.A.T.M.A.N. parameters */
--
2.20.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2020-06-30 8:27 [PATCH 0/4] pull request for net-next: batman-adv 2020-06-26 Simon Wunderlich
@ 2020-06-30 8:27 ` Simon Wunderlich
0 siblings, 0 replies; 18+ messages in thread
From: Simon Wunderlich @ 2020-06-30 8:27 UTC (permalink / raw)
To: davem; +Cc: netdev, b.a.t.m.a.n
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 61d8dbe8c954..42b8d1e76dea 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2020.2"
+#define BATADV_SOURCE_VERSION "2020.3"
#endif
/* B.A.T.M.A.N. parameters */
--
2.20.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2021-02-02 17:40 [PATCH 0/4] pull request for net-next: batman-adv 2021-02-02 Simon Wunderlich
@ 2021-02-02 17:40 ` Simon Wunderlich
2021-02-04 0:33 ` Jakub Kicinski
0 siblings, 1 reply; 18+ messages in thread
From: Simon Wunderlich @ 2021-02-02 17:40 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 288201630ceb..2486efe4ffa6 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2021.0"
+#define BATADV_SOURCE_VERSION "2021.1"
#endif
/* B.A.T.M.A.N. parameters */
--
2.20.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] batman-adv: Start new development cycle
2021-02-02 17:40 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
@ 2021-02-04 0:33 ` Jakub Kicinski
2021-02-04 7:41 ` Sven Eckelmann
0 siblings, 1 reply; 18+ messages in thread
From: Jakub Kicinski @ 2021-02-04 0:33 UTC (permalink / raw)
To: Simon Wunderlich; +Cc: davem, netdev, b.a.t.m.a.n
On Tue, 2 Feb 2021 18:40:33 +0100 Simon Wunderlich wrote:
> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
> ---
> net/batman-adv/main.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
> index 288201630ceb..2486efe4ffa6 100644
> --- a/net/batman-adv/main.h
> +++ b/net/batman-adv/main.h
> @@ -13,7 +13,7 @@
> #define BATADV_DRIVER_DEVICE "batman-adv"
>
> #ifndef BATADV_SOURCE_VERSION
> -#define BATADV_SOURCE_VERSION "2021.0"
> +#define BATADV_SOURCE_VERSION "2021.1"
> #endif
>
> /* B.A.T.M.A.N. parameters */
For just comment adjustments and the sizeof() change?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] batman-adv: Start new development cycle
2021-02-04 0:33 ` Jakub Kicinski
@ 2021-02-04 7:41 ` Sven Eckelmann
0 siblings, 0 replies; 18+ messages in thread
From: Sven Eckelmann @ 2021-02-04 7:41 UTC (permalink / raw)
To: Simon Wunderlich, b.a.t.m.a.n; +Cc: davem, netdev, Jakub Kicinski
[-- Attachment #1: Type: text/plain, Size: 460 bytes --]
On Thursday, 4 February 2021 01:33:02 CET Jakub Kicinski wrote:
[...]
> For just comment adjustments and the sizeof() change?
The process is basically:
1. update the version information for a development period
2. queue up whatever comes in during that time
3. send it to netdev for net-next when it seems to be ready
The first step is not influenced by the 2.+3. step. So the development
effort is not reflected in the version number.
Kind regards,
Sven
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2021-02-08 16:59 [PATCH 0/4] pull request for net-next: batman-adv 2021-02-08 Simon Wunderlich
@ 2021-02-08 16:59 ` Simon Wunderlich
0 siblings, 0 replies; 18+ messages in thread
From: Simon Wunderlich @ 2021-02-08 16:59 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n
This version will contain all the (major or even only minor) changes for
Linux 5.12.
The version number isn't a semantic version number with major and minor
information. It is just encoding the year of the expected publishing as
Linux -rc1 and the number of published versions this year (starting at 0).
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 288201630ceb..2486efe4ffa6 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2021.0"
+#define BATADV_SOURCE_VERSION "2021.1"
#endif
/* B.A.T.M.A.N. parameters */
--
2.20.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2022-03-02 16:35 [PATCH 0/4] pull request for net-next: batman-adv 2022-03-02 Simon Wunderlich
@ 2022-03-02 16:35 ` Simon Wunderlich
2022-03-03 6:10 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Simon Wunderlich @ 2022-03-02 16:35 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n
This version will contain all the (major or even only minor) changes for
Linux 5.18.
The version number isn't a semantic version number with major and minor
information. It is just encoding the year of the expected publishing as
Linux -rc1 and the number of published versions this year (starting at 0).
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 494d1ebecac2..f3be82999f1f 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2022.0"
+#define BATADV_SOURCE_VERSION "2022.1"
#endif
/* B.A.T.M.A.N. parameters */
--
2.30.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] batman-adv: Start new development cycle
2022-03-02 16:35 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
@ 2022-03-03 6:10 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 18+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-03-03 6:10 UTC (permalink / raw)
To: Simon Wunderlich; +Cc: kuba, davem, netdev, b.a.t.m.a.n
Hello:
This series was applied to netdev/net-next.git (master)
by Simon Wunderlich <sw@simonwunderlich.de>:
On Wed, 2 Mar 2022 17:35:19 +0100 you wrote:
> This version will contain all the (major or even only minor) changes for
> Linux 5.18.
>
> The version number isn't a semantic version number with major and minor
> information. It is just encoding the year of the expected publishing as
> Linux -rc1 and the number of published versions this year (starting at 0).
>
> [...]
Here is the summary with links:
- [1/4] batman-adv: Start new development cycle
https://git.kernel.org/netdev/net-next/c/94ea9392e113
- [2/4] batman-adv: Remove redundant 'flush_workqueue()' calls
https://git.kernel.org/netdev/net-next/c/c138f67ad472
- [3/4] batman-adv: Migrate to linux/container_of.h
https://git.kernel.org/netdev/net-next/c/eb7da4f17dfc
- [4/4] batman-adv: Demote batadv-on-batadv skip error message
https://git.kernel.org/netdev/net-next/c/6ee3c393eeb7
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2022-09-16 16:14 [PATCH 0/4] pull request for net-next: batman-adv 2022-09-16 Simon Wunderlich
@ 2022-09-16 16:14 ` Simon Wunderlich
2022-09-20 1:20 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Simon Wunderlich @ 2022-09-16 16:14 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n
This version will contain all the (major or even only minor) changes for
Linux 6.1.
The version number isn't a semantic version number with major and minor
information. It is just encoding the year of the expected publishing as
Linux -rc1 and the number of published versions this year (starting at 0).
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 23f3d53f4b51..c48803b32bb0 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2022.2"
+#define BATADV_SOURCE_VERSION "2022.3"
#endif
/* B.A.T.M.A.N. parameters */
--
2.30.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] batman-adv: Start new development cycle
2022-09-16 16:14 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
@ 2022-09-20 1:20 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 18+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-09-20 1:20 UTC (permalink / raw)
To: Simon Wunderlich; +Cc: kuba, davem, netdev, b.a.t.m.a.n
Hello:
This series was applied to netdev/net-next.git (master)
by Simon Wunderlich <sw@simonwunderlich.de>:
On Fri, 16 Sep 2022 18:14:51 +0200 you wrote:
> This version will contain all the (major or even only minor) changes for
> Linux 6.1.
>
> The version number isn't a semantic version number with major and minor
> information. It is just encoding the year of the expected publishing as
> Linux -rc1 and the number of published versions this year (starting at 0).
>
> [...]
Here is the summary with links:
- [1/4] batman-adv: Start new development cycle
https://git.kernel.org/netdev/net-next/c/ea92882b1fd8
- [2/4] batman-adv: Drop unused headers in trace.h
https://git.kernel.org/netdev/net-next/c/7d315c07eda7
- [3/4] batman-adv: Drop initialization of flexible ethtool_link_ksettings
https://git.kernel.org/netdev/net-next/c/813e62a6fe75
- [4/4] batman-adv: remove unused struct definitions
https://git.kernel.org/netdev/net-next/c/76af7483b3c7
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2024-02-01 11:07 [PATCH 0/4] pull request for net-next: batman-adv 2024-02-01 Simon Wunderlich
@ 2024-02-01 11:07 ` Simon Wunderlich
2024-02-02 12:50 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Simon Wunderlich @ 2024-02-01 11:07 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n, Simon Wunderlich
This version will contain all the (major or even only minor) changes for
Linux 6.9.
The version number isn't a semantic version number with major and minor
information. It is just encoding the year of the expected publishing as
Linux -rc1 and the number of published versions this year (starting at 0).
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 870dcd7f1786..8ca854a75a32 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2024.0"
+#define BATADV_SOURCE_VERSION "2024.1"
#endif
/* B.A.T.M.A.N. parameters */
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] batman-adv: Start new development cycle
2024-02-01 11:07 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
@ 2024-02-02 12:50 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 18+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-02-02 12:50 UTC (permalink / raw)
To: Simon Wunderlich; +Cc: kuba, davem, netdev, b.a.t.m.a.n
Hello:
This series was applied to netdev/net-next.git (main)
by Simon Wunderlich <sw@simonwunderlich.de>:
On Thu, 1 Feb 2024 12:07:53 +0100 you wrote:
> This version will contain all the (major or even only minor) changes for
> Linux 6.9.
>
> The version number isn't a semantic version number with major and minor
> information. It is just encoding the year of the expected publishing as
> Linux -rc1 and the number of published versions this year (starting at 0).
>
> [...]
Here is the summary with links:
- [1/4] batman-adv: Start new development cycle
https://git.kernel.org/netdev/net-next/c/df3fc228dead
- [2/4] batman-adv: Return directly after a failed batadv_dat_select_candidates() in batadv_dat_forward_data()
https://git.kernel.org/netdev/net-next/c/ffc15626c861
- [3/4] batman-adv: Improve exception handling in batadv_throw_uevent()
https://git.kernel.org/netdev/net-next/c/5593e9abf1cf
- [4/4] batman-adv: Drop usage of export.h
https://git.kernel.org/netdev/net-next/c/db60ad8b21ce
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 0/4] pull request for net-next: batman-adv 2024-10-15
@ 2024-10-15 7:39 Simon Wunderlich
2024-10-15 7:39 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
` (3 more replies)
0 siblings, 4 replies; 18+ messages in thread
From: Simon Wunderlich @ 2024-10-15 7:39 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n, Simon Wunderlich
Hi Jakub, hi David,
here is a feature/cleanup pull request of batman-adv to go into net-next.
Please pull or let me know of any problem!
Thank you,
Simon
The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc:
Linux 6.12-rc1 (2024-09-29 15:06:19 -0700)
are available in the Git repository at:
git://git.open-mesh.org/linux-merge.git tags/batadv-next-pullrequest-20241015
for you to fetch changes up to 356c81b6c494a359ed6e25087931acc78c518fb9:
batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback (2024-10-14 09:08:39 +0200)
----------------------------------------------------------------
This cleanup patchset includes the following patches:
- bump version strings, by Simon Wunderlich
- Add flex array to struct batadv_tvlv_tt_data, by Erick Archer
- Use string choice helper to print booleans, by Sven Eckelmann
- replace call_rcu by kfree_rcu for simple kmem_cache_free callback,
by Julia Lawall
----------------------------------------------------------------
Erick Archer (1):
batman-adv: Add flex array to struct batadv_tvlv_tt_data
Julia Lawall (1):
batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback
Simon Wunderlich (1):
batman-adv: Start new development cycle
Sven Eckelmann (1):
batman-adv: Use string choice helper to print booleans
include/uapi/linux/batadv_packet.h | 29 +++++-----
net/batman-adv/bat_iv_ogm.c | 4 +-
net/batman-adv/bridge_loop_avoidance.c | 8 +--
net/batman-adv/main.h | 2 +-
net/batman-adv/translation-table.c | 96 ++++++++--------------------------
5 files changed, 46 insertions(+), 93 deletions(-)
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/4] batman-adv: Start new development cycle
2024-10-15 7:39 [PATCH 0/4] pull request for net-next: batman-adv 2024-10-15 Simon Wunderlich
@ 2024-10-15 7:39 ` Simon Wunderlich
2024-10-15 13:40 ` patchwork-bot+netdevbpf
2024-10-15 7:39 ` [PATCH 2/4] batman-adv: Add flex array to struct batadv_tvlv_tt_data Simon Wunderlich
` (2 subsequent siblings)
3 siblings, 1 reply; 18+ messages in thread
From: Simon Wunderlich @ 2024-10-15 7:39 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n, Simon Wunderlich
This version will contain all the (major or even only minor) changes for
Linux 6.13.
The version number isn't a semantic version number with major and minor
information. It is just encoding the year of the expected publishing as
Linux -rc1 and the number of published versions this year (starting at 0).
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 3d4c36ae2e1a..97ea71a052f8 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -13,7 +13,7 @@
#define BATADV_DRIVER_DEVICE "batman-adv"
#ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2024.2"
+#define BATADV_SOURCE_VERSION "2024.3"
#endif
/* B.A.T.M.A.N. parameters */
--
2.39.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/4] batman-adv: Add flex array to struct batadv_tvlv_tt_data
2024-10-15 7:39 [PATCH 0/4] pull request for net-next: batman-adv 2024-10-15 Simon Wunderlich
2024-10-15 7:39 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
@ 2024-10-15 7:39 ` Simon Wunderlich
2024-10-15 7:39 ` [PATCH 3/4] batman-adv: Use string choice helper to print booleans Simon Wunderlich
2024-10-15 7:39 ` [PATCH 4/4] batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback Simon Wunderlich
3 siblings, 0 replies; 18+ messages in thread
From: Simon Wunderlich @ 2024-10-15 7:39 UTC (permalink / raw)
To: kuba, davem
Cc: netdev, b.a.t.m.a.n, Erick Archer, Kees Cook, Sven Eckelmann,
Simon Wunderlich
From: Erick Archer <erick.archer@outlook.com>
The "struct batadv_tvlv_tt_data" uses a dynamically sized set of
trailing elements. Specifically, it uses an array of structures of type
"batadv_tvlv_tt_vlan_data". So, use the preferred way in the kernel
declaring a flexible array [1].
At the same time, prepare for the coming implementation by GCC and Clang
of the __counted_by attribute. Flexible array members annotated with
__counted_by can have their accesses bounds-checked at run-time via
CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE (for
strcpy/memcpy-family functions). In this case, it is important to note
that the attribute used is specifically __counted_by_be since variable
"num_vlan" is of type __be16.
The following change to the "batadv_tt_tvlv_ogm_handler_v1" function:
- tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(tt_data + 1);
- tt_change = (struct batadv_tvlv_tt_change *)(tt_vlan + num_vlan);
+ tt_change = (struct batadv_tvlv_tt_change *)((void *)tt_data
+ + flex_size);
is intended to prevent the compiler from generating an "out-of-bounds"
notification due to the __counted_by attribute. The compiler can do a
pointer calculation using the vlan_data flexible array memory, or in
other words, this may be calculated as an array offset, since it is the
same as:
&tt_data->vlan_data[num_vlan]
Therefore, we go past the end of the array. In other "multiple trailing
flexible array" situations, this has been solved by addressing from the
base pointer, since the compiler either knows the full allocation size
or it knows nothing about it (this case, since it came from a "void *"
function argument).
The order in which the structure batadv_tvlv_tt_data and the structure
batadv_tvlv_tt_vlan_data are defined must be swap to avoid an incomplete
type error.
Also, avoid the open-coded arithmetic in memory allocator functions [2]
using the "struct_size" macro and use the "flex_array_size" helper to
clarify some calculations, when possible.
Moreover, the new structure member also allow us to avoid the open-coded
arithmetic on pointers in some situations. Take advantage of this.
This code was detected with the help of Coccinelle, and audited and
modified manually.
Link: https://www.kernel.org/doc/html/next/process/deprecated.html#zero-length-and-one-element-arrays [1]
Link: https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments [2]
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Erick Archer <erick.archer@outlook.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
include/uapi/linux/batadv_packet.h | 29 ++++++++++--------
net/batman-adv/translation-table.c | 49 ++++++++++++------------------
2 files changed, 36 insertions(+), 42 deletions(-)
diff --git a/include/uapi/linux/batadv_packet.h b/include/uapi/linux/batadv_packet.h
index 6e25753015df..439132a819ea 100644
--- a/include/uapi/linux/batadv_packet.h
+++ b/include/uapi/linux/batadv_packet.h
@@ -9,6 +9,7 @@
#include <asm/byteorder.h>
#include <linux/if_ether.h>
+#include <linux/stddef.h>
#include <linux/types.h>
/**
@@ -592,19 +593,6 @@ struct batadv_tvlv_gateway_data {
__be32 bandwidth_up;
};
-/**
- * struct batadv_tvlv_tt_data - tt data propagated through the tt tvlv container
- * @flags: translation table flags (see batadv_tt_data_flags)
- * @ttvn: translation table version number
- * @num_vlan: number of announced VLANs. In the TVLV this struct is followed by
- * one batadv_tvlv_tt_vlan_data object per announced vlan
- */
-struct batadv_tvlv_tt_data {
- __u8 flags;
- __u8 ttvn;
- __be16 num_vlan;
-};
-
/**
* struct batadv_tvlv_tt_vlan_data - vlan specific tt data propagated through
* the tt tvlv container
@@ -618,6 +606,21 @@ struct batadv_tvlv_tt_vlan_data {
__u16 reserved;
};
+/**
+ * struct batadv_tvlv_tt_data - tt data propagated through the tt tvlv container
+ * @flags: translation table flags (see batadv_tt_data_flags)
+ * @ttvn: translation table version number
+ * @num_vlan: number of announced VLANs. In the TVLV this struct is followed by
+ * one batadv_tvlv_tt_vlan_data object per announced vlan
+ * @vlan_data: array of batadv_tvlv_tt_vlan_data objects
+ */
+struct batadv_tvlv_tt_data {
+ __u8 flags;
+ __u8 ttvn;
+ __be16 num_vlan;
+ struct batadv_tvlv_tt_vlan_data vlan_data[] __counted_by_be(num_vlan);
+};
+
/**
* struct batadv_tvlv_tt_change - translation table diff data
* @flags: status indicators concerning the non-mesh client (see
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 2243cec18ecc..6815d1262feb 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -28,6 +28,7 @@
#include <linux/net.h>
#include <linux/netdevice.h>
#include <linux/netlink.h>
+#include <linux/overflow.h>
#include <linux/rculist.h>
#include <linux/rcupdate.h>
#include <linux/skbuff.h>
@@ -856,8 +857,7 @@ batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node,
num_entries += atomic_read(&vlan->tt.num_entries);
}
- change_offset = sizeof(**tt_data);
- change_offset += num_vlan * sizeof(*tt_vlan);
+ change_offset = struct_size(*tt_data, vlan_data, num_vlan);
/* if tt_len is negative, allocate the space needed by the full table */
if (*tt_len < 0)
@@ -876,7 +876,7 @@ batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node,
(*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn);
(*tt_data)->num_vlan = htons(num_vlan);
- tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(*tt_data + 1);
+ tt_vlan = (*tt_data)->vlan_data;
hlist_for_each_entry(vlan, &orig_node->vlan_list, list) {
tt_vlan->vid = htons(vlan->vid);
tt_vlan->crc = htonl(vlan->tt.crc);
@@ -936,8 +936,7 @@ batadv_tt_prepare_tvlv_local_data(struct batadv_priv *bat_priv,
total_entries += vlan_entries;
}
- change_offset = sizeof(**tt_data);
- change_offset += num_vlan * sizeof(*tt_vlan);
+ change_offset = struct_size(*tt_data, vlan_data, num_vlan);
/* if tt_len is negative, allocate the space needed by the full table */
if (*tt_len < 0)
@@ -956,7 +955,7 @@ batadv_tt_prepare_tvlv_local_data(struct batadv_priv *bat_priv,
(*tt_data)->ttvn = atomic_read(&bat_priv->tt.vn);
(*tt_data)->num_vlan = htons(num_vlan);
- tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(*tt_data + 1);
+ tt_vlan = (*tt_data)->vlan_data;
hlist_for_each_entry(vlan, &bat_priv->softif_vlan_list, list) {
vlan_entries = atomic_read(&vlan->tt.num_entries);
if (vlan_entries < 1)
@@ -2916,7 +2915,6 @@ static bool batadv_send_tt_request(struct batadv_priv *bat_priv,
{
struct batadv_tvlv_tt_data *tvlv_tt_data = NULL;
struct batadv_tt_req_node *tt_req_node = NULL;
- struct batadv_tvlv_tt_vlan_data *tt_vlan_req;
struct batadv_hard_iface *primary_if;
bool ret = false;
int i, size;
@@ -2932,7 +2930,7 @@ static bool batadv_send_tt_request(struct batadv_priv *bat_priv,
if (!tt_req_node)
goto out;
- size = sizeof(*tvlv_tt_data) + sizeof(*tt_vlan_req) * num_vlan;
+ size = struct_size(tvlv_tt_data, vlan_data, num_vlan);
tvlv_tt_data = kzalloc(size, GFP_ATOMIC);
if (!tvlv_tt_data)
goto out;
@@ -2944,12 +2942,10 @@ static bool batadv_send_tt_request(struct batadv_priv *bat_priv,
/* send all the CRCs within the request. This is needed by intermediate
* nodes to ensure they have the correct table before replying
*/
- tt_vlan_req = (struct batadv_tvlv_tt_vlan_data *)(tvlv_tt_data + 1);
for (i = 0; i < num_vlan; i++) {
- tt_vlan_req->vid = tt_vlan->vid;
- tt_vlan_req->crc = tt_vlan->crc;
+ tvlv_tt_data->vlan_data[i].vid = tt_vlan->vid;
+ tvlv_tt_data->vlan_data[i].crc = tt_vlan->crc;
- tt_vlan_req++;
tt_vlan++;
}
@@ -3001,7 +2997,6 @@ static bool batadv_send_other_tt_response(struct batadv_priv *bat_priv,
struct batadv_orig_node *res_dst_orig_node = NULL;
struct batadv_tvlv_tt_change *tt_change;
struct batadv_tvlv_tt_data *tvlv_tt_data = NULL;
- struct batadv_tvlv_tt_vlan_data *tt_vlan;
bool ret = false, full_table;
u8 orig_ttvn, req_ttvn;
u16 tvlv_len;
@@ -3024,10 +3019,9 @@ static bool batadv_send_other_tt_response(struct batadv_priv *bat_priv,
orig_ttvn = (u8)atomic_read(&req_dst_orig_node->last_ttvn);
req_ttvn = tt_data->ttvn;
- tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(tt_data + 1);
/* this node doesn't have the requested data */
if (orig_ttvn != req_ttvn ||
- !batadv_tt_global_check_crc(req_dst_orig_node, tt_vlan,
+ !batadv_tt_global_check_crc(req_dst_orig_node, tt_data->vlan_data,
ntohs(tt_data->num_vlan)))
goto out;
@@ -3370,7 +3364,6 @@ static void batadv_handle_tt_response(struct batadv_priv *bat_priv,
struct batadv_orig_node *orig_node = NULL;
struct batadv_tvlv_tt_change *tt_change;
u8 *tvlv_ptr = (u8 *)tt_data;
- u16 change_offset;
batadv_dbg(BATADV_DBG_TT, bat_priv,
"Received TT_RESPONSE from %pM for ttvn %d t_size: %d [%c]\n",
@@ -3383,10 +3376,7 @@ static void batadv_handle_tt_response(struct batadv_priv *bat_priv,
spin_lock_bh(&orig_node->tt_lock);
- change_offset = sizeof(struct batadv_tvlv_tt_vlan_data);
- change_offset *= ntohs(tt_data->num_vlan);
- change_offset += sizeof(*tt_data);
- tvlv_ptr += change_offset;
+ tvlv_ptr += struct_size(tt_data, vlan_data, ntohs(tt_data->num_vlan));
tt_change = (struct batadv_tvlv_tt_change *)tvlv_ptr;
if (tt_data->flags & BATADV_TT_FULL_TABLE) {
@@ -3985,10 +3975,10 @@ static void batadv_tt_tvlv_ogm_handler_v1(struct batadv_priv *bat_priv,
u8 flags, void *tvlv_value,
u16 tvlv_value_len)
{
- struct batadv_tvlv_tt_vlan_data *tt_vlan;
struct batadv_tvlv_tt_change *tt_change;
struct batadv_tvlv_tt_data *tt_data;
u16 num_entries, num_vlan;
+ size_t flex_size;
if (tvlv_value_len < sizeof(*tt_data))
return;
@@ -3998,17 +3988,18 @@ static void batadv_tt_tvlv_ogm_handler_v1(struct batadv_priv *bat_priv,
num_vlan = ntohs(tt_data->num_vlan);
- if (tvlv_value_len < sizeof(*tt_vlan) * num_vlan)
+ flex_size = flex_array_size(tt_data, vlan_data, num_vlan);
+ if (tvlv_value_len < flex_size)
return;
- tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(tt_data + 1);
- tt_change = (struct batadv_tvlv_tt_change *)(tt_vlan + num_vlan);
- tvlv_value_len -= sizeof(*tt_vlan) * num_vlan;
+ tt_change = (struct batadv_tvlv_tt_change *)((void *)tt_data
+ + flex_size);
+ tvlv_value_len -= flex_size;
num_entries = batadv_tt_entries(tvlv_value_len);
- batadv_tt_update_orig(bat_priv, orig, tt_vlan, num_vlan, tt_change,
- num_entries, tt_data->ttvn);
+ batadv_tt_update_orig(bat_priv, orig, tt_data->vlan_data, num_vlan,
+ tt_change, num_entries, tt_data->ttvn);
}
/**
@@ -4039,8 +4030,8 @@ static int batadv_tt_tvlv_unicast_handler_v1(struct batadv_priv *bat_priv,
tt_data = tvlv_value;
tvlv_value_len -= sizeof(*tt_data);
- tt_vlan_len = sizeof(struct batadv_tvlv_tt_vlan_data);
- tt_vlan_len *= ntohs(tt_data->num_vlan);
+ tt_vlan_len = flex_array_size(tt_data, vlan_data,
+ ntohs(tt_data->num_vlan));
if (tvlv_value_len < tt_vlan_len)
return NET_RX_SUCCESS;
--
2.39.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/4] batman-adv: Use string choice helper to print booleans
2024-10-15 7:39 [PATCH 0/4] pull request for net-next: batman-adv 2024-10-15 Simon Wunderlich
2024-10-15 7:39 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2024-10-15 7:39 ` [PATCH 2/4] batman-adv: Add flex array to struct batadv_tvlv_tt_data Simon Wunderlich
@ 2024-10-15 7:39 ` Simon Wunderlich
2024-10-15 7:39 ` [PATCH 4/4] batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback Simon Wunderlich
3 siblings, 0 replies; 18+ messages in thread
From: Simon Wunderlich @ 2024-10-15 7:39 UTC (permalink / raw)
To: kuba, davem; +Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Simon Wunderlich
From: Sven Eckelmann <sven@narfation.org>
The commit ea4692c75e1c ("lib/string_helpers: Consolidate string helpers
implementation") introduced common helpers to print string representations
of boolean helpers. These are supposed to be used instead of open coded
versions.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/bat_iv_ogm.c | 4 ++--
net/batman-adv/bridge_loop_avoidance.c | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index 74b49c35ddc1..07ae5dd1f150 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -36,6 +36,7 @@
#include <linux/spinlock.h>
#include <linux/stddef.h>
#include <linux/string.h>
+#include <linux/string_choices.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#include <net/genetlink.h>
@@ -371,8 +372,7 @@ static void batadv_iv_ogm_send_to_if(struct batadv_forw_packet *forw_packet,
batadv_ogm_packet->orig,
ntohl(batadv_ogm_packet->seqno),
batadv_ogm_packet->tq, batadv_ogm_packet->ttl,
- ((batadv_ogm_packet->flags & BATADV_DIRECTLINK) ?
- "on" : "off"),
+ str_on_off(batadv_ogm_packet->flags & BATADV_DIRECTLINK),
hard_iface->net_dev->name,
hard_iface->net_dev->dev_addr);
diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 5f46ca3d4bb8..449faf5a5487 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -33,6 +33,7 @@
#include <linux/sprintf.h>
#include <linux/stddef.h>
#include <linux/string.h>
+#include <linux/string_choices.h>
#include <linux/workqueue.h>
#include <net/arp.h>
#include <net/genetlink.h>
@@ -1946,16 +1947,15 @@ bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb,
claim = batadv_claim_hash_find(bat_priv, &search_claim);
if (!claim) {
+ bool local = batadv_is_my_client(bat_priv, ethhdr->h_source, vid);
+
/* possible optimization: race for a claim */
/* No claim exists yet, claim it for us!
*/
batadv_dbg(BATADV_DBG_BLA, bat_priv,
"%s(): Unclaimed MAC %pM found. Claim it. Local: %s\n",
- __func__, ethhdr->h_source,
- batadv_is_my_client(bat_priv,
- ethhdr->h_source, vid) ?
- "yes" : "no");
+ __func__, ethhdr->h_source, str_yes_no(local));
batadv_handle_claim(bat_priv, primary_if,
primary_if->net_dev->dev_addr,
ethhdr->h_source, vid);
--
2.39.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 4/4] batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback
2024-10-15 7:39 [PATCH 0/4] pull request for net-next: batman-adv 2024-10-15 Simon Wunderlich
` (2 preceding siblings ...)
2024-10-15 7:39 ` [PATCH 3/4] batman-adv: Use string choice helper to print booleans Simon Wunderlich
@ 2024-10-15 7:39 ` Simon Wunderlich
3 siblings, 0 replies; 18+ messages in thread
From: Simon Wunderlich @ 2024-10-15 7:39 UTC (permalink / raw)
To: kuba, davem
Cc: netdev, b.a.t.m.a.n, Julia Lawall, Sven Eckelmann,
Simon Wunderlich
From: Julia Lawall <Julia.Lawall@inria.fr>
Since SLOB was removed and since
commit 6c6c47b063b5 ("mm, slab: call kvfree_rcu_barrier() from kmem_cache_destroy()"),
it is not necessary to use call_rcu when the callback only performs
kmem_cache_free. Use kfree_rcu() directly.
The changes were made using Coccinelle.
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
net/batman-adv/translation-table.c | 47 ++----------------------------
1 file changed, 3 insertions(+), 44 deletions(-)
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 6815d1262feb..b44c382226a1 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -209,20 +209,6 @@ batadv_tt_global_hash_find(struct batadv_priv *bat_priv, const u8 *addr,
return tt_global_entry;
}
-/**
- * batadv_tt_local_entry_free_rcu() - free the tt_local_entry
- * @rcu: rcu pointer of the tt_local_entry
- */
-static void batadv_tt_local_entry_free_rcu(struct rcu_head *rcu)
-{
- struct batadv_tt_local_entry *tt_local_entry;
-
- tt_local_entry = container_of(rcu, struct batadv_tt_local_entry,
- common.rcu);
-
- kmem_cache_free(batadv_tl_cache, tt_local_entry);
-}
-
/**
* batadv_tt_local_entry_release() - release tt_local_entry from lists and queue
* for free after rcu grace period
@@ -237,7 +223,7 @@ static void batadv_tt_local_entry_release(struct kref *ref)
batadv_softif_vlan_put(tt_local_entry->vlan);
- call_rcu(&tt_local_entry->common.rcu, batadv_tt_local_entry_free_rcu);
+ kfree_rcu(tt_local_entry, common.rcu);
}
/**
@@ -255,20 +241,6 @@ batadv_tt_local_entry_put(struct batadv_tt_local_entry *tt_local_entry)
batadv_tt_local_entry_release);
}
-/**
- * batadv_tt_global_entry_free_rcu() - free the tt_global_entry
- * @rcu: rcu pointer of the tt_global_entry
- */
-static void batadv_tt_global_entry_free_rcu(struct rcu_head *rcu)
-{
- struct batadv_tt_global_entry *tt_global_entry;
-
- tt_global_entry = container_of(rcu, struct batadv_tt_global_entry,
- common.rcu);
-
- kmem_cache_free(batadv_tg_cache, tt_global_entry);
-}
-
/**
* batadv_tt_global_entry_release() - release tt_global_entry from lists and
* queue for free after rcu grace period
@@ -283,7 +255,7 @@ void batadv_tt_global_entry_release(struct kref *ref)
batadv_tt_global_del_orig_list(tt_global_entry);
- call_rcu(&tt_global_entry->common.rcu, batadv_tt_global_entry_free_rcu);
+ kfree_rcu(tt_global_entry, common.rcu);
}
/**
@@ -408,19 +380,6 @@ static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node,
batadv_tt_global_size_mod(orig_node, vid, -1);
}
-/**
- * batadv_tt_orig_list_entry_free_rcu() - free the orig_entry
- * @rcu: rcu pointer of the orig_entry
- */
-static void batadv_tt_orig_list_entry_free_rcu(struct rcu_head *rcu)
-{
- struct batadv_tt_orig_list_entry *orig_entry;
-
- orig_entry = container_of(rcu, struct batadv_tt_orig_list_entry, rcu);
-
- kmem_cache_free(batadv_tt_orig_cache, orig_entry);
-}
-
/**
* batadv_tt_orig_list_entry_release() - release tt orig entry from lists and
* queue for free after rcu grace period
@@ -434,7 +393,7 @@ static void batadv_tt_orig_list_entry_release(struct kref *ref)
refcount);
batadv_orig_node_put(orig_entry->orig_node);
- call_rcu(&orig_entry->rcu, batadv_tt_orig_list_entry_free_rcu);
+ kfree_rcu(orig_entry, rcu);
}
/**
--
2.39.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] batman-adv: Start new development cycle
2024-10-15 7:39 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
@ 2024-10-15 13:40 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 18+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-10-15 13:40 UTC (permalink / raw)
To: Simon Wunderlich; +Cc: kuba, davem, netdev, b.a.t.m.a.n
Hello:
This series was applied to netdev/net-next.git (main)
by Simon Wunderlich <sw@simonwunderlich.de>:
On Tue, 15 Oct 2024 09:39:43 +0200 you wrote:
> This version will contain all the (major or even only minor) changes for
> Linux 6.13.
>
> The version number isn't a semantic version number with major and minor
> information. It is just encoding the year of the expected publishing as
> Linux -rc1 and the number of published versions this year (starting at 0).
>
> [...]
Here is the summary with links:
- [1/4] batman-adv: Start new development cycle
https://git.kernel.org/netdev/net-next/c/0f4e6f947600
- [2/4] batman-adv: Add flex array to struct batadv_tvlv_tt_data
https://git.kernel.org/netdev/net-next/c/4436df478860
- [3/4] batman-adv: Use string choice helper to print booleans
https://git.kernel.org/netdev/net-next/c/5c956d11cfca
- [4/4] batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback
https://git.kernel.org/netdev/net-next/c/356c81b6c494
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-10-15 13:54 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-15 7:39 [PATCH 0/4] pull request for net-next: batman-adv 2024-10-15 Simon Wunderlich
2024-10-15 7:39 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2024-10-15 13:40 ` patchwork-bot+netdevbpf
2024-10-15 7:39 ` [PATCH 2/4] batman-adv: Add flex array to struct batadv_tvlv_tt_data Simon Wunderlich
2024-10-15 7:39 ` [PATCH 3/4] batman-adv: Use string choice helper to print booleans Simon Wunderlich
2024-10-15 7:39 ` [PATCH 4/4] batman-adv: replace call_rcu by kfree_rcu for simple kmem_cache_free callback Simon Wunderlich
-- strict thread matches above, loose matches on Subject: below --
2024-02-01 11:07 [PATCH 0/4] pull request for net-next: batman-adv 2024-02-01 Simon Wunderlich
2024-02-01 11:07 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2024-02-02 12:50 ` patchwork-bot+netdevbpf
2022-09-16 16:14 [PATCH 0/4] pull request for net-next: batman-adv 2022-09-16 Simon Wunderlich
2022-09-16 16:14 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2022-09-20 1:20 ` patchwork-bot+netdevbpf
2022-03-02 16:35 [PATCH 0/4] pull request for net-next: batman-adv 2022-03-02 Simon Wunderlich
2022-03-02 16:35 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2022-03-03 6:10 ` patchwork-bot+netdevbpf
2021-02-08 16:59 [PATCH 0/4] pull request for net-next: batman-adv 2021-02-08 Simon Wunderlich
2021-02-08 16:59 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2021-02-02 17:40 [PATCH 0/4] pull request for net-next: batman-adv 2021-02-02 Simon Wunderlich
2021-02-02 17:40 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2021-02-04 0:33 ` Jakub Kicinski
2021-02-04 7:41 ` Sven Eckelmann
2020-06-30 8:27 [PATCH 0/4] pull request for net-next: batman-adv 2020-06-26 Simon Wunderlich
2020-06-30 8:27 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
2019-08-08 13:06 [PATCH 0/4] pull request for net-next: batman-adv 2019-08-08 Simon Wunderlich
2019-08-08 13:06 ` [PATCH 1/4] batman-adv: Start new development cycle Simon Wunderlich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).