summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_dpa_offload
diff options
context:
space:
mode:
authorRadu Bulie <radu.bulie@freescale.com>2014-09-17 07:54:37 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:39:34 (GMT)
commita6ef2838a2fe289be7d9f9eb864701250153153b (patch)
tree32d2da15cf3dd6cc7d415201cb3756bfabeb2d65 /drivers/staging/fsl_dpa_offload
parentba5cce5bfefc14fa9f250bde96b071ab4a7556c1 (diff)
downloadlinux-fsl-qoriq-a6ef2838a2fe289be7d9f9eb864701250153153b.tar.xz
dpa_offload: Add fix for number of policies check
This patch adds an extra check for the number of policies defined per SA, limiting it to the maximum possible values from a ccnode Change-Id: I7ff1e9400e2357a53ee01d9f8d8ac5f15d3f8c40 Signed-off-by: Radu Bulie <radu.bulie@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/19120 Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com> Tested-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Diffstat (limited to 'drivers/staging/fsl_dpa_offload')
-rw-r--r--drivers/staging/fsl_dpa_offload/dpa_ipsec.c2
-rw-r--r--drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/staging/fsl_dpa_offload/dpa_ipsec.c b/drivers/staging/fsl_dpa_offload/dpa_ipsec.c
index 6570f9f..5171df4 100644
--- a/drivers/staging/fsl_dpa_offload/dpa_ipsec.c
+++ b/drivers/staging/fsl_dpa_offload/dpa_ipsec.c
@@ -518,7 +518,7 @@ static int create_inpol_cls_tbl(struct dpa_ipsec *dpa_ipsec,
memset(&params, 0, sizeof(params));
params.entry_mgmt = DPA_CLS_TBL_MANAGE_BY_REF;
params.type = DPA_CLS_TBL_EXACT_MATCH;
- params.exact_match_params.entries_cnt = DPA_IPSEC_MAX_IN_POL_PER_SA;
+ params.exact_match_params.entries_cnt = DPA_IPSEC_MAX_POL_PER_SA;
params.exact_match_params.key_size = dpa_ipsec->sa_mng.inpol_key_size;
params.exact_match_params.use_priorities = true;
params.cc_node = cc_node;
diff --git a/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c b/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c
index d157f95..34747d6 100644
--- a/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c
+++ b/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c
@@ -807,7 +807,7 @@ static int do_sa_get_policies_ioctl(void *args)
}
num_pol = prm.num_pol;
- if (num_pol <= 0) {
+ if (num_pol <= 0 || num_pol > DPA_IPSEC_MAX_POL_PER_SA) {
log_err("Invalid number of policies for SA ID# %d\n", sa_id);
return -EINVAL;
}
@@ -927,7 +927,7 @@ static int do_sa_get_policies_compat_ioctl(void *args)
}
num_pol = prm.num_pol;
- if (num_pol <= 0) {
+ if (num_pol <= 0 || num_pol > DPA_IPSEC_MAX_POL_PER_SA) {
log_err("Invalid number of policies for SA ID# %d\n", sa_id);
return -EINVAL;
}