There is no point in such a call and UBSan complains about a call to memcpy with a null pointer as second arg.
When building with -Db_sanitize=undefined, Clang gives the following warning ../lib/bpf/bpf_load.c:37:20: runtime error: null pointer passed as argument 2, which is declared to never be null A check of the sz before calling memcpy fixes that. Signed-off-by: Henning Schild <henning.sch...@siemens.com> --- lib/bpf/bpf_load.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/bpf/bpf_load.c b/lib/bpf/bpf_load.c index 0c4ac7be6c55..48d3d80ac3e3 100644 --- a/lib/bpf/bpf_load.c +++ b/lib/bpf/bpf_load.c @@ -34,7 +34,8 @@ bpf_load(const struct rte_bpf_prm *prm) memcpy(&bpf->prm, prm, sizeof(bpf->prm)); - memcpy(buf + bsz, prm->xsym, xsz); + if (xsz) + memcpy(buf + bsz, prm->xsym, xsz); memcpy(buf + bsz + xsz, prm->ins, insz); bpf->prm.xsym = (void *)(buf + bsz); -- 2.35.1