Skip to content

Commit c62c2cf

Browse files
jpirkodavem330
authored andcommitted
net: devlink: don't ignore errors during dumpit
Currently, some dumpit function may end-up with error which is not -EMSGSIZE and this error is silently ignored. Use does not have clue that something wrong happened. Instead of silent ignore, propagate the error to user. Suggested-by: Andrew Lunn <[email protected]> Signed-off-by: Jiri Pirko <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Acked-by: Jakub Kicinski <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 511e6ca commit c62c2cf

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

net/core/devlink.c

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,7 @@ static int devlink_nl_cmd_sb_pool_get_dumpit(struct sk_buff *msg,
10441044
struct devlink_sb *devlink_sb;
10451045
int start = cb->args[0];
10461046
int idx = 0;
1047-
int err;
1047+
int err = 0;
10481048

10491049
mutex_lock(&devlink_mutex);
10501050
list_for_each_entry(devlink, &devlink_list, list) {
@@ -1067,6 +1067,9 @@ static int devlink_nl_cmd_sb_pool_get_dumpit(struct sk_buff *msg,
10671067
out:
10681068
mutex_unlock(&devlink_mutex);
10691069

1070+
if (err != -EMSGSIZE)
1071+
return err;
1072+
10701073
cb->args[0] = idx;
10711074
return msg->len;
10721075
}
@@ -1242,7 +1245,7 @@ static int devlink_nl_cmd_sb_port_pool_get_dumpit(struct sk_buff *msg,
12421245
struct devlink_sb *devlink_sb;
12431246
int start = cb->args[0];
12441247
int idx = 0;
1245-
int err;
1248+
int err = 0;
12461249

12471250
mutex_lock(&devlink_mutex);
12481251
list_for_each_entry(devlink, &devlink_list, list) {
@@ -1265,6 +1268,9 @@ static int devlink_nl_cmd_sb_port_pool_get_dumpit(struct sk_buff *msg,
12651268
out:
12661269
mutex_unlock(&devlink_mutex);
12671270

1271+
if (err != -EMSGSIZE)
1272+
return err;
1273+
12681274
cb->args[0] = idx;
12691275
return msg->len;
12701276
}
@@ -1469,7 +1475,7 @@ devlink_nl_cmd_sb_tc_pool_bind_get_dumpit(struct sk_buff *msg,
14691475
struct devlink_sb *devlink_sb;
14701476
int start = cb->args[0];
14711477
int idx = 0;
1472-
int err;
1478+
int err = 0;
14731479

14741480
mutex_lock(&devlink_mutex);
14751481
list_for_each_entry(devlink, &devlink_list, list) {
@@ -1494,6 +1500,9 @@ devlink_nl_cmd_sb_tc_pool_bind_get_dumpit(struct sk_buff *msg,
14941500
out:
14951501
mutex_unlock(&devlink_mutex);
14961502

1503+
if (err != -EMSGSIZE)
1504+
return err;
1505+
14971506
cb->args[0] = idx;
14981507
return msg->len;
14991508
}
@@ -3257,7 +3266,7 @@ static int devlink_nl_cmd_param_get_dumpit(struct sk_buff *msg,
32573266
struct devlink *devlink;
32583267
int start = cb->args[0];
32593268
int idx = 0;
3260-
int err;
3269+
int err = 0;
32613270

32623271
mutex_lock(&devlink_mutex);
32633272
list_for_each_entry(devlink, &devlink_list, list) {
@@ -3285,6 +3294,9 @@ static int devlink_nl_cmd_param_get_dumpit(struct sk_buff *msg,
32853294
out:
32863295
mutex_unlock(&devlink_mutex);
32873296

3297+
if (err != -EMSGSIZE)
3298+
return err;
3299+
32883300
cb->args[0] = idx;
32893301
return msg->len;
32903302
}
@@ -3513,7 +3525,7 @@ static int devlink_nl_cmd_port_param_get_dumpit(struct sk_buff *msg,
35133525
struct devlink *devlink;
35143526
int start = cb->args[0];
35153527
int idx = 0;
3516-
int err;
3528+
int err = 0;
35173529

35183530
mutex_lock(&devlink_mutex);
35193531
list_for_each_entry(devlink, &devlink_list, list) {
@@ -3546,6 +3558,9 @@ static int devlink_nl_cmd_port_param_get_dumpit(struct sk_buff *msg,
35463558
out:
35473559
mutex_unlock(&devlink_mutex);
35483560

3561+
if (err != -EMSGSIZE)
3562+
return err;
3563+
35493564
cb->args[0] = idx;
35503565
return msg->len;
35513566
}
@@ -4168,7 +4183,7 @@ static int devlink_nl_cmd_info_get_dumpit(struct sk_buff *msg,
41684183
struct devlink *devlink;
41694184
int start = cb->args[0];
41704185
int idx = 0;
4171-
int err;
4186+
int err = 0;
41724187

41734188
mutex_lock(&devlink_mutex);
41744189
list_for_each_entry(devlink, &devlink_list, list) {
@@ -4196,6 +4211,9 @@ static int devlink_nl_cmd_info_get_dumpit(struct sk_buff *msg,
41964211
}
41974212
mutex_unlock(&devlink_mutex);
41984213

4214+
if (err != -EMSGSIZE)
4215+
return err;
4216+
41994217
cb->args[0] = idx;
42004218
return msg->len;
42014219
}

0 commit comments

Comments
 (0)