diff --git a/net/netfilter/xt_iprange.c b/net/netfilter/xt_iprange.c
index dbea0e0893f3..01035fc0e140 100644
--- a/net/netfilter/xt_iprange.c
+++ b/net/netfilter/xt_iprange.c
@@ -101,7 +101,7 @@ iprange_ipv6_sub(const struct in6_addr *a, const struct in6_addr *b)
 	int r;
 
 	for (i = 0; i < 4; ++i) {
-		r = a->s6_addr32[i] - b->s6_addr32[i];
+		r = (__force u32)a->s6_addr32[i] - (__force u32)b->s6_addr32[i];
 		if (r != 0)
 			return r;
 	}