Commit 455832d4 authored by Yevgeny Kliteynik's avatar Yevgeny Kliteynik Committed by Saeed Mahameed
Browse files

net/mlx5: DR, Fix check for unsupported fields in match param



The existing loop doesn't cast the buffer while scanning it, which
results in out-of-bounds read and failure to create the matcher.

Fixes: 941f1979 ("net/mlx5: DR, Add check for unsupported fields in match param")
Signed-off-by: default avatarYevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent 9091b821
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -924,12 +924,13 @@ static int dr_matcher_init(struct mlx5dr_matcher *matcher,

	/* Check that all mask data was consumed */
	for (i = 0; i < consumed_mask.match_sz; i++) {
		if (consumed_mask.match_buf[i]) {
		if (!((u8 *)consumed_mask.match_buf)[i])
			continue;

		mlx5dr_dbg(dmn, "Match param mask contains unsupported parameters\n");
		ret = -EOPNOTSUPP;
		goto free_consumed_mask;
	}
	}

	ret =  0;
free_consumed_mask: