event/dlb2: fix QID inflight exploit
Checks
Commit Message
If QID inflights is set to an invalid value it can cause the
PMD to hang. This commit adds checks to make sure that the
value is valid before programming the hardware.
Fixes: 1857f1922ce2 ("event/dlb2: use new implementation of resource file")
Cc: stable@dpdk.org
Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
---
drivers/event/dlb2/pf/base/dlb2_resource.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Mon, Jun 6, 2022 at 9:33 PM Timothy McDaniel
<timothy.mcdaniel@intel.com> wrote:
>
> If QID inflights is set to an invalid value it can cause the
> PMD to hang. This commit adds checks to make sure that the
> value is valid before programming the hardware.
>
> Fixes: 1857f1922ce2 ("event/dlb2: use new implementation of resource file")
> Cc: stable@dpdk.org
>
> Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
Applied to dpdk-next-net-eventdev/for-main. Thanks
> ---
> drivers/event/dlb2/pf/base/dlb2_resource.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/event/dlb2/pf/base/dlb2_resource.c b/drivers/event/dlb2/pf/base/dlb2_resource.c
> index d4c49c2992..548bebd068 100644
> --- a/drivers/event/dlb2/pf/base/dlb2_resource.c
> +++ b/drivers/event/dlb2/pf/base/dlb2_resource.c
> @@ -3701,7 +3701,7 @@ dlb2_verify_create_ldb_queue_args(struct dlb2_hw *hw,
> }
> }
>
> - if (args->num_qid_inflights > 4096) {
> + if (args->num_qid_inflights < 1 || args->num_qid_inflights > 2048) {
> resp->status = DLB2_ST_INVALID_QID_INFLIGHT_ALLOCATION;
> return -EINVAL;
> }
> --
> 2.25.1
>
@@ -3701,7 +3701,7 @@ dlb2_verify_create_ldb_queue_args(struct dlb2_hw *hw,
}
}
- if (args->num_qid_inflights > 4096) {
+ if (args->num_qid_inflights < 1 || args->num_qid_inflights > 2048) {
resp->status = DLB2_ST_INVALID_QID_INFLIGHT_ALLOCATION;
return -EINVAL;
}