diff -drupN a/net/ipv4/fou.c b/net/ipv4/fou.c
--- a/net/ipv4/fou.c	2018-08-06 17:23:04.000000000 +0300
+++ b/net/ipv4/fou.c	2022-06-12 05:28:14.000000000 +0300
@@ -244,7 +244,11 @@ static struct sk_buff **fou_gro_receive(
 	NAPI_GRO_CB(skb)->is_fou = 1;
 
 	rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
 	offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+	offloads = inet_offloads;
+#endif
 	ops = rcu_dereference(offloads[proto]);
 	if (!ops || !ops->callbacks.gro_receive)
 		goto out_unlock;
@@ -266,7 +270,11 @@ static int fou_gro_complete(struct sock
 	const struct net_offload **offloads;
 
 	rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
 	offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+	offloads = inet_offloads;
+#endif
 	ops = rcu_dereference(offloads[proto]);
 	if (WARN_ON(!ops || !ops->callbacks.gro_complete))
 		goto out_unlock;
@@ -436,7 +444,11 @@ next_proto:
 	NAPI_GRO_CB(skb)->is_fou = 1;
 
 	rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
 	offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+	offloads = inet_offloads;
+#endif
 	ops = rcu_dereference(offloads[proto]);
 	if (WARN_ON_ONCE(!ops || !ops->callbacks.gro_receive))
 		goto out_unlock;
@@ -484,7 +496,11 @@ static int gue_gro_complete(struct sock
 	}
 
 	rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
 	offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+	offloads = inet_offloads;
+#endif
 	ops = rcu_dereference(offloads[proto]);
 	if (WARN_ON(!ops || !ops->callbacks.gro_complete))
 		goto out_unlock;