PTR_TO_SOCK_COMMON_OR_NULL      = PTR_MAYBE_NULL | PTR_TO_SOCK_COMMON,
        PTR_TO_TCP_SOCK_OR_NULL         = PTR_MAYBE_NULL | PTR_TO_TCP_SOCK,
        PTR_TO_BTF_ID_OR_NULL           = PTR_MAYBE_NULL | PTR_TO_BTF_ID,
-       PTR_TO_MEM_OR_NULL              = PTR_MAYBE_NULL | PTR_TO_MEM,
 
        /* This must be the last entry. Its purpose is to ensure the enum is
         * wide enough to hold the higher bits reserved for bpf_type_flag.
 
                                return -EINVAL;
                        }
 
-                       reg->type = PTR_TO_MEM_OR_NULL;
+                       reg->type = PTR_TO_MEM | PTR_MAYBE_NULL;
                        reg->id = ++env->id_gen;
 
                        continue;
 
                                mark_reg_known_zero(env, regs, i);
                        else if (regs[i].type == SCALAR_VALUE)
                                mark_reg_unknown(env, regs, i);
-                       else if (regs[i].type == PTR_TO_MEM_OR_NULL) {
+                       else if (base_type(regs[i].type) == PTR_TO_MEM) {
                                const u32 mem_size = regs[i].mem_size;
 
                                mark_reg_known_zero(env, regs, i);