Description of problem: not export functions about new_json_obj Version-Release number of selected component (if applicable): iproute-6.2.0-2.el8.x86_64 How reproducible: always Steps to Reproduce: 1.yum install -y kernel-kernel-networking-sctp-bugs-slab_out_of_bounds_inet_diag_msg_sctpladdrs_fill_bz1484351.noarch 2.cd /mnt/tests/kernel/networking/sctp/bugs/slab_out_of_bounds_inet_diag_msg_sctpladdrs_fill_bz1484351 3.yum install -y iproute-devel nmap-ncat lksctp-tools-devel libmnl-devel 4.gcc -o sctp_diag_leak sctp_diag_leak.c -lsctp -lpthread -lnetlink -lmnl Actual results: # gcc -o sctp_diag_leak sctp_diag_leak.c -lsctp -lpthread -lnetlink -lmnl In file included from sctp_diag_leak.c:33: sctp_diag_leak.c: In function ‘main’: sctp_diag_leak.c:146:32: warning: passing argument 2 of ‘rtnl_dump_filter_nc’ from incompatible pointer type [-Wincompatible-pointer-types] 146 | rtnl_dump_filter(&rth, callback, NULL); | ^~~~~~~~ | | | int (*)(const struct sockaddr_nl *, struct nlmsghdr *, void *) /usr/include/libnetlink.h:161:39: note: expected ‘rtnl_filter_t’ {aka ‘int (*)(struct nlmsghdr *, void *)’} but argument is of type ‘int (*)(const struct sockaddr_nl *, struct nlmsghdr *, void *)’ 161 | rtnl_filter_t filter, | ~~~~~~~~~~~~~~^~~~~~ /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/11/../../../../lib64/libnetlink.a(libnetlink.o): in function `rtnl_echo_talk': (.text[.text.group]+0x1f78): undefined reference to `new_json_obj' /usr/bin/ld: (.text[.text.group]+0x1f7f): undefined reference to `open_json_object' /usr/bin/ld: (.text[.text.group]+0x1f94): undefined reference to `close_json_object' /usr/bin/ld: (.text[.text.group]+0x1f99): undefined reference to `delete_json_obj' collect2: error: ld returned 1 exit status Expected results: no error Additional info:
Upstream maintainer said the libnetlink is for internal use only. We need to use libmnl instead.