https://bugs.linaro.org/show_bug.cgi?id=2910
Bug ID: 2910
Summary: odph_iplookup_table_put_value() uses overlapping
pointer addresses
Product: OpenDataPlane - linux- generic reference
Version: master
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: ---
Component: Helpers
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
The value of odp_buffer_t *buff in function odph_iplookup_table_put_value()
clashes with the table entry impl->l1e[24916] when cidr > 16. The validation
test passes on odp-linux (lucky?) but fails on odp-dpdk when using 1G
hugepages.
Relevant code in odph_iplookup_table_put_value():
/* get L1 entry */
l1e = &impl->l1e[prefix->ip >> 16];
odp_buffer_t *buff = ENTRY_BUFF_ARR(impl->l1e) + (prefix->ip >> 16);
printf("Buff ptr: %p\n", buff);
printf("Entry addr: %p\n", &impl->l1e[24916]);
The odp-dpdk validation test crashes on odph_iplookup_table_destroy() as the
value of impl->l1e[24916] has overwritten.
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.