if (!cmd)
                return NULL;
 
-       list_for_each_entry(entry, &pcache->entries, node) {
+       for_each_probe_cache_entry(entry, pcache) {
                if (pev->sdt) {
                        if (entry->pev.event &&
                            streql(entry->pev.event, pev->event) &&
 {
        struct probe_cache_entry *entry = NULL;
 
-       list_for_each_entry(entry, &pcache->entries, node) {
+       for_each_probe_cache_entry(entry, pcache) {
                /* Hit if same event name or same command-string */
                if (streql(entry->pev.group, group) &&
                    streql(entry->pev.event, event))
        if (ret < 0)
                goto out;
 
-       list_for_each_entry(entry, &pcache->entries, node) {
+       for_each_probe_cache_entry(entry, pcache) {
                ret = probe_cache_entry__write(entry, pcache->fd);
                pr_debug("Cache committed: %d\n", ret);
                if (ret < 0)
 {
        struct probe_cache_entry *entry;
 
-       list_for_each_entry(entry, &pcache->entries, node) {
+       for_each_probe_cache_entry(entry, pcache) {
                if (probe_cache_entry__compare(entry, filter))
                        printf("%s\n", entry->spev);
        }
 
 
 #define PF_FL_UPROBE   1
 #define PF_FL_RW       2
+#define for_each_probe_cache_entry(entry, pcache) \
+       list_for_each_entry(entry, &pcache->entries, node)
 
 int probe_file__open(int flag);
 int probe_file__open_both(int *kfd, int *ufd, int flag);