diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2022-06-28 12:08:31 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-06-30 05:37:36 +0200 |
commit | 3eb4a4c3442c0642feaf466ecf6fe3cfb4af2c43 (patch) | |
tree | 155f961c5f204a7a1264adadfc18011532ba26bf | |
parent | Merge branch 'net-dsa-add-pause-stats-support' (diff) | |
download | linux-3eb4a4c3442c0642feaf466ecf6fe3cfb4af2c43.tar.xz linux-3eb4a4c3442c0642feaf466ecf6fe3cfb4af2c43.zip |
net: switchdev: add reminder near struct switchdev_notifier_fdb_info
br_switchdev_fdb_notify() creates an on-stack FDB info variable, and
initializes it member by member. As such, newly added fields which are
not initialized by br_switchdev_fdb_notify() will contain junk bytes
from the stack.
Other uses of struct switchdev_notifier_fdb_info have a struct
initializer which should put zeroes in the uninitialized fields.
Add a reminder above the structure for future developers. Recently
discussed during review.
Link: https://patchwork.kernel.org/project/netdevbpf/patch/20220524152144.40527-2-schultz.hans+netdev@gmail.com/#24877698
Link: https://patchwork.kernel.org/project/netdevbpf/patch/20220524152144.40527-3-schultz.hans+netdev@gmail.com/#24912269
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://lore.kernel.org/r/20220628100831.2899434-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | include/net/switchdev.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/net/switchdev.h b/include/net/switchdev.h index aa0171d5786d..7dcdc97c0bc3 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -239,6 +239,9 @@ struct switchdev_notifier_info { const void *ctx; }; +/* Remember to update br_switchdev_fdb_populate() when adding + * new members to this structure + */ struct switchdev_notifier_fdb_info { struct switchdev_notifier_info info; /* must be first */ const unsigned char *addr; |