diff --git a/src/ebt_igmpsnooping.c b/src/ebt_igmpsnooping.c
index eaf5622770b8429841622f604dd565f107a8cdd5..a3c86fa51d63aec8d846ded1be95ce9909b81821 100644
--- a/src/ebt_igmpsnooping.c
+++ b/src/ebt_igmpsnooping.c
@@ -287,8 +287,8 @@ again:
 
 				protocol = vlan->h_vlan_encapsulated_proto;
 				ivid = (ntohs(vlan->h_vlan_TCI) & VLAN_VID_MASK);
-				skb_pull(skb, VLAN_HLEN);
-				skb_reset_network_header(skb);
+				skb_pull((struct sk_buff *)skb, VLAN_HLEN);
+				skb_reset_network_header((struct sk_buff *)skb);
 				vlan_hdr_count++;
 			}
 			goto again;
@@ -301,13 +301,13 @@ again:
 	}
 
 	/* Business logic goes here */
-	ret = ebt_ip_mt(iph, skb, protocol, ovid, ivid, par);
+	ret = ebt_ip_mt(iph, (struct sk_buff *)skb, protocol, ovid, ivid, par);
 
 out:
 	/* Restore the skb for the pulled VLAN tags */
 	while (vlan_hdr_count--) {
-		skb_push(skb, VLAN_HLEN);
-		skb_reset_network_header(skb);
+		skb_push((struct sk_buff *)skb, VLAN_HLEN);
+		skb_reset_network_header((struct sk_buff *)skb);
 	}
 
 	return ret;
@@ -341,8 +341,9 @@ static int igmp_device_event(struct notifier_block *unused, unsigned long event,
 	case NETDEV_CHANGE:
 		if (netif_carrier_ok(dev))
 			return NOTIFY_DONE;
-		 /* fall through */
-	case NETDEV_UNREGISTER: /* fall through */
+		fallthrough;
+	case NETDEV_UNREGISTER:
+		fallthrough;
 	case NETDEV_DOWN:
 		spin_lock_bh(&igmp_lock);
 		list_for_each_safe(cur, next, &igmp_info_list) {
diff --git a/src/ebt_mldsnooping.c b/src/ebt_mldsnooping.c
index ef99fa7a61bf303391bffe9647be2d1adbb55371..02500a331190ae5efb245e8cb4ca266d1e63f0ec 100644
--- a/src/ebt_mldsnooping.c
+++ b/src/ebt_mldsnooping.c
@@ -297,8 +297,8 @@ again:
 
 				protocol = vlan->h_vlan_encapsulated_proto;
 				ivid = (ntohs(vlan->h_vlan_TCI) & VLAN_VID_MASK);
-				skb_pull(skb, VLAN_HLEN);
-				skb_reset_network_header(skb);
+				skb_pull((struct sk_buff *)skb, VLAN_HLEN);
+				skb_reset_network_header((struct sk_buff *)skb);
 				vlan_hdr_count++;
 			}
 			goto again;
@@ -311,13 +311,13 @@ again:
 	}
 
 	/* Business logic goes here */
-	ret = ebt_ip6_mt(ipv6h, skb, protocol, ovid, ivid, par);
+	ret = ebt_ip6_mt(ipv6h, (struct sk_buff *)skb, protocol, ovid, ivid, par);
 
 out:
 	/* Restore the skb for the pulled VLAN tags */
 	while (vlan_hdr_count--) {
-		skb_push(skb, VLAN_HLEN);
-		skb_reset_network_header(skb);
+		skb_push((struct sk_buff *)skb, VLAN_HLEN);
+		skb_reset_network_header((struct sk_buff *)skb);
 	}
 
 	return ret;
@@ -351,8 +351,9 @@ static int mld_device_event(struct notifier_block *unused, unsigned long event,
 	case NETDEV_CHANGE:
 		if (netif_carrier_ok(dev))
 			return NOTIFY_DONE;
-		 /* fall through */
-	case NETDEV_UNREGISTER: /* fall through */
+		fallthrough;
+	case NETDEV_UNREGISTER:
+		fallthrough;
 	case NETDEV_DOWN:
 		spin_lock_bh(&mld_lock);
 		list_for_each_safe(cur, next, &mld_info_list) {