aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@kernel.org>2024-05-03 15:40:02 +0000
committerDavid Ahern <dsahern@kernel.org>2024-05-03 15:40:02 +0000
commit977d51cfecab3196ae626cd890d8dd758e0963dd (patch)
treea4d3817440b3d860e2b5627b391285680c43c5ee
parentc72323d2ef60c4d8a5738a50bbe3a4eba1cc45b0 (diff)
parent89210b9ec1c445ae963d181b5816d12a0cdafbb6 (diff)
downloadiproute2-next-main.tar.gz
Merge remote-tracking branch 'main/main' into nextHEADmastermain
Signed-off-by: David Ahern <dsahern@kernel.org>
-rw-r--r--ip/ip.c10
-rw-r--r--ip/iplink.c2
-rw-r--r--ip/iproute_lwtunnel.c7
-rw-r--r--ip/rtmon.c4
-rw-r--r--lib/exec.c7
-rw-r--r--man/man8/ip-link.8.in2
-rw-r--r--tc/f_u32.c2
-rw-r--r--tc/m_sample.c7
-rw-r--r--tc/tc.c2
-rw-r--r--vdpa/include/uapi/linux/vdpa.h6
10 files changed, 24 insertions, 25 deletions
diff --git a/ip/ip.c b/ip/ip.c
index e51fa206d..eb492139a 100644
--- a/ip/ip.c
+++ b/ip/ip.c
@@ -203,15 +203,15 @@ int main(int argc, char **argv)
argc--;
argv++;
if (argc <= 1)
- usage();
+ missarg("loop count");
max_flush_loops = atoi(argv[1]);
} else if (matches(opt, "-family") == 0) {
argc--;
argv++;
if (argc <= 1)
- usage();
+ missarg("family type");
if (strcmp(argv[1], "help") == 0)
- usage();
+ do_help(argc, argv);
else
preferred_family = read_family(argv[1]);
if (preferred_family == AF_UNSPEC)
@@ -258,7 +258,7 @@ int main(int argc, char **argv)
argc--;
argv++;
if (argc <= 1)
- usage();
+ missarg("batch file");
batch_file = argv[1];
} else if (matches(opt, "-brief") == 0) {
++brief;
@@ -272,7 +272,7 @@ int main(int argc, char **argv)
argc--;
argv++;
if (argc <= 1)
- usage();
+ missarg("rcvbuf size");
if (get_unsigned(&size, argv[1], 0)) {
fprintf(stderr, "Invalid rcvbuf size '%s'\n",
argv[1]);
diff --git a/ip/iplink.c b/ip/iplink.c
index 5b484a9cf..3bc75d243 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -64,7 +64,7 @@ void iplink_usage(void)
"\n"
" ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ]\n"
"\n"
- " ip link set { DEVICE | dev DEVICE | group DEVGROUP }\n"
+ " ip link { set | change } { DEVICE | dev DEVICE | group DEVGROUP }\n"
" [ { up | down } ]\n"
" [ type TYPE ARGS ]\n");
diff --git a/ip/iproute_lwtunnel.c b/ip/iproute_lwtunnel.c
index 949859723..b4df43485 100644
--- a/ip/iproute_lwtunnel.c
+++ b/ip/iproute_lwtunnel.c
@@ -2228,11 +2228,8 @@ int lwt_parse_encap(struct rtattr *rta, size_t len, int *argcp, char ***argvp,
invarg("\"encap type\" value is invalid\n", *argv);
NEXT_ARG();
- if (argc <= 1) {
- fprintf(stderr,
- "Error: unexpected end of line after \"encap\"\n");
- exit(-1);
- }
+ if (argc <= 1)
+ missarg("encap type");
nest = rta_nest(rta, len, encap_attr);
switch (type) {
diff --git a/ip/rtmon.c b/ip/rtmon.c
index aad9968f9..08105d686 100644
--- a/ip/rtmon.c
+++ b/ip/rtmon.c
@@ -82,7 +82,7 @@ main(int argc, char **argv)
argc--;
argv++;
if (argc <= 1)
- usage();
+ missarg("family type");
if (strcmp(argv[1], "inet") == 0)
family = AF_INET;
else if (strcmp(argv[1], "inet6") == 0)
@@ -108,7 +108,7 @@ main(int argc, char **argv)
argc--;
argv++;
if (argc <= 1)
- usage();
+ missarg("file");
file = argv[1];
} else if (matches(argv[1], "link") == 0) {
llink = 1;
diff --git a/lib/exec.c b/lib/exec.c
index 9b1c8f4a1..893937550 100644
--- a/lib/exec.c
+++ b/lib/exec.c
@@ -36,8 +36,13 @@ int cmd_exec(const char *cmd, char **argv, bool do_fork,
}
}
- if (setup && setup(arg))
+ if (setup && setup(arg)) {
+ if (do_fork) {
+ /* In child, nothing to do */
+ _exit(1);
+ }
return -1;
+ }
if (execvp(cmd, argv) < 0)
fprintf(stderr, "exec of \"%s\" failed: %s\n",
diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index 534bb718a..c19841582 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -63,7 +63,7 @@ ip-link \- network device configuration
.RI "[ " ARGS " ]"
.ti -8
-.BR "ip link set " {
+.BR "ip link" " { " set " | " change " } " {
.IR DEVICE " | "
.BI "group " GROUP
}
diff --git a/tc/f_u32.c b/tc/f_u32.c
index 8f9e7bc81..088d744e5 100644
--- a/tc/f_u32.c
+++ b/tc/f_u32.c
@@ -663,7 +663,7 @@ static int parse_mark(int *argc_p, char ***argv_p, struct nlmsghdr *n)
struct tc_u32_mark mark;
if (argc <= 1)
- return -1;
+ missarg("mark");
if (get_u32(&mark.val, *argv, 0)) {
fprintf(stderr, "Illegal \"mark\" value\n");
diff --git a/tc/m_sample.c b/tc/m_sample.c
index 5fd2b8415..44ba859f9 100644
--- a/tc/m_sample.c
+++ b/tc/m_sample.c
@@ -45,11 +45,8 @@ static int parse_sample(const struct action_util *a, int *argc_p, char ***argv_p
__u32 group;
__u32 rate;
- if (argc <= 1) {
- fprintf(stderr, "sample bad argument count %d\n", argc);
- usage();
- return -1;
- }
+ if (argc <= 1)
+ missarg("sample count");
if (matches(*argv, "sample") == 0) {
NEXT_ARG();
diff --git a/tc/tc.c b/tc/tc.c
index 7edff7e39..26e6f69ca 100644
--- a/tc/tc.c
+++ b/tc/tc.c
@@ -289,7 +289,7 @@ int main(int argc, char **argv)
} else if (matches(argv[1], "-batch") == 0) {
argc--; argv++;
if (argc <= 1)
- usage();
+ missarg("batch file");
batch_file = argv[1];
} else if (matches(argv[1], "-netns") == 0) {
NEXT_ARG();
diff --git a/vdpa/include/uapi/linux/vdpa.h b/vdpa/include/uapi/linux/vdpa.h
index 8586bd178..265347b90 100644
--- a/vdpa/include/uapi/linux/vdpa.h
+++ b/vdpa/include/uapi/linux/vdpa.h
@@ -57,7 +57,7 @@ enum vdpa_attr {
VDPA_ATTR_DEV_FEATURES, /* u64 */
VDPA_ATTR_DEV_BLK_CFG_CAPACITY, /* u64 */
- VDPA_ATTR_DEV_BLK_CFG_SEG_SIZE, /* u32 */
+ VDPA_ATTR_DEV_BLK_CFG_SIZE_MAX, /* u32 */
VDPA_ATTR_DEV_BLK_CFG_BLK_SIZE, /* u32 */
VDPA_ATTR_DEV_BLK_CFG_SEG_MAX, /* u32 */
VDPA_ATTR_DEV_BLK_CFG_NUM_QUEUES, /* u16 */
@@ -70,8 +70,8 @@ enum vdpa_attr {
VDPA_ATTR_DEV_BLK_CFG_DISCARD_SEC_ALIGN,/* u32 */
VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEC, /* u32 */
VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEG, /* u32 */
- VDPA_ATTR_DEV_BLK_CFG_READ_ONLY, /* u8 */
- VDPA_ATTR_DEV_BLK_CFG_FLUSH, /* u8 */
+ VDPA_ATTR_DEV_BLK_READ_ONLY, /* u8 */
+ VDPA_ATTR_DEV_BLK_FLUSH, /* u8 */
/* new attributes must be added above here */
VDPA_ATTR_MAX,