diff --git a/devlink/devlink.c b/devlink/devlink.c index 27cb4431..a2e06644 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -3617,19 +3617,21 @@ static int cmd_dev_flash(struct dl *dl) err = _mnlg_socket_group_add(nlg_ntf, DEVLINK_GENL_MCGRP_CONFIG_NAME); if (err) - return err; + goto err_socket; err = pipe(pipe_fds); - if (err == -1) - return -errno; + if (err == -1) { + err = -errno; + goto err_socket; + } pipe_r = pipe_fds[0]; pipe_w = pipe_fds[1]; pid = fork(); if (pid == -1) { - close(pipe_r); close(pipe_w); - return -errno; + err = -errno; + goto out; } else if (!pid) { /* In child, just execute the flash and pass returned * value through pipe once it is done. @@ -3658,6 +3660,7 @@ static int cmd_dev_flash(struct dl *dl) err = _mnlg_socket_recv_run(dl->nlg, NULL, NULL); out: close(pipe_r); +err_socket: mnlg_socket_close(nlg_ntf); return err; } diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index 027f91ec..0981d0a3 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h @@ -3977,8 +3977,8 @@ union bpf_attr { FN(seq_printf_btf), \ FN(skb_cgroup_classid), \ FN(redirect_neigh), \ - FN(bpf_per_cpu_ptr), \ - FN(bpf_this_cpu_ptr), \ + FN(per_cpu_ptr), \ + FN(this_cpu_ptr), \ FN(redirect_peer), \ FN(task_storage_get), \ FN(task_storage_delete), \ diff --git a/man/man8/tc-flower.8 b/man/man8/tc-flower.8 index da3dd757..1a76b375 100644 --- a/man/man8/tc-flower.8 +++ b/man/man8/tc-flower.8 @@ -1,11 +1,5 @@ .TH "Flower filter in tc" 8 "22 Oct 2015" "iproute2" "Linux" - "Usage: ct clear\n" - " ct commit [force] [zone ZONE] [mark MASKED_MARK] [label MASKED_LABEL] [nat NAT_SPEC] [OFFLOAD_POLICY]\n" - " ct [nat] [zone ZONE] [OFFLOAD_POLICY]\n" - "Where: ZONE is the conntrack zone table number\n" - " NAT_SPEC is {src|dst} addr addr1[-addr2] [port port1[-port2]]\n" - " OFFLOAD_POLICY is [policy_pkts PACKETS] [policy_timeout TIMEOUT]\n" .SH NAME flower \- flow based traffic control filter .SH SYNOPSIS diff --git a/misc/ss.c b/misc/ss.c index 77e1847e..0593627b 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -3136,7 +3136,7 @@ static void mptcp_stats_print(struct mptcp_info *s) out(" subflows:%d", s->mptcpi_subflows); if (s->mptcpi_add_addr_signal) out(" add_addr_signal:%d", s->mptcpi_add_addr_signal); - if (s->mptcpi_add_addr_signal) + if (s->mptcpi_add_addr_accepted) out(" add_addr_accepted:%d", s->mptcpi_add_addr_accepted); if (s->mptcpi_subflows_max) out(" subflows_max:%d", s->mptcpi_subflows_max); diff --git a/tc/m_pedit.c b/tc/m_pedit.c index 24fede4a..74c91e8d 100644 --- a/tc/m_pedit.c +++ b/tc/m_pedit.c @@ -819,8 +819,10 @@ static int print_pedit(struct action_util *au, FILE *f, struct rtattr *arg) print_uint(PRINT_FP, NULL, "\n\t key #%d at ", i); err = print_pedit_location(f, htype, key->off); - if (err) + if (err) { + free(keys_ex); return err; + } /* In FP, report the "set" command as "val" to keep * backward compatibility. Report the true name in JSON.