diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2021-10-08 11:13:17 -0300 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2021-10-08 11:13:17 -0300 |
| commit | 47e7dd34a26def31af352df3a8281e7ff1bc345a (patch) | |
| tree | f8cbd86ce126d65f79bca2ceefbaea6130923e1b /net/core/dev_addr_lists.c | |
| parent | perf srcline: Use long-running addr2line per DSO (diff) | |
| parent | Merge tag 'nfsd-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/... (diff) | |
| download | linux-47e7dd34a26def31af352df3a8281e7ff1bc345a.tar.gz linux-47e7dd34a26def31af352df3a8281e7ff1bc345a.zip | |
Merge remote-tracking branch 'torvalds/master' into perf/core
To pick up the fixes in perf/urgent that were just merged into upstream.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'net/core/dev_addr_lists.c')
| -rw-r--r-- | net/core/dev_addr_lists.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/core/dev_addr_lists.c b/net/core/dev_addr_lists.c index 8c39283c26ae..f0cb38344126 100644 --- a/net/core/dev_addr_lists.c +++ b/net/core/dev_addr_lists.c @@ -50,6 +50,11 @@ static int __hw_addr_add_ex(struct netdev_hw_addr_list *list, if (addr_len > MAX_ADDR_LEN) return -EINVAL; + ha = list_first_entry(&list->list, struct netdev_hw_addr, list); + if (ha && !memcmp(addr, ha->addr, addr_len) && + (!addr_type || addr_type == ha->type)) + goto found_it; + while (*ins_point) { int diff; @@ -64,6 +69,7 @@ static int __hw_addr_add_ex(struct netdev_hw_addr_list *list, } else if (diff > 0) { ins_point = &parent->rb_right; } else { +found_it: if (exclusive) return -EEXIST; if (global) { |
