|
@@ -189,8 +189,9 @@ static int ipv4_ping_group_range(struct ctl_table *table, int write,
|
|
|
if (write && ret == 0) {
|
|
if (write && ret == 0) {
|
|
|
low = make_kgid(user_ns, urange[0]);
|
|
low = make_kgid(user_ns, urange[0]);
|
|
|
high = make_kgid(user_ns, urange[1]);
|
|
high = make_kgid(user_ns, urange[1]);
|
|
|
- if (!gid_valid(low) || !gid_valid(high) ||
|
|
|
|
|
- (urange[1] < urange[0]) || gid_lt(high, low)) {
|
|
|
|
|
|
|
+ if (!gid_valid(low) || !gid_valid(high))
|
|
|
|
|
+ return -EINVAL;
|
|
|
|
|
+ if (urange[1] < urange[0] || gid_lt(high, low)) {
|
|
|
low = make_kgid(&init_user_ns, 1);
|
|
low = make_kgid(&init_user_ns, 1);
|
|
|
high = make_kgid(&init_user_ns, 0);
|
|
high = make_kgid(&init_user_ns, 0);
|
|
|
}
|
|
}
|