mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
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: 941f19798a
("net/mlx5: DR, Add check for unsupported fields in match param")
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
9091b821aa
commit
455832d496
@ -924,11 +924,12 @@ 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]) {
|
||||
mlx5dr_dbg(dmn, "Match param mask contains unsupported parameters\n");
|
||||
ret = -EOPNOTSUPP;
|
||||
goto free_consumed_mask;
|
||||
}
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user