|SUCCESS| hash: fix GFNI helpers for building with -O0
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Wed Sep 30 11:06:41 CEST 2026
Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/170359
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-09-30
# DPDK Patch Review
## Summary
This patch removes incorrect `__rte_internal` annotations from two static inline helper functions in `lib/hash/rte_thash_x86_gfni.h`. The functions are called by public inline helpers and must not be marked as internal, as this causes linkage failures when building with `-O0` (where inlining does not occur).
## Review Findings
### Errors
None.
### Warnings
None.
### Info
**Rationale for the change is correct:**
The patch description accurately explains the issue: these static inline helpers are used by public inline functions in the same header. When marked `__rte_internal`, they are exported with INTERNAL visibility. At `-O0`, the compiler does not inline them, so the public inline function generates a reference to an INTERNAL symbol from an application, which violates symbol visibility rules and causes linking to fail.
The fix (removing `__rte_internal`) is correct: static inline helpers used by public inline APIs must not be marked internal. They inherit their effective visibility from the calling context.
**Consistency with prior fix:**
The patch references commit da31ef54c865 which fixed the same issue in related code. The approach is consistent.
**Header cleanup:**
Removing `#include <rte_compat.h>` (which provided `__rte_internal`) is appropriate since it's no longer needed.
**No ABI or API impact:**
These are static inline functions in a header. Removing the annotation does not change the generated code under normal optimization levels (where they inline anyway) and fixes the `-O0` case. No ABI or API compatibility issues.
---
## Conclusion
The patch is correct and addresses a real build issue. No changes needed.
**Approval recommended.**
More information about the test-report
mailing list