On 2017/12/28 17:04, Eric Leblond wrote:
Most of the code is taken from set_link_xdp_fd() in bpf_load.c and
slightly modified to be library compliant.
Signed-off-by: Eric Leblond <redacted>
Acked-by: Alexei Starovoitov <ast@kernel.org>
---
...
+int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags)
...
+ if (bind(sock, (struct sockaddr *)&sa, sizeof(sa)) < 0) {
+ ret = -errno;
+ goto cleanup;
+ }
+
+ addrlen = sizeof(sa);
+ if (getsockname(sock, (struct sockaddr *)&sa, &addrlen) < 0) {
+ ret = errno;
Still errno is not inverted,
+ goto cleanup;
+ }
+
+ if (addrlen != sizeof(sa)) {
+ ret = errno;
And not set here.
+ goto cleanup;
+ }
--
Toshiaki Makita