summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Nørlund <pch@ordbogen.com>2015-10-06 07:24:47 +0200
committerDavid S. Miller <davem@davemloft.net>2015-10-06 08:48:09 +0200
commit0a837fe4724713ef701e47d6bfab98a5efaff3eb (patch)
tree8732e87e93a53f5e54e728b72fc7280903f5fbac
parentebpf: include perf_event only where really needed (diff)
downloadlinux-0a837fe4724713ef701e47d6bfab98a5efaff3eb.tar.xz
linux-0a837fe4724713ef701e47d6bfab98a5efaff3eb.zip
ipv4: Fix compilation errors in fib_rebalance
This fixes net/built-in.o: In function `fib_rebalance': fib_semantics.c:(.text+0x9df14): undefined reference to `__divdi3' and net/built-in.o: In function `fib_rebalance': net/ipv4/fib_semantics.c:572: undefined reference to `__aeabi_ldivmod' Fixes: 0e884c78ee19 ("ipv4: L3 hash-based multipath") Signed-off-by: Peter Nørlund <pch@ordbogen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/fib_semantics.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 0c49d2f3bbc0..7bd698c3bd3a 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -569,8 +569,8 @@ static void fib_rebalance(struct fib_info *fi)
upper_bound = -1;
} else {
w += nexthop_nh->nh_weight;
- upper_bound = DIV_ROUND_CLOSEST(2147483648LL * w,
- total) - 1;
+ upper_bound = DIV_ROUND_CLOSEST_ULL((u64)w << 31,
+ total) - 1;
}
atomic_set(&nexthop_nh->nh_upper_bound, upper_bound);