{
        int ret = BPF_MTU_CHK_RET_FRAG_NEEDED;
        struct net_device *dev = skb->dev;
-       int skb_len, dev_len;
-       int mtu = 0;
+       int mtu, dev_len, skb_len;
 
-       if (unlikely(flags & ~(BPF_MTU_CHK_SEGS))) {
-               ret = -EINVAL;
-               goto out;
-       }
-
-       if (unlikely(flags & BPF_MTU_CHK_SEGS && (len_diff || *mtu_len))) {
-               ret = -EINVAL;
-               goto out;
-       }
+       if (unlikely(flags & ~(BPF_MTU_CHK_SEGS)))
+               return -EINVAL;
+       if (unlikely(flags & BPF_MTU_CHK_SEGS && (len_diff || *mtu_len)))
+               return -EINVAL;
 
        dev = __dev_via_ifindex(dev, ifindex);
-       if (unlikely(!dev)) {
-               ret = -ENODEV;
-               goto out;
-       }
+       if (unlikely(!dev))
+               return -ENODEV;
 
        mtu = READ_ONCE(dev->mtu);
        dev_len = mtu + dev->hard_header_len;
        struct net_device *dev = xdp->rxq->dev;
        int xdp_len = xdp->data_end - xdp->data;
        int ret = BPF_MTU_CHK_RET_SUCCESS;
-       int mtu = 0, dev_len;
+       int mtu, dev_len;
 
        /* XDP variant doesn't support multi-buffer segment check (yet) */
-       if (unlikely(flags)) {
-               ret = -EINVAL;
-               goto out;
-       }
+       if (unlikely(flags))
+               return -EINVAL;
 
        dev = __dev_via_ifindex(dev, ifindex);
-       if (unlikely(!dev)) {
-               ret = -ENODEV;
-               goto out;
-       }
+       if (unlikely(!dev))
+               return -ENODEV;
 
        mtu = READ_ONCE(dev->mtu);
        dev_len = mtu + dev->hard_header_len;
        xdp_len += len_diff; /* minus result pass check */
        if (xdp_len > dev_len)
                ret = BPF_MTU_CHK_RET_FRAG_NEEDED;
-out:
+
        *mtu_len = mtu;
        return ret;
 }
        .ret_type       = RET_INTEGER,
        .arg1_type      = ARG_PTR_TO_CTX,
        .arg2_type      = ARG_ANYTHING,
-       .arg3_type      = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_UNINIT | MEM_WRITE | MEM_ALIGNED,
+       .arg3_type      = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_WRITE | MEM_ALIGNED,
        .arg3_size      = sizeof(u32),
        .arg4_type      = ARG_ANYTHING,
        .arg5_type      = ARG_ANYTHING,
        .ret_type       = RET_INTEGER,
        .arg1_type      = ARG_PTR_TO_CTX,
        .arg2_type      = ARG_ANYTHING,
-       .arg3_type      = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_UNINIT | MEM_WRITE | MEM_ALIGNED,
+       .arg3_type      = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_WRITE | MEM_ALIGNED,
        .arg3_size      = sizeof(u32),
        .arg4_type      = ARG_ANYTHING,
        .arg5_type      = ARG_ANYTHING,