diff
+ #define NEXTHOP_MAC_SIZE ETH_ALEN
+ _Static_assert(NEXTHOP_MAC_SIZE >= ETH_ALEN, "nexthop_mac buffer too small");

- int smc_ib_find_route(struct net *net, __be32 saddr, __be32 daddr,
-                       u8 nexthop_mac[], u8 *uses_gateway)
+ int smc_ib_find_route(struct net *net, __be32 saddr, __be32 daddr,
+                       u8 nexthop_mac[NEXTHOP_MAC_SIZE], u8 *uses_gateway)
...
memcpy(nexthop_mac, neigh->ha, ETH_ALEN);
