summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ward <david.ward@ll.mit.edu>2012-04-09 04:13:53 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-13 13:10:33 -0400
commit6f66cdc3e5d3d5ccbb7ee9265b8211cdc24aa401 (patch)
tree50209599d03eb7e4a086e7eb396dae4d0ae452de
parent9d02daf754238adac48fa075ee79e7edd3d79ed3 (diff)
downloadlinux-stable-6f66cdc3e5d3d5ccbb7ee9265b8211cdc24aa401.tar.gz
linux-stable-6f66cdc3e5d3d5ccbb7ee9265b8211cdc24aa401.tar.bz2
linux-stable-6f66cdc3e5d3d5ccbb7ee9265b8211cdc24aa401.zip
net/garp: fix GID rbtree ordering
The comparison operators were backwards in both garp_attr_lookup and garp_attr_create, so the entire GID rbtree was in reverse order. (There was no practical side effect to this though, except that PDUs were sent with attributes listed in reverse order, which is still valid by the protocol. This change is only for clarity.) Signed-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/802/garp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/802/garp.c b/net/802/garp.c
index a5c224830439..8456f5d98b85 100644
--- a/net/802/garp.c
+++ b/net/802/garp.c
@@ -157,9 +157,9 @@ static struct garp_attr *garp_attr_lookup(const struct garp_applicant *app,
while (parent) {
attr = rb_entry(parent, struct garp_attr, node);
d = garp_attr_cmp(attr, data, len, type);
- if (d < 0)
+ if (d > 0)
parent = parent->rb_left;
- else if (d > 0)
+ else if (d < 0)
parent = parent->rb_right;
else
return attr;
@@ -178,9 +178,9 @@ static struct garp_attr *garp_attr_create(struct garp_applicant *app,
parent = *p;
attr = rb_entry(parent, struct garp_attr, node);
d = garp_attr_cmp(attr, data, len, type);
- if (d < 0)
+ if (d > 0)
p = &parent->rb_left;
- else if (d > 0)
+ else if (d < 0)
p = &parent->rb_right;
else {
/* The attribute already exists; re-use it. */