Merge branch 'master' into net-next
This commit is contained in:
commit
51186362ba
|
|
@ -526,18 +526,26 @@ static int __dl_argv_handle_port(char *str,
|
|||
char **p_bus_name, char **p_dev_name,
|
||||
uint32_t *p_port_index)
|
||||
{
|
||||
char *handlestr = handlestr;
|
||||
char *portstr = portstr;
|
||||
char *handlestr;
|
||||
char *portstr;
|
||||
int err;
|
||||
|
||||
strslashrsplit(str, &handlestr, &portstr);
|
||||
err = strslashrsplit(str, &handlestr, &portstr);
|
||||
if (err) {
|
||||
pr_err("Port identification \"%s\" is invalid\n", str);
|
||||
return err;
|
||||
}
|
||||
err = strtouint32_t(portstr, p_port_index);
|
||||
if (err) {
|
||||
pr_err("Port index \"%s\" is not a number or not within range\n",
|
||||
portstr);
|
||||
return err;
|
||||
}
|
||||
strslashrsplit(handlestr, p_bus_name, p_dev_name);
|
||||
err = strslashrsplit(handlestr, p_bus_name, p_dev_name);
|
||||
if (err) {
|
||||
pr_err("Port identification \"%s\" is invalid\n", str);
|
||||
return err;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2330,7 +2330,7 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv)
|
|||
char *lcl_arg = NULL;
|
||||
char *valid_lftp = NULL;
|
||||
char *preferred_lftp = NULL;
|
||||
inet_prefix lcl;
|
||||
inet_prefix lcl = {};
|
||||
inet_prefix peer;
|
||||
int local_len = 0;
|
||||
int peer_len = 0;
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ static int can_parse_opt(struct link_util *lu, int argc, char **argv,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static const char *can_state_names[] = {
|
||||
static const char *can_state_names[CAN_STATE_MAX] = {
|
||||
[CAN_STATE_ERROR_ACTIVE] = "ERROR-ACTIVE",
|
||||
[CAN_STATE_ERROR_WARNING] = "ERROR-WARNING",
|
||||
[CAN_STATE_ERROR_PASSIVE] = "ERROR-PASSIVE",
|
||||
|
|
@ -283,11 +283,8 @@ static void can_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
|||
if (tb[IFLA_CAN_STATE]) {
|
||||
uint32_t state = rta_getattr_u32(tb[IFLA_CAN_STATE]);
|
||||
|
||||
if (state <= CAN_STATE_MAX)
|
||||
print_string(PRINT_ANY, "state", "state %s ",
|
||||
can_state_names[state]);
|
||||
else
|
||||
print_null(PRINT_ANY, "state", "state UNKNOWN", NULL);
|
||||
fprintf(f, "state %s ", state < CAN_STATE_MAX ?
|
||||
can_state_names[state] : "UNKNOWN");
|
||||
}
|
||||
|
||||
if (tb[IFLA_CAN_BERR_COUNTER]) {
|
||||
|
|
|
|||
|
|
@ -136,7 +136,9 @@ __u32 ipvrf_get_table(const char *name)
|
|||
&answer.n, sizeof(answer)) < 0) {
|
||||
/* special case "default" vrf to be the main table */
|
||||
if (errno == ENODEV && !strcmp(name, "default"))
|
||||
rtnl_rttable_a2n(&tb_id, "main");
|
||||
if (rtnl_rttable_a2n(&tb_id, "main"))
|
||||
fprintf(stderr,
|
||||
"BUG: RTTable \"main\" not found.\n");
|
||||
|
||||
return tb_id;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ static void read_igmp(struct ma_info **result_p)
|
|||
|
||||
while (fgets(buf, sizeof(buf), fp)) {
|
||||
struct ma_info *ma;
|
||||
size_t len;
|
||||
size_t len = 0;
|
||||
|
||||
if (buf[0] != '\t') {
|
||||
sscanf(buf, "%d%s", &m.index, m.name);
|
||||
|
|
|
|||
|
|
@ -1497,7 +1497,8 @@ static int iproute_list_flush_or_save(int argc, char **argv, int action)
|
|||
id = *argv;
|
||||
} else if (strcmp(*argv, "mark") == 0) {
|
||||
NEXT_ARG();
|
||||
get_unsigned(&mark, *argv, 0);
|
||||
if (get_unsigned(&mark, *argv, 0))
|
||||
invarg("invalid mark value", *argv);
|
||||
filter.markmask = -1;
|
||||
} else if (strcmp(*argv, "via") == 0) {
|
||||
int family;
|
||||
|
|
@ -1714,7 +1715,8 @@ static int iproute_get(int argc, char **argv)
|
|||
idev = *argv;
|
||||
} else if (matches(*argv, "mark") == 0) {
|
||||
NEXT_ARG();
|
||||
get_unsigned(&mark, *argv, 0);
|
||||
if (get_unsigned(&mark, *argv, 0))
|
||||
invarg("invalid mark value", *argv);
|
||||
} else if (matches(*argv, "oif") == 0 ||
|
||||
strcmp(*argv, "dev") == 0) {
|
||||
NEXT_ARG();
|
||||
|
|
|
|||
|
|
@ -537,8 +537,11 @@ static const char *bpf_find_mntpt(const char *fstype, unsigned long magic,
|
|||
}
|
||||
}
|
||||
|
||||
if (len != PATH_MAX)
|
||||
return NULL;
|
||||
|
||||
fp = fopen("/proc/mounts", "r");
|
||||
if (fp == NULL || len != PATH_MAX)
|
||||
if (fp == NULL)
|
||||
return NULL;
|
||||
|
||||
while (fscanf(fp, "%*s %" textify(PATH_MAX) "s %99s %*s %*d %*d\n",
|
||||
|
|
|
|||
13
misc/ss.c
13
misc/ss.c
|
|
@ -3479,17 +3479,18 @@ static int netlink_show_one(struct filter *f,
|
|||
int rq, int wq,
|
||||
unsigned long long sk, unsigned long long cb)
|
||||
{
|
||||
struct sockstat st;
|
||||
struct sockstat st = {
|
||||
.state = SS_CLOSE,
|
||||
.rq = rq,
|
||||
.wq = wq,
|
||||
.local.family = AF_NETLINK,
|
||||
.remote.family = AF_NETLINK,
|
||||
};
|
||||
|
||||
SPRINT_BUF(prot_buf) = {};
|
||||
const char *prot_name;
|
||||
char procname[64] = {};
|
||||
|
||||
st.state = SS_CLOSE;
|
||||
st.rq = rq;
|
||||
st.wq = wq;
|
||||
st.local.family = st.remote.family = AF_NETLINK;
|
||||
|
||||
if (f->f) {
|
||||
st.rport = -1;
|
||||
st.lport = pid;
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ readdoubles(FILE *fp, int *number)
|
|||
int limit;
|
||||
int n=0, i;
|
||||
|
||||
fstat(fileno(fp), &info);
|
||||
if (info.st_size > 0) {
|
||||
if (!fstat(fileno(fp), &info) &&
|
||||
info.st_size > 0) {
|
||||
limit = 2*info.st_size/sizeof(double); /* @@ approximate */
|
||||
} else {
|
||||
limit = 10000;
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ static void explain(void)
|
|||
static int multiq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
|
||||
struct nlmsghdr *n)
|
||||
{
|
||||
struct tc_multiq_qopt opt;
|
||||
struct tc_multiq_qopt opt = {};
|
||||
|
||||
if (argc) {
|
||||
if (strcmp(*argv, "help") == 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue