Hi Stephen, On 8/15/2025 12:59 AM, Stephen Hemminger wrote: > On Thu, 14 Aug 2025 10:52:42 +0800 > Bingbin Chen <chen.bing...@zte.com.cn> wrote: > >> + } else { >> + entry = calloc(1, sizeof(struct rte_flow)); >> + entry_flow = calloc(1, sizeof(struct zxdh_flow)); >> + TAILQ_FOREACH(entry, &hw->dh_flow_list, next) { >> + entry_flow = (struct zxdh_flow >> *)entry->driver_flow; >> + >> offlow_key_dump(&entry_flow->flowentry.fd_flow.key, >> + >> &entry_flow->flowentry.fd_flow.key_mask, file); >> + >> offlow_result_dump(&entry_flow->flowentry.fd_flow.result, file); >> + } >> + rte_free(entry_flow); >> + rte_free(entry) > > Use the right free function! > > ==== 20 line log output for Ubuntu 24.04 (dpdk_unit_test): ==== > ../drivers/net/zxdh/zxdh_flow.c:641:36: note: returned from 'calloc' > 641 | key_mask = calloc(1, sizeof(struct fd_flow_key) > * ZXDH_MAX_FLOW_NUM); > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../drivers/net/zxdh/zxdh_flow.c:689:9: error: 'rte_free' called on pointer > returned from a mismatched allocation function [-Werror=mismatched-dealloc] > 689 | rte_free(key); > | ^~~~~~~~~~~~~ > ../drivers/net/zxdh/zxdh_flow.c:640:31: note: returned from 'calloc' > 640 | key = calloc(1, sizeof(struct fd_flow_key) * > ZXDH_MAX_FLOW_NUM); > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../drivers/net/zxdh/zxdh_flow.c:690:9: error: 'rte_free' called on pointer > returned from a mismatched allocation function [-Werror=mismatched-dealloc] > 690 | rte_free(fd_entry); > | ^~~~~~~~~~~~~~~~~~ > ../drivers/net/zxdh/zxdh_flow.c:639:36: note: returned from 'calloc' > 639 | fd_entry = calloc(1, > sizeof(ZXDH_DTB_ACL_ENTRY_INFO_T) * ZXDH_MAX_FLOW_NUM); > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors
Just curiosity, which test catch this error? There are no driver rte_flow API test in meson test as I know. Thanks