Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56a4f309 authored by Ilya Dryomov's avatar Ilya Dryomov
Browse files

crush: ensure take bucket value is valid



Ensure that the take argument is a valid bucket ID before indexing the
buckets array.

Reflects ceph.git commit 93ec538e8a667699876b72459b8ad78966d89c61.

Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Reviewed-by: default avatarSage Weil <sage@redhat.com>
parent f224a691
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -835,7 +835,8 @@ int crush_do_rule(const struct crush_map *map,
		case CRUSH_RULE_TAKE:
			if ((curstep->arg1 >= 0 &&
			     curstep->arg1 < map->max_devices) ||
			    (-1-curstep->arg1 < map->max_buckets &&
			    (-1-curstep->arg1 >= 0 &&
			     -1-curstep->arg1 < map->max_buckets &&
			     map->buckets[-1-curstep->arg1])) {
				w[0] = curstep->arg1;
				wsize = 1;