{
        struct bpf_iter_seq_sk_storage_map_info *seq_info = priv_data;
 
+       bpf_map_inc_with_uref(aux->map);
        seq_info->map = aux->map;
        return 0;
 }
 
+static void bpf_iter_fini_sk_storage_map(void *priv_data)
+{
+       struct bpf_iter_seq_sk_storage_map_info *seq_info = priv_data;
+
+       bpf_map_put_with_uref(seq_info->map);
+}
+
 static int bpf_iter_attach_map(struct bpf_prog *prog,
                               union bpf_iter_link_info *linfo,
                               struct bpf_iter_aux_info *aux)
 static const struct bpf_iter_seq_info iter_seq_info = {
        .seq_ops                = &bpf_sk_storage_map_seq_ops,
        .init_seq_private       = bpf_iter_init_sk_storage_map,
-       .fini_seq_private       = NULL,
+       .fini_seq_private       = bpf_iter_fini_sk_storage_map,
        .seq_priv_size          = sizeof(struct bpf_iter_seq_sk_storage_map_info),
 };