static inline void *load_pointer(const struct sk_buff *skb, int k, unsigned int size, void *buffer) { if (k >= 0) return skb_header_pointer(skb, k, size, buffer); return bpf_internal_load_pointer_neg_helper(skb, k, size); }
static inline int call_neg_helper(struct sk_buff *skb, int offset, void *ret, unsigned int size) { void *ptr = bpf_internal_load_pointer_neg_helper(skb, offset, size); if (!ptr) return -EFAULT; memcpy(ret, ptr, size); return 0; }