diff options
| author | Petr Machata <petrm@nvidia.com> | 2025-09-05 13:12:33 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-09-19 16:32:06 +0200 |
| commit | 5e84e18f6727fd1d2db1c15d80d27484efbb1247 (patch) | |
| tree | 20a69b806b7b73f4e3ad6e263cdf60170aad5d30 /net | |
| parent | fe78891f296ac05bf4e5295c9829ef822f3c32e7 (diff) | |
| download | linux-5e84e18f6727fd1d2db1c15d80d27484efbb1247.tar.gz linux-5e84e18f6727fd1d2db1c15d80d27484efbb1247.tar.bz2 linux-5e84e18f6727fd1d2db1c15d80d27484efbb1247.zip | |
net: bridge: Bounce invalid boolopts
[ Upstream commit 8625f5748fea960d2af4f3c3e9891ee8f6f80906 ]
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 <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/e6fdca3b5a8d54183fbda075daffef38bdd7ddce.1757070067.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/bridge/br.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/bridge/br.c b/net/bridge/br.c index a6e94ceb7c9a..a45db6719722 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c @@ -312,6 +312,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)); |
