diff options
author | Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp> | 2016-08-04 11:11:19 +0900 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-08-09 21:42:44 -0700 |
commit | 7bb90c3715a496c650b2e879225030f9dd9cfafb (patch) | |
tree | 21e9961ec303a730ac0bef04661e4638e5dd2fe2 /usr | |
parent | 836384d2501dee87b1c437f3e268871980c857bf (diff) | |
download | op-kernel-dev-7bb90c3715a496c650b2e879225030f9dd9cfafb.zip op-kernel-dev-7bb90c3715a496c650b2e879225030f9dd9cfafb.tar.gz |
bridge: Fix problems around fdb entries pointing to the bridge device
Adding fdb entries pointing to the bridge device uses fdb_insert(),
which lacks various checks and does not respect added_by_user flag.
As a result, some inconsistent behavior can happen:
* Adding temporary entries succeeds but results in permanent entries.
* Same goes for "dynamic" and "use".
* Changing mac address of the bridge device causes deletion of
user-added entries.
* Replacing existing entries looks successful from userspace but actually
not, regardless of NLM_F_EXCL flag.
Use the same logic as other entries and fix them.
Fixes: 3741873b4f73 ("bridge: allow adding of fdb entries pointing to the bridge device")
Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions