struct dso *dso;
        const char *events[] = { "cycles", "cycles:u", "cpu-clock", "cpu-clock:u", NULL };
        int evidx = 0;
+       struct perf_env host_env;
 
        pid = getpid();
 
        machine = machine__new_host();
-       machine->env = &perf_env;
+       perf_env__init(&host_env);
+       machine->env = &host_env;
 
        ret = machine__create_kernel_maps(machine);
        if (ret < 0) {
        perf_cpu_map__put(cpus);
        perf_thread_map__put(threads);
        machine__delete(machine);
+       perf_env__exit(&host_env);
 
        return err;
 }
 
 
 static int test__dlfilter_test(struct test_data *td)
 {
+       struct perf_env host_env;
        u64 sample_type = TEST_SAMPLE_TYPE;
        pid_t pid = 12345;
        pid_t tid = 12346;
        u64 id = 99;
-       int err;
+       int err = TEST_OK;
 
        if (get_dlfilters_path(td->name, td->dlfilters, PATH_MAX))
                return test_result("dlfilters not found", TEST_SKIP);
 
        pr_debug("Creating new host machine structure\n");
        td->machine = machine__new_host();
-       td->machine->env = &perf_env;
+       perf_env__init(&host_env);
+       td->machine->env = &host_env;
 
        td->fd = creat(td->perf_data_file_name, 0644);
        if (td->fd < 0)
                return test_result("Failed to create test perf.data file", TEST_FAIL);
 
        err = perf_header__write_pipe(td->fd);
-       if (err < 0)
-               return test_result("perf_header__write_pipe() failed", TEST_FAIL);
-
+       if (err < 0) {
+               err = test_result("perf_header__write_pipe() failed", TEST_FAIL);
+               goto out;
+       }
        err = write_attr(td, sample_type, &id);
-       if (err)
-               return test_result("perf_event__synthesize_attr() failed", TEST_FAIL);
-
-       if (write_comm(td->fd, pid, tid, "test-prog"))
-               return TEST_FAIL;
-
-       if (write_mmap(td->fd, pid, tid, MAP_START, 0x10000, 0, td->prog_file_name))
-               return TEST_FAIL;
-
-       if (write_sample(td, sample_type, id, pid, tid) != TEST_OK)
-               return TEST_FAIL;
-
+       if (err) {
+               err = test_result("perf_event__synthesize_attr() failed", TEST_FAIL);
+               goto out;
+       }
+       if (write_comm(td->fd, pid, tid, "test-prog")) {
+               err = TEST_FAIL;
+               goto out;
+       }
+       if (write_mmap(td->fd, pid, tid, MAP_START, 0x10000, 0, td->prog_file_name)) {
+               err = TEST_FAIL;
+               goto out;
+       }
+       if (write_sample(td, sample_type, id, pid, tid) != TEST_OK) {
+               err = TEST_FAIL;
+               goto out;
+       }
        if (verbose > 1)
                system_cmd("%s script -i %s -D", td->perf, td->perf_data_file_name);
 
-       err = run_perf_script(td);
-       if (err)
-               return TEST_FAIL;
-
-       return TEST_OK;
+       err = run_perf_script(td) ? TEST_FAIL : TEST_OK;
+out:
+       perf_env__exit(&host_env);
+       return err;
 }
 
 static void unlink_path(const char *path)