The bridge driver currently tolerates options that it does not recognize.
Instead, it should bounce them.

Fixes: a428afe82f98 ("net: bridge: add support for user-controlled bool 
options")
Signed-off-by: Petr Machata <pe...@nvidia.com>
Reviewed-by: Ido Schimmel <ido...@nvidia.com>
---
 net/bridge/br.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/net/bridge/br.c b/net/bridge/br.c
index 4bfaf543835a..512872a2ef81 100644
--- a/net/bridge/br.c
+++ b/net/bridge/br.c
@@ -346,6 +346,13 @@ int br_boolopt_multi_toggle(struct net_bridge *br,
        int err = 0;
        int opt_id;
 
+       opt_id = find_next_bit(&bitmap, BITS_PER_LONG, BR_BOOLOPT_MAX);
+       if (opt_id != BITS_PER_LONG) {
+               NL_SET_ERR_MSG_FMT_MOD(extack, "Unknown boolean option %d",
+                                      opt_id);
+               return -EINVAL;
+       }
+
        for_each_set_bit(opt_id, &bitmap, BR_BOOLOPT_MAX) {
                bool on = !!(bm->optval & BIT(opt_id));
 
-- 
2.49.0


Reply via email to