void __skb_get_hash(struct sk_buff *skb);
 u32 __skb_get_hash_symmetric(const struct sk_buff *skb);
 u32 skb_get_poff(const struct sk_buff *skb);
-u32 __skb_get_poff(const struct sk_buff *skb, void *data,
+u32 __skb_get_poff(const struct sk_buff *skb, const void *data,
                   const struct flow_keys_basic *keys, int hlen);
 __be32 __skb_flow_get_ports(const struct sk_buff *skb, int thoff, u8 ip_proto,
-                           void *data, int hlen_proto);
+                           const void *data, int hlen_proto);
 
 static inline __be32 skb_flow_get_ports(const struct sk_buff *skb,
                                        int thoff, u8 ip_proto)
 bool __skb_flow_dissect(const struct net *net,
                        const struct sk_buff *skb,
                        struct flow_dissector *flow_dissector,
-                       void *target_container,
-                       void *data, __be16 proto, int nhoff, int hlen,
-                       unsigned int flags);
+                       void *target_container, const void *data,
+                       __be16 proto, int nhoff, int hlen, unsigned int flags);
 
 static inline bool skb_flow_dissect(const struct sk_buff *skb,
                                    struct flow_dissector *flow_dissector,
 static inline bool
 skb_flow_dissect_flow_keys_basic(const struct net *net,
                                 const struct sk_buff *skb,
-                                struct flow_keys_basic *flow, void *data,
-                                __be16 proto, int nhoff, int hlen,
-                                unsigned int flags)
+                                struct flow_keys_basic *flow,
+                                const void *data, __be16 proto,
+                                int nhoff, int hlen, unsigned int flags)
 {
        memset(flow, 0, sizeof(*flow));
        return __skb_flow_dissect(net, skb, &flow_keys_basic_dissector, flow,
 
  * is the protocol port offset returned from proto_ports_offset
  */
 __be32 __skb_flow_get_ports(const struct sk_buff *skb, int thoff, u8 ip_proto,
-                           void *data, int hlen)
+                           const void *data, int hlen)
 {
        int poff = proto_ports_offset(ip_proto);
 
  */
 void skb_flow_get_icmp_tci(const struct sk_buff *skb,
                           struct flow_dissector_key_icmp *key_icmp,
-                          void *data, int thoff, int hlen)
+                          const void *data, int thoff, int hlen)
 {
        struct icmphdr *ih, _ih;
 
  */
 static void __skb_flow_dissect_icmp(const struct sk_buff *skb,
                                    struct flow_dissector *flow_dissector,
-                                   void *target_container,
-                                   void *data, int thoff, int hlen)
+                                   void *target_container, const void *data,
+                                   int thoff, int hlen)
 {
        struct flow_dissector_key_icmp *key_icmp;
 
 static enum flow_dissect_ret
 __skb_flow_dissect_mpls(const struct sk_buff *skb,
                        struct flow_dissector *flow_dissector,
-                       void *target_container, void *data, int nhoff, int hlen,
-                       int lse_index, bool *entropy_label)
+                       void *target_container, const void *data, int nhoff,
+                       int hlen, int lse_index, bool *entropy_label)
 {
        struct mpls_label *hdr, _hdr;
        u32 entry, label, bos;
 static enum flow_dissect_ret
 __skb_flow_dissect_arp(const struct sk_buff *skb,
                       struct flow_dissector *flow_dissector,
-                      void *target_container, void *data, int nhoff, int hlen)
+                      void *target_container, const void *data,
+                      int nhoff, int hlen)
 {
        struct flow_dissector_key_arp *key_arp;
        struct {
 __skb_flow_dissect_gre(const struct sk_buff *skb,
                       struct flow_dissector_key_control *key_control,
                       struct flow_dissector *flow_dissector,
-                      void *target_container, void *data,
+                      void *target_container, const void *data,
                       __be16 *p_proto, int *p_nhoff, int *p_hlen,
                       unsigned int flags)
 {
 static enum flow_dissect_ret
 __skb_flow_dissect_batadv(const struct sk_buff *skb,
                          struct flow_dissector_key_control *key_control,
-                         void *data, __be16 *p_proto, int *p_nhoff, int hlen,
-                         unsigned int flags)
+                         const void *data, __be16 *p_proto, int *p_nhoff,
+                         int hlen, unsigned int flags)
 {
        struct {
                struct batadv_unicast_packet batadv_unicast;
 static void
 __skb_flow_dissect_tcp(const struct sk_buff *skb,
                       struct flow_dissector *flow_dissector,
-                      void *target_container, void *data, int thoff, int hlen)
+                      void *target_container, const void *data,
+                      int thoff, int hlen)
 {
        struct flow_dissector_key_tcp *key_tcp;
        struct tcphdr *th, _th;
 static void
 __skb_flow_dissect_ports(const struct sk_buff *skb,
                         struct flow_dissector *flow_dissector,
-                        void *target_container, void *data, int nhoff,
-                        u8 ip_proto, int hlen)
+                        void *target_container, const void *data,
+                        int nhoff, u8 ip_proto, int hlen)
 {
        enum flow_dissector_key_id dissector_ports = FLOW_DISSECTOR_KEY_MAX;
        struct flow_dissector_key_ports *key_ports;
 static void
 __skb_flow_dissect_ipv4(const struct sk_buff *skb,
                        struct flow_dissector *flow_dissector,
-                       void *target_container, void *data, const struct iphdr *iph)
+                       void *target_container, const void *data,
+                       const struct iphdr *iph)
 {
        struct flow_dissector_key_ip *key_ip;
 
 static void
 __skb_flow_dissect_ipv6(const struct sk_buff *skb,
                        struct flow_dissector *flow_dissector,
-                       void *target_container, void *data, const struct ipv6hdr *iph)
+                       void *target_container, const void *data,
+                       const struct ipv6hdr *iph)
 {
        struct flow_dissector_key_ip *key_ip;
 
 bool __skb_flow_dissect(const struct net *net,
                        const struct sk_buff *skb,
                        struct flow_dissector *flow_dissector,
-                       void *target_container,
-                       void *data, __be16 proto, int nhoff, int hlen,
-                       unsigned int flags)
+                       void *target_container, const void *data,
+                       __be16 proto, int nhoff, int hlen, unsigned int flags)
 {
        struct flow_dissector_key_control *key_control;
        struct flow_dissector_key_basic *key_basic;
 }
 EXPORT_SYMBOL(skb_get_hash_perturb);
 
-u32 __skb_get_poff(const struct sk_buff *skb, void *data,
+u32 __skb_get_poff(const struct sk_buff *skb, const void *data,
                   const struct flow_keys_basic *keys, int hlen)
 {
        u32 poff = keys->control.thoff;